<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://playzone.in.ua/wiki/mc//index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B</id>
		<title>Классы - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://playzone.in.ua/wiki/mc//index.php?action=history&amp;feed=atom&amp;title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B"/>
		<link rel="alternate" type="text/html" href="https://playzone.in.ua/wiki/mc//index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B&amp;action=history"/>
		<updated>2026-04-23T02:46:52Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.28.3</generator>

	<entry>
		<id>https://playzone.in.ua/wiki/mc//index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B&amp;diff=2836&amp;oldid=prev</id>
		<title>Softer: 1 версия</title>
		<link rel="alternate" type="text/html" href="https://playzone.in.ua/wiki/mc//index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B&amp;diff=2836&amp;oldid=prev"/>
				<updated>2013-02-01T01:49:28Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style='vertical-align: top;' lang='ru'&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='1' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 01:49, 1 февраля 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='2' style='text-align: center;' lang='ru'&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Softer</name></author>	</entry>

	<entry>
		<id>https://playzone.in.ua/wiki/mc//index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B&amp;diff=2835&amp;oldid=prev</id>
		<title>Khand404: Категория</title>
		<link rel="alternate" type="text/html" href="https://playzone.in.ua/wiki/mc//index.php?title=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D1%8B&amp;diff=2835&amp;oldid=prev"/>
				<updated>2012-10-02T08:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;Категория&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Чтобы скомпилировать и использовать это класс, Ваш classpath должен включать путь к файлам ''LevelEditor.java'' и ''minecraft-server.jar''.&lt;br /&gt;
&lt;br /&gt;
 javac -classpath .:minecraft-server.jar LevelEditor.java&lt;br /&gt;
&lt;br /&gt;
 java -classpath .:minecraft-server.jar LevelEditor&lt;br /&gt;
или&lt;br /&gt;
 java -classpath .:minecraft-server.jar LevelEditor new_server_level.dat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 import java.io.*;&lt;br /&gt;
 import java.text.DateFormat;&lt;br /&gt;
 import java.util.zip.GZIPOutputStream;&lt;br /&gt;
 import java.util.zip.GZIPInputStream;&lt;br /&gt;
 &lt;br /&gt;
 public class LevelEditor {&lt;br /&gt;
 	private com.mojang.minecraft.level.Level level = null;&lt;br /&gt;
 &lt;br /&gt;
 	LevelEditor() {&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// load from file called filename&lt;br /&gt;
 	public void load(String filename) {&lt;br /&gt;
 		FileInputStream fis = null;&lt;br /&gt;
 		GZIPInputStream gzis = null;&lt;br /&gt;
 		ObjectInputStream in = null;&lt;br /&gt;
 		DataInputStream inputstream = null;&lt;br /&gt;
 		try {&lt;br /&gt;
 			fis = new FileInputStream(filename);&lt;br /&gt;
 			gzis = new GZIPInputStream(fis);&lt;br /&gt;
 			inputstream = new DataInputStream(gzis);&lt;br /&gt;
 			if((inputstream.readInt()) != 0x271bb788) {&lt;br /&gt;
 				return;&lt;br /&gt;
 			}&lt;br /&gt;
 			if((inputstream.readByte()) &amp;gt; 2) {&lt;br /&gt;
 				System.out.println(&amp;quot;Error: Level version &amp;gt; 2, this is unexpected!&amp;quot;);&lt;br /&gt;
 				return;&lt;br /&gt;
 			}&lt;br /&gt;
 			in = new ObjectInputStream(gzis);&lt;br /&gt;
 			level = (com.mojang.minecraft.level.Level)in.readObject();&lt;br /&gt;
 			inputstream.close();&lt;br /&gt;
 			in.close();&lt;br /&gt;
 			System.out.println(&amp;quot;Loading level &amp;quot;+filename+&amp;quot; successful&amp;quot;);&lt;br /&gt;
 		} catch(IOException ex) {&lt;br /&gt;
 			ex.printStackTrace();&lt;br /&gt;
 		} catch(ClassNotFoundException ex) {&lt;br /&gt;
 			ex.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 		level.initTransient();&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// save in file called filename&lt;br /&gt;
 	public void save(String filename) {&lt;br /&gt;
 		FileOutputStream fos = null;&lt;br /&gt;
 		GZIPOutputStream gzos = null;&lt;br /&gt;
 		ObjectOutputStream out = null;&lt;br /&gt;
 		DataOutputStream outputstream = null;&lt;br /&gt;
 		try {&lt;br /&gt;
 			fos = new FileOutputStream(filename);&lt;br /&gt;
 			gzos = new GZIPOutputStream(fos);&lt;br /&gt;
 			outputstream = new DataOutputStream(gzos);&lt;br /&gt;
 			outputstream.writeInt(0x271bb788);&lt;br /&gt;
 			outputstream.writeByte(2);&lt;br /&gt;
 			out = new ObjectOutputStream(gzos);&lt;br /&gt;
 			out.writeObject(level);&lt;br /&gt;
 			outputstream.close();&lt;br /&gt;
 			out.close();&lt;br /&gt;
 			System.out.println(&amp;quot;Saving level &amp;quot;+filename+&amp;quot; successful&amp;quot;);&lt;br /&gt;
 		} catch(IOException ex) {&lt;br /&gt;
 			ex.printStackTrace();&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// prints all there is to know about a level, except for the blocks data&lt;br /&gt;
 	public void printInfo() {&lt;br /&gt;
 		if (level == null) {&lt;br /&gt;
 			return;&lt;br /&gt;
 		}&lt;br /&gt;
 		System.out.println(&amp;quot;Level info:&amp;quot;);&lt;br /&gt;
 		System.out.println(&amp;quot;name: &amp;quot;+level.name);&lt;br /&gt;
 		System.out.println(&amp;quot;creator: &amp;quot;+level.creator);&lt;br /&gt;
 		System.out.println(&amp;quot;createTime: &amp;quot;+(DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL).format(level.createTime)));&lt;br /&gt;
 		System.out.println(&amp;quot;width: &amp;quot;+level.width);&lt;br /&gt;
 		System.out.println(&amp;quot;height: &amp;quot;+level.height);&lt;br /&gt;
 		System.out.println(&amp;quot;depth: &amp;quot;+level.depth);&lt;br /&gt;
 		System.out.println(&amp;quot;spawnpoint: [&amp;quot;+level.xSpawn+&amp;quot;,&amp;quot;+level.ySpawn+&amp;quot;,&amp;quot;+level.zSpawn+&amp;quot;]&amp;quot;);&lt;br /&gt;
 		System.out.println(&amp;quot;spawn rotation: &amp;quot;+level.rotSpawn);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// safe to use method, return value let's you know if anything was changed&lt;br /&gt;
 	public boolean setTile(int x, int y, int z, int t) {&lt;br /&gt;
 		if (&lt;br /&gt;
 			x &amp;gt;=0 &amp;amp;&amp;amp; x &amp;lt; level.width &amp;amp;&amp;amp;&lt;br /&gt;
 			y &amp;gt;=0 &amp;amp;&amp;amp; y &amp;lt; level.depth &amp;amp;&amp;amp;&lt;br /&gt;
 			z &amp;gt;=0 &amp;amp;&amp;amp; z &amp;lt; level.height &amp;amp;&amp;amp;&lt;br /&gt;
 			t &amp;gt;= 0 &amp;amp;&amp;amp; t &amp;lt;= 37&lt;br /&gt;
 		) {&lt;br /&gt;
 			if (t == 8 || t == 10) {&lt;br /&gt;
 				level.setTile(x,y,z,t);&lt;br /&gt;
 			} else if (t &amp;gt;= 0 &amp;amp;&amp;amp; t &amp;lt;= 18) {&lt;br /&gt;
 				level.setTileNoUpdate(x,y,z,t);&lt;br /&gt;
 			}&lt;br /&gt;
 			return true;&lt;br /&gt;
 		}&lt;br /&gt;
 		return false;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// gets you the level coordinates from the blocks array index&lt;br /&gt;
 	public int[] getCoords(int index) {&lt;br /&gt;
 		int x = index % width;&lt;br /&gt;
 		index = (index-x) / width;&lt;br /&gt;
 		int z = index % height;&lt;br /&gt;
 		int y = (index-z) / height;&lt;br /&gt;
 		return new int[] {x, y, z};&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void clearBlocks() {&lt;br /&gt;
 		for (int i=0; i&amp;lt;level.blocks.length; i++) {&lt;br /&gt;
 			level.blocks[i] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void floor(int y, int type) {&lt;br /&gt;
 		for (int i=0; i&amp;lt;level.width; i++) {&lt;br /&gt;
 		for (int j=0; j&amp;lt;level.height; j++) {&lt;br /&gt;
 			setTile(i,y,j,type);&lt;br /&gt;
 		}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void wallX(int x1, int x2, int z, int y, int height, int type) {&lt;br /&gt;
 		for (int i=x1; i&amp;lt;=x2; i++) {&lt;br /&gt;
 		for (int j=y; j&amp;lt;y+height; j++) {&lt;br /&gt;
 			if (!setTile(i,j,z,type)) {&lt;br /&gt;
 				System.out.println(&amp;quot;Warning: a tile got ignored while building a wallX: [&amp;quot;+i+&amp;quot;,&amp;quot;+j+&amp;quot;,&amp;quot;+z+&amp;quot;]&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void wallZ(int x, int z1, int z2, int y, int height, int type) {&lt;br /&gt;
 		for (int i=z1; i&amp;lt;=z2; i++) {&lt;br /&gt;
 		for (int j=y; j&amp;lt;y+height; j++) {&lt;br /&gt;
 			if (!setTile(x,j,i,type)) {&lt;br /&gt;
 				System.out.println(&amp;quot;Warning: a tile got ignored while building a wallZ: [&amp;quot;+x+&amp;quot;,&amp;quot;+j+&amp;quot;,&amp;quot;+i+&amp;quot;]&amp;quot;);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	// substitute all of block type 'from' to 'to' :) returning the number of blocks altered&lt;br /&gt;
 	public int substitute(byte from, byte to) {&lt;br /&gt;
 		int count=0;&lt;br /&gt;
 		for (int i=0; i&amp;lt;level.blocks.length; i++) {&lt;br /&gt;
 			if (level.blocks[i] == from) {&lt;br /&gt;
 				level.blocks[i] = to;&lt;br /&gt;
 				count++;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		return count;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public void setSize(int x, int y, int z) {&lt;br /&gt;
 		level.setData(x, y, z, new byte[x*y*z]);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	public static void main(String [] args) {&lt;br /&gt;
 		LevelEditor le = new LevelEditor();&lt;br /&gt;
 		String filename = &amp;quot;server_level.dat&amp;quot;;&lt;br /&gt;
 		if(args.length &amp;gt; 0) {&lt;br /&gt;
 			filename = args[0];&lt;br /&gt;
 			le.load(filename);&lt;br /&gt;
 			if (le.level == null) {&lt;br /&gt;
 				System.out.println(&amp;quot;Loading level &amp;quot;+filename+&amp;quot; failed&amp;quot;);&lt;br /&gt;
 				return;&lt;br /&gt;
 			}&lt;br /&gt;
 		} else {&lt;br /&gt;
 			le.level = new com.mojang.minecraft.level.Level();&lt;br /&gt;
 		}&lt;br /&gt;
 		// Do some fancy editing here&lt;br /&gt;
 &lt;br /&gt;
 		// set a custom size: 256 wide, 128 high, 512 length&lt;br /&gt;
 		le.setSize(256, 128, 512);&lt;br /&gt;
 &lt;br /&gt;
 		// first, let's clear out the field&lt;br /&gt;
 		le.clearBlocks();&lt;br /&gt;
 &lt;br /&gt;
 		// add a bunch of walls to fill the lower part of the level&lt;br /&gt;
 		for (int i=0; i&amp;lt;le.level.width; i++) {&lt;br /&gt;
 			le.wallX(0,le.level.height-1,i,0,(int)le.level.getWaterLevel()-1,3);&lt;br /&gt;
 		}&lt;br /&gt;
 		// lay the floor&lt;br /&gt;
 		le.floor((int)le.level.getWaterLevel()-1,2);&lt;br /&gt;
 &lt;br /&gt;
 		// let the level find a spawn location for us&lt;br /&gt;
 		le.level.findSpawn();&lt;br /&gt;
 &lt;br /&gt;
 		// Leave our fingerprint&lt;br /&gt;
 		le.level.creator = &amp;quot;Minecrafter&amp;quot;;&lt;br /&gt;
 		le.level.name = &amp;quot;A Custom World&amp;quot;;&lt;br /&gt;
 		le.level.createTime = System.currentTimeMillis();&lt;br /&gt;
 &lt;br /&gt;
 		le.save(filename);&lt;br /&gt;
 		le.printInfo();&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Класс ниже поможет Вам разобраться с кодировкой [[Блоки|блоков]] в байт-коде.&lt;br /&gt;
    public class Blocks &lt;br /&gt;
    {&lt;br /&gt;
   	public static final byte air 				= (byte)0;&lt;br /&gt;
   	public static final byte rock 				= (byte)1;&lt;br /&gt;
   	public static final byte grass 				= (byte)2;&lt;br /&gt;
   	public static final byte dirt 				= (byte)3;&lt;br /&gt;
   	public static final byte stone 				= (byte)4;&lt;br /&gt;
   	public static final byte wood 				= (byte)5;&lt;br /&gt;
   	public static final byte shrub 				= (byte)6;&lt;br /&gt;
   	public static final byte blackrock 			= (byte)7;&lt;br /&gt;
   	public static final byte water 				= (byte)8;&lt;br /&gt;
   	public static final byte waterstill 			= (byte)9;&lt;br /&gt;
   	public static final byte lava 				= (byte)10;&lt;br /&gt;
   	public static final byte lavastill 			= (byte)11;&lt;br /&gt;
   	public static final byte sand 				= (byte)12;&lt;br /&gt;
   	public static final byte gravel 			= (byte)13;&lt;br /&gt;
   	public static final byte goldrock 			= (byte)14;&lt;br /&gt;
   	public static final byte ironrock 			= (byte)15;&lt;br /&gt;
   	public static final byte coal 				= (byte)16;&lt;br /&gt;
   	public static final byte trunk 				= (byte)17;&lt;br /&gt;
   	public static final byte leaf 				= (byte)18;&lt;br /&gt;
   	public static final byte sponge 			= (byte)19;&lt;br /&gt;
   	public static final byte glass 				= (byte)20;&lt;br /&gt;
   	public static final byte red 				= (byte)21;&lt;br /&gt;
   	public static final byte orange 			= (byte)22;&lt;br /&gt;
   	public static final byte yellow 			= (byte)23;&lt;br /&gt;
   	public static final byte lightgreen 			= (byte)24;&lt;br /&gt;
   	public static final byte green 				= (byte)25;&lt;br /&gt;
   	public static final byte aquagreen 			= (byte)26;&lt;br /&gt;
   	public static final byte cyan 				= (byte)27;&lt;br /&gt;
   	public static final byte lightblue 			= (byte)28;&lt;br /&gt;
   	public static final byte blue 				= (byte)29;&lt;br /&gt;
   	public static final byte purple 			= (byte)30;&lt;br /&gt;
   	public static final byte lightpurple 			= (byte)31;&lt;br /&gt;
   	public static final byte pink 				= (byte)32;&lt;br /&gt;
   	public static final byte darkpink 			= (byte)33;&lt;br /&gt;
   	public static final byte darkgrey 			= (byte)34;&lt;br /&gt;
   	public static final byte lightgrey 			= (byte)35;&lt;br /&gt;
   	public static final byte white 				= (byte)36;&lt;br /&gt;
   	public static final byte yellowflower 			= (byte)37;&lt;br /&gt;
   	public static final byte redflower 			= (byte)38;&lt;br /&gt;
   	public static final byte mushroom 			= (byte)39;&lt;br /&gt;
   	public static final byte redmushroom 			= (byte)40;&lt;br /&gt;
   	public static final byte goldsolid 			= (byte)41;&lt;br /&gt;
   	public static final byte iron 				= (byte)42;&lt;br /&gt;
   	public static final byte staircasefull 			= (byte)43;&lt;br /&gt;
   	public static final byte staircasestep 			= (byte)44;&lt;br /&gt;
   	public static final byte brick 				= (byte)45;&lt;br /&gt;
   	public static final byte tnt 				= (byte)46;&lt;br /&gt;
   	public static final byte bookcase 			= (byte)47;&lt;br /&gt;
   	public static final byte stonevine 			= (byte)48;&lt;br /&gt;
   	public static final byte obsidian 			= (byte)49;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
[[Категория:Техническое]]&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>Khand404</name></author>	</entry>

	</feed>