diff --git a/.gradle/7.4.2/checksums/checksums.lock b/.gradle/7.4.2/checksums/checksums.lock index 9d2ee3b..fa79e32 100644 Binary files a/.gradle/7.4.2/checksums/checksums.lock and b/.gradle/7.4.2/checksums/checksums.lock differ diff --git a/.gradle/7.4.2/checksums/md5-checksums.bin b/.gradle/7.4.2/checksums/md5-checksums.bin new file mode 100644 index 0000000..ea66223 Binary files /dev/null and b/.gradle/7.4.2/checksums/md5-checksums.bin differ diff --git a/.gradle/7.4.2/checksums/sha1-checksums.bin b/.gradle/7.4.2/checksums/sha1-checksums.bin new file mode 100644 index 0000000..188cef9 Binary files /dev/null and b/.gradle/7.4.2/checksums/sha1-checksums.bin differ diff --git a/.gradle/7.4.2/executionHistory/executionHistory.bin b/.gradle/7.4.2/executionHistory/executionHistory.bin new file mode 100644 index 0000000..739dfec Binary files /dev/null and b/.gradle/7.4.2/executionHistory/executionHistory.bin differ diff --git a/.gradle/7.4.2/executionHistory/executionHistory.lock b/.gradle/7.4.2/executionHistory/executionHistory.lock index af6e3d8..03be7bb 100644 Binary files a/.gradle/7.4.2/executionHistory/executionHistory.lock and b/.gradle/7.4.2/executionHistory/executionHistory.lock differ diff --git a/.gradle/7.4.2/fileHashes/fileHashes.bin b/.gradle/7.4.2/fileHashes/fileHashes.bin new file mode 100644 index 0000000..5c59514 Binary files /dev/null and b/.gradle/7.4.2/fileHashes/fileHashes.bin differ diff --git a/.gradle/7.4.2/fileHashes/fileHashes.lock b/.gradle/7.4.2/fileHashes/fileHashes.lock index 40863d6..acad6c3 100644 Binary files a/.gradle/7.4.2/fileHashes/fileHashes.lock and b/.gradle/7.4.2/fileHashes/fileHashes.lock differ diff --git a/.gradle/7.4.2/fileHashes/resourceHashesCache.bin b/.gradle/7.4.2/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..ed2e076 Binary files /dev/null and b/.gradle/7.4.2/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index b8913a9..34d6c05 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..fb6b686 Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/CREDITS b/CREDITS old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/src/main/java/com/mojang/comm/SocketConnection.java b/src/main/java/com/mojang/comm/SocketConnection.java new file mode 100644 index 0000000..e80d1e5 --- /dev/null +++ b/src/main/java/com/mojang/comm/SocketConnection.java @@ -0,0 +1,151 @@ +package com.mojang.comm; + +import com.mojang.minecraft.net.ConnectionManager; +import com.mojang.minecraft.net.Packet; +import java.io.IOException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.nio.ByteBuffer; +import java.nio.channels.SocketChannel; +import java.util.Arrays; + +public final class SocketConnection { + public volatile boolean connected; + public SocketChannel socketChannel = SocketChannel.open(); + public ByteBuffer readBuffer = ByteBuffer.allocate(1048576); + public ByteBuffer writeBuffer = ByteBuffer.allocate(1048576); + public ConnectionManager manager; + private Socket socket; + private boolean initialized = false; + private byte[] stringPacket = new byte[64]; + + public SocketConnection(String var1, int var2) throws IOException { + this.socketChannel.connect(new InetSocketAddress(var1, var2)); + this.socketChannel.configureBlocking(false); + System.currentTimeMillis(); + this.socket = this.socketChannel.socket(); + this.connected = true; + this.readBuffer.clear(); + this.writeBuffer.clear(); + this.socket.setTcpNoDelay(true); + this.socket.setTrafficClass(24); + this.socket.setKeepAlive(false); + this.socket.setReuseAddress(false); + this.socket.setSoTimeout(100); + this.socket.getInetAddress().toString(); + } + + public final void disconnect() { + try { + if(this.writeBuffer.position() > 0) { + this.writeBuffer.flip(); + this.socketChannel.write(this.writeBuffer); + this.writeBuffer.compact(); + } + } catch (Exception var2) { + } + + this.connected = false; + + try { + this.socketChannel.close(); + } catch (Exception var1) { + } + + this.socket = null; + this.socketChannel = null; + } + + public final void sendPacket(Packet var1, Object... var2) { + if(this.connected) { + this.writeBuffer.put(var1.id); + + for(int var3 = 0; var3 < var2.length; ++var3) { + Class var10001 = var1.fields[var3]; + Object var6 = var2[var3]; + Class var5 = var10001; + SocketConnection var4 = this; + if(this.connected) { + try { + if(var5 == Long.TYPE) { + var4.writeBuffer.putLong(((Long)var6).longValue()); + } else if(var5 == Integer.TYPE) { + var4.writeBuffer.putInt(((Number)var6).intValue()); + } else if(var5 == Short.TYPE) { + var4.writeBuffer.putShort(((Number)var6).shortValue()); + } else if(var5 == Byte.TYPE) { + var4.writeBuffer.put(((Number)var6).byteValue()); + } else if(var5 == Double.TYPE) { + var4.writeBuffer.putDouble(((Double)var6).doubleValue()); + } else if(var5 == Float.TYPE) { + var4.writeBuffer.putFloat(((Float)var6).floatValue()); + } else { + byte[] var8; + if(var5 != String.class) { + if(var5 == byte[].class) { + var8 = (byte[])((byte[])var6); + if(var8.length < 1024) { + var8 = Arrays.copyOf(var8, 1024); + } + + var4.writeBuffer.put(var8); + } + } else { + var8 = ((String)var6).getBytes("UTF-8"); + Arrays.fill(var4.stringPacket, (byte)32); + + int var9; + for(var9 = 0; var9 < 64 && var9 < var8.length; ++var9) { + var4.stringPacket[var9] = var8[var9]; + } + + for(var9 = var8.length; var9 < 64; ++var9) { + var4.stringPacket[var9] = 32; + } + + var4.writeBuffer.put(var4.stringPacket); + } + } + } catch (Exception var7) { + this.manager.disconnect(var7); + } + } + } + + } + } + + public Object read(Class var1) { + if(!this.connected) { + return null; + } else { + try { + if(var1 == Long.TYPE) { + return Long.valueOf(this.readBuffer.getLong()); + } else if(var1 == Integer.TYPE) { + return Integer.valueOf(this.readBuffer.getInt()); + } else if(var1 == Short.TYPE) { + return Short.valueOf(this.readBuffer.getShort()); + } else if(var1 == Byte.TYPE) { + return Byte.valueOf(this.readBuffer.get()); + } else if(var1 == Double.TYPE) { + return Double.valueOf(this.readBuffer.getDouble()); + } else if(var1 == Float.TYPE) { + return Float.valueOf(this.readBuffer.getFloat()); + } else if(var1 == String.class) { + this.readBuffer.get(this.stringPacket); + return (new String(this.stringPacket, "UTF-8")).trim(); + } else if(var1 == byte[].class) { + byte[] var3 = new byte[1024]; + this.readBuffer.get(var3); + return var3; + } else { + return null; + } + } catch (Exception var2) { + this.manager.disconnect(var2); + return null; + } + } + } +} diff --git a/src/main/java/com/mojang/minecraft/BackgroundDownloader.java b/src/main/java/com/mojang/minecraft/BackgroundDownloader.java new file mode 100644 index 0000000..49e345a --- /dev/null +++ b/src/main/java/com/mojang/minecraft/BackgroundDownloader.java @@ -0,0 +1,112 @@ +package com.mojang.minecraft; + +import com.mojang.minecraft.sound.SoundManager; +import java.io.BufferedReader; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.URL; +import java.util.ArrayList; + +public final class BackgroundDownloader extends Thread { + private File resourcesFolder; + private Minecraft minecraft; + boolean closing = false; + + public BackgroundDownloader(File var1, Minecraft var2) { + this.minecraft = var2; + this.setName("Resource download thread"); + this.setDaemon(true); + this.resourcesFolder = new File(var1, "resources/"); + if(!this.resourcesFolder.exists() && !this.resourcesFolder.mkdirs()) { + throw new RuntimeException("The working directory could not be created: " + this.resourcesFolder); + } + } + + public final void run() { + try { + ArrayList var1 = new ArrayList(); + URL var2 = new URL("http://www.minecraft.net/resources/"); + BufferedReader var3 = new BufferedReader(new InputStreamReader(var2.openStream())); + String var4 = null; + + while(true) { + var4 = var3.readLine(); + if(var4 == null) { + var3.close(); + + for(int var11 = 0; var11 < var1.size(); ++var11) { + String var6 = (String)var1.get(var11); + URL var5 = var2; + BackgroundDownloader var12 = this; + + try { + label58: { + String[] var16 = var6.split(","); + String var7 = var16[0]; + int var8 = Integer.parseInt(var16[1]); + Long.parseLong(var16[2]); + File var17 = new File(var12.resourcesFolder, var7); + String var19; + if(!var17.exists() || var17.length() != (long)var8) { + var17.getParentFile().mkdirs(); + var19 = var7.replaceAll(" ", "%20"); + var12.downloadResource(new URL(var5, var19), var17); + if(var12.closing) { + break label58; + } + } + + Minecraft var13 = var12.minecraft; + int var18 = var7.indexOf("/"); + var19 = var7.substring(0, var18); + String var14 = var7.substring(var18 + 1); + if(var19.equalsIgnoreCase("sound")) { + SoundManager var15 = var13.soundManager; + var15.registerSound(var17, var14); + } else if(var19.equalsIgnoreCase("music")) { + var13.soundManager.registerMusic(var14, var17); + } + } + } catch (Exception var9) { + var9.printStackTrace(); + } + + if(this.closing) { + return; + } + } + + return; + } + + var1.add(var4); + } + } catch (IOException var10) { + var10.printStackTrace(); + } + } + + private void downloadResource(URL var1, File var2) throws IOException { + System.out.println("Downloading " + var1); + byte[] var3 = new byte[4096]; + DataInputStream var5 = new DataInputStream(var1.openStream()); + DataOutputStream var6 = new DataOutputStream(new FileOutputStream(var2)); + boolean var4 = false; + + do { + int var7 = var5.read(var3); + if(var7 < 0) { + var5.close(); + var6.close(); + return; + } + + var6.write(var3, 0, var7); + } while(!this.closing); + + } +} diff --git a/src/main/java/com/mojang/minecraft/ChatLine.java b/src/main/java/com/mojang/minecraft/ChatLine.java new file mode 100644 index 0000000..05f5e2a --- /dev/null +++ b/src/main/java/com/mojang/minecraft/ChatLine.java @@ -0,0 +1,11 @@ +package com.mojang.minecraft; + +public final class ChatLine { + public String message; + public int counter; + + public ChatLine(String var1) { + this.message = var1; + this.counter = 0; + } +} diff --git a/src/main/java/com/mojang/minecraft/Entity.java b/src/main/java/com/mojang/minecraft/Entity.java new file mode 100644 index 0000000..e1563e1 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/Entity.java @@ -0,0 +1,266 @@ +package com.mojang.minecraft; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.liquid.Liquid; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.net.PlayerMove; +import com.mojang.minecraft.phys.AABB; +import com.mojang.minecraft.renderer.Textures; +import java.io.Serializable; +import java.util.ArrayList; + +public class Entity implements Serializable { + public static final long serialVersionUID = 0L; + protected Level level; + public float xo; + public float yo; + public float zo; + public float x; + public float y; + public float z; + public float xd; + public float yd; + public float zd; + public float yRot; + public float xRot; + public float yRotO; + public float xRotO; + public AABB bb; + public boolean onGround = false; + public boolean horizontalCollision = false; + public boolean removed = false; + public float heightOffset = 0.0F; + protected float bbWidth = 0.6F; + public float bbHeight = 1.8F; + private float walkDist = 0.0F; + public boolean makeStepSound = true; + + public Entity(Level var1) { + this.level = var1; + this.setPos(0.0F, 0.0F, 0.0F); + } + + protected void resetPos() { + if(this.level != null) { + float var1 = (float)this.level.xSpawn + 0.5F; + float var2 = (float)this.level.ySpawn; + + for(float var3 = (float)this.level.zSpawn + 0.5F; var2 > 0.0F; ++var2) { + this.setPos(var1, var2, var3); + if(this.level.getCubes(this.bb).size() == 0) { + break; + } + } + + this.xd = this.yd = this.zd = 0.0F; + this.yRot = this.level.rotSpawn; + this.xRot = 0.0F; + } + } + + public void remove() { + this.removed = true; + } + + public void setSize(float var1, float var2) { + this.bbWidth = var1; + this.bbHeight = var2; + } + + public void setPos(PlayerMove var1) { + if(var1.moving) { + this.setPos(var1.x, var1.y, var1.z); + } else { + this.setPos(this.x, this.y, this.z); + } + + if(var1.rotating) { + this.setRot(var1.yRot, var1.xRot); + } else { + this.setRot(this.yRot, this.xRot); + } + } + + protected void setRot(float var1, float var2) { + this.yRot = var1; + this.xRot = var2; + } + + public void setPos(float var1, float var2, float var3) { + this.x = var1; + this.y = var2; + this.z = var3; + float var4 = this.bbWidth / 2.0F; + float var5 = this.bbHeight / 2.0F; + this.bb = new AABB(var1 - var4, var2 - var5, var3 - var4, var1 + var4, var2 + var5, var3 + var4); + } + + public void turn(float var1, float var2) { + float var3 = this.xRot; + float var4 = this.yRot; + this.yRot = (float)((double)this.yRot + (double)var1 * 0.15D); + this.xRot = (float)((double)this.xRot - (double)var2 * 0.15D); + if(this.xRot < -90.0F) { + this.xRot = -90.0F; + } + + if(this.xRot > 90.0F) { + this.xRot = 90.0F; + } + + this.xRotO += this.xRot - var3; + this.yRotO += this.yRot - var4; + } + + public void interpolateTurn(float var1, float var2) { + this.yRot = (float)((double)this.yRot + (double)var1 * 0.15D); + this.xRot = (float)((double)this.xRot - (double)var2 * 0.15D); + if(this.xRot < -90.0F) { + this.xRot = -90.0F; + } + + if(this.xRot > 90.0F) { + this.xRot = 90.0F; + } + + } + + public void tick() { + this.xo = this.x; + this.yo = this.y; + this.zo = this.z; + this.xRotO = this.xRot; + this.yRotO = this.yRot; + } + + public boolean isFree(float var1, float var2, float var3) { + AABB var4 = this.bb.cloneMove(var1, var2, var3); + ArrayList var5 = this.level.getCubes(var4); + return var5.size() > 0 ? false : !this.level.containsAnyLiquid(var4); + } + + public void move(float var1, float var2, float var3) { + float var4 = this.x; + float var5 = this.z; + float var6 = var1; + float var7 = var2; + float var8 = var3; + ArrayList var9 = this.level.getCubes(this.bb.expand(var1, var2, var3)); + + int var10; + for(var10 = 0; var10 < var9.size(); ++var10) { + var2 = ((AABB)var9.get(var10)).clipYCollide(this.bb, var2); + } + + this.bb.move(0.0F, var2, 0.0F); + + for(var10 = 0; var10 < var9.size(); ++var10) { + var1 = ((AABB)var9.get(var10)).clipXCollide(this.bb, var1); + } + + this.bb.move(var1, 0.0F, 0.0F); + + for(var10 = 0; var10 < var9.size(); ++var10) { + var3 = ((AABB)var9.get(var10)).clipZCollide(this.bb, var3); + } + + this.bb.move(0.0F, 0.0F, var3); + this.horizontalCollision = var6 != var1 || var8 != var3; + this.onGround = var7 != var2 && var7 < 0.0F; + if(var6 != var1) { + this.xd = 0.0F; + } + + if(var7 != var2) { + this.yd = 0.0F; + } + + if(var8 != var3) { + this.zd = 0.0F; + } + + this.x = (this.bb.x0 + this.bb.x1) / 2.0F; + this.y = this.bb.y0 + this.heightOffset; + this.z = (this.bb.z0 + this.bb.z1) / 2.0F; + float var13 = this.x - var4; + var1 = this.z - var5; + this.walkDist = (float)((double)this.walkDist + Math.sqrt((double)(var13 * var13 + var1 * var1)) * 0.6D); + if(this.makeStepSound) { + int var11 = this.level.getTile((int)this.x, (int)(this.y - 0.2F - this.heightOffset), (int)this.z); + if(this.walkDist > 1.0F && var11 > 0) { + Tile.SoundType var12 = Tile.tiles[var11].soundType; + if(var12 != Tile.SoundType.none) { + this.walkDist -= (float)((int)this.walkDist); + this.playSound("step." + var12.name, var12.getVolume() * (12.0F / 16.0F), var12.getPitch()); + } + } + } + + } + + public boolean isInWater() { + return this.level.containsLiquid(this.bb.grow(0.0F, -0.4F, 0.0F), Liquid.water); + } + + public boolean isInLava() { + return this.level.containsLiquid(this.bb.grow(0.0F, -0.4F, 0.0F), Liquid.lava); + } + + public void moveRelative(float var1, float var2, float var3) { + float var4 = (float)Math.sqrt((double)(var1 * var1 + var2 * var2)); + if(var4 >= 0.01F) { + if(var4 < 1.0F) { + var4 = 1.0F; + } + + var4 = var3 / var4; + var1 *= var4; + var2 *= var4; + var3 = (float)Math.sin((double)this.yRot * Math.PI / 180.0D); + var4 = (float)Math.cos((double)this.yRot * Math.PI / 180.0D); + this.xd += var1 * var4 - var2 * var3; + this.zd += var2 * var4 + var1 * var3; + } + } + + public boolean isLit() { + int var1 = (int)this.x; + int var2 = (int)this.y; + int var3 = (int)this.z; + return this.level.isLit(var1, var2, var3); + } + + public float getBrightness() { + int var1 = (int)this.x; + int var2 = (int)(this.y + this.heightOffset / 2.0F); + int var3 = (int)this.z; + return this.level.getBrightness(var1, var2, var3); + } + + public void render(Textures var1, float var2) { + } + + public void setLevel(Level var1) { + this.level = var1; + } + + public void playSound(String var1, float var2, float var3) { + this.level.playSound(var1, this, var2, var3); + } + + public void moveTo(float var1, float var2, float var3, float var4, float var5) { + this.xo = this.x = var1; + this.yo = this.y = var2; + this.zo = this.z = var3; + this.yRot = var4; + this.xRot = var5; + this.setPos(var1, var2, var3); + } + + public float distanceTo(Entity var1) { + float var2 = this.x - var1.x; + float var3 = this.y - var1.y; + float var4 = this.z - var1.z; + return (float)Math.sqrt((double)(var2 * var2 + var3 * var3 + var4 * var4)); + } +} diff --git a/src/main/java/com/mojang/minecraft/HitResult.java b/src/main/java/com/mojang/minecraft/HitResult.java new file mode 100644 index 0000000..c316875 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/HitResult.java @@ -0,0 +1,15 @@ +package com.mojang.minecraft; + +public final class HitResult { + public int x; + public int y; + public int z; + public int f; + + public HitResult(int var1, int var2, int var3, int var4, int var5) { + this.x = var2; + this.y = var3; + this.z = var4; + this.f = var5; + } +} diff --git a/src/main/java/com/mojang/minecraft/KeyBinding.java b/src/main/java/com/mojang/minecraft/KeyBinding.java new file mode 100644 index 0000000..5eed2a8 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/KeyBinding.java @@ -0,0 +1,11 @@ +package com.mojang.minecraft; + +public final class KeyBinding { + public String name; + public int key; + + public KeyBinding(String var1, int var2) { + this.name = var1; + this.key = var2; + } +} diff --git a/src/main/java/com/mojang/minecraft/Minecraft.java b/src/main/java/com/mojang/minecraft/Minecraft.java new file mode 100644 index 0000000..fee74b0 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/Minecraft.java @@ -0,0 +1,1233 @@ +package com.mojang.minecraft; + +import com.mojang.comm.SocketConnection; +import com.mojang.minecraft.character.Vec3; +import com.mojang.minecraft.character.Zombie; +import com.mojang.minecraft.character.ZombieModel; +import com.mojang.minecraft.gui.ChatScreen; +import com.mojang.minecraft.gui.ErrorScreen; +import com.mojang.minecraft.gui.Font; +import com.mojang.minecraft.gui.InGameHud; +import com.mojang.minecraft.gui.InventoryScreen; +import com.mojang.minecraft.gui.PauseScreen; +import com.mojang.minecraft.gui.Screen; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.LevelIO; +import com.mojang.minecraft.level.levelgen.LevelGen; +import com.mojang.minecraft.level.liquid.Liquid; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.net.ConnectionManager; +import com.mojang.minecraft.net.NetworkPlayer; +import com.mojang.minecraft.net.Packet; +import com.mojang.minecraft.particle.ParticleEngine; +import com.mojang.minecraft.phys.AABB; +import com.mojang.minecraft.player.Inventory; +import com.mojang.minecraft.player.MovementInputFromOptions; +import com.mojang.minecraft.player.Player; +import com.mojang.minecraft.renderer.Chunk; +import com.mojang.minecraft.renderer.DirtyChunkSorter; +import com.mojang.minecraft.renderer.Frustum; +import com.mojang.minecraft.renderer.LevelRenderer; +import com.mojang.minecraft.renderer.RenderHelper; +import com.mojang.minecraft.renderer.Textures; +import com.mojang.minecraft.renderer.texture.TextureFX; +import com.mojang.minecraft.renderer.texture.TextureLavaFX; +import com.mojang.minecraft.renderer.texture.TextureWaterFX; +import com.mojang.minecraft.sound.SoundManager; +import com.mojang.minecraft.sound.SoundPlayer; +import java.awt.AWTException; +import java.awt.Canvas; +import java.awt.Component; +import java.awt.MouseInfo; +import java.awt.Point; +import java.awt.Robot; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.IntBuffer; +import java.util.Iterator; +import java.util.TreeSet; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.swing.JOptionPane; +import org.lwjgl.BufferUtils; +import org.lwjgl.LWJGLException; +import org.lwjgl.input.Controllers; +import org.lwjgl.input.Cursor; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.Display; +import org.lwjgl.opengl.DisplayMode; +import org.lwjgl.opengl.GL11; +import org.lwjgl.util.glu.GLU; + +public final class Minecraft implements Runnable { + private boolean fullscreen = false; + public int width; + public int height; + private Timer timer = new Timer(20.0F); + public Level level; + public LevelRenderer levelRenderer; + public Player player; + public ParticleEngine particleEngine; + public User user = null; + public String minecraftUri; + public Canvas parent; + public boolean appletMode = false; + public volatile boolean pause = false; + private Cursor emptyCursor; + public Textures textures; + public Font font; + public int editMode = 0; + public Screen screen = null; + public ProgressListener loadingScreen = new ProgressListener(this); + public RenderHelper renderHelper = new RenderHelper(this); + public LevelIO levelIo = new LevelIO(this.loadingScreen); + private LevelGen levelGen = new LevelGen(this.loadingScreen); + public SoundManager soundManager = new SoundManager(); + private BackgroundDownloader backgroundDownloader; + private int ticksRan = 0; + public String loadMapUser = null; + public int loadMapId = 0; + public Robot robot; + public InGameHud hud; + public boolean hideGui = false; + public ZombieModel playerModel = new ZombieModel(); + public ConnectionManager connectionManager; + public SoundPlayer soundPlayer; + public HitResult hitResult = null; + public Options options; + String server = null; + int port = 0; + volatile boolean running = false; + public String fpsString = ""; + public boolean mouseGrabbed = false; + private int prevFrameTime = 0; + + public Minecraft(Canvas var1, int var2, int var3, boolean var4) { + new SleepThread(this); + this.parent = var1; + this.width = var2; + this.height = var3; + this.fullscreen = false; + this.textures = new Textures(); + this.textures.registerTextureFX(new TextureLavaFX()); + this.textures.registerTextureFX(new TextureWaterFX()); + if(var1 != null) { + try { + this.robot = new Robot(); + return; + } catch (AWTException var5) { + var5.printStackTrace(); + } + } + + } + + public final void setScreen(Screen var1) { + if(!(this.screen instanceof ErrorScreen)) { + if(this.screen != null) { + this.screen.closeScreen(); + } + + this.screen = var1; + if(var1 != null) { + if(this.mouseGrabbed) { + this.player.releaseAllKeys(); + this.mouseGrabbed = false; + if(this.appletMode) { + try { + Mouse.setNativeCursor((Cursor)null); + } catch (LWJGLException var4) { + var4.printStackTrace(); + } + } else { + Mouse.setGrabbed(false); + } + } + + int var2 = this.width * 240 / this.height; + int var3 = this.height * 240 / this.height; + var1.init(this, var2, var3); + this.hideGui = false; + } else { + this.grabMouse(); + } + } + } + + private static void checkGlError(String var0) { + int var1 = GL11.glGetError(); + if(var1 != 0) { + String var2 = GLU.gluErrorString(var1); + System.out.println("########## GL ERROR ##########"); + System.out.println("@ " + var0); + System.out.println(var1 + ": " + var2); + System.exit(0); + } + + } + + public final void destroy() { + try { + if(this.soundPlayer != null) { + SoundPlayer var1 = this.soundPlayer; + var1.running = false; + } + + if(this.backgroundDownloader != null) { + BackgroundDownloader var4 = this.backgroundDownloader; + var4.closing = true; + } + } catch (Exception var3) { + } + + Minecraft var5 = this; + if(!this.appletMode) { + try { + LevelIO.save(var5.level, new FileOutputStream(new File("level.dat"))); + } catch (Exception var2) { + var2.printStackTrace(); + } + } + + Mouse.destroy(); + Keyboard.destroy(); + Display.destroy(); + } + + public final void run() { + this.running = true; + + try { + Minecraft var4 = this; + if(this.parent != null) { + Display.setParent(this.parent); + } else if(this.fullscreen) { + Display.setFullscreen(true); + this.width = Display.getDisplayMode().getWidth(); + this.height = Display.getDisplayMode().getHeight(); + } else { + Display.setDisplayMode(new DisplayMode(this.width, this.height)); + } + + Display.setTitle("Minecraft 0.0.23a_01"); + + try { + Display.create(); + } catch (LWJGLException var38) { + var38.printStackTrace(); + + try { + Thread.sleep(1000L); + } catch (InterruptedException var37) { + } + + Display.create(); + } + + Keyboard.create(); + Mouse.create(); + + try { + Controllers.create(); + } catch (Exception var36) { + var36.printStackTrace(); + } + + checkGlError("Pre startup"); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glClearDepth(1.0D); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthFunc(GL11.GL_LEQUAL); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glAlphaFunc(GL11.GL_GREATER, 0.0F); + GL11.glCullFace(GL11.GL_BACK); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + checkGlError("Startup"); + this.font = new Font("/default.png", this.textures); + IntBuffer var7 = BufferUtils.createIntBuffer(256); + var7.clear().limit(256); + GL11.glViewport(0, 0, this.width, this.height); + if(this.server != null && this.user != null) { + this.level = null; + } else { + boolean var8 = false; + + try { + if(var4.loadMapUser != null) { + var8 = var4.loadLevel(var4.loadMapUser, var4.loadMapId); + } else if(!var4.appletMode) { + Level var9 = null; + var9 = var4.levelIo.load(new FileInputStream(new File("level.dat"))); + var8 = var9 != null; + if(!var8) { + var9 = var4.levelIo.loadLegacy(new FileInputStream(new File("level.dat"))); + } + + var8 = var9 != null; + if(var8) { + var4.setLevel(var9); + } + } + } catch (Exception var35) { + var35.printStackTrace(); + var8 = false; + } + + if(!var8) { + this.generateLevel(1); + } + } + + this.levelRenderer = new LevelRenderer(this.textures); + this.particleEngine = new ParticleEngine(this.level, this.textures); + String var11 = "minecraft"; + String var12 = System.getProperty("user.home", "."); + int[] var10000 = OSMap.osValues; + String var15 = System.getProperty("os.name").toLowerCase(); + File var13; + switch(var10000[(var15.contains("win") ? Minecraft.OS.windows : (var15.contains("mac") ? Minecraft.OS.macos : (var15.contains("solaris") ? Minecraft.OS.solaris : (var15.contains("sunos") ? Minecraft.OS.solaris : (var15.contains("linux") ? Minecraft.OS.linux : (var15.contains("unix") ? Minecraft.OS.linux : Minecraft.OS.unknown)))))).ordinal()]) { + case 1: + case 2: + var13 = new File(var12, '.' + var11 + '/'); + break; + case 3: + String var14 = System.getenv("APPDATA"); + if(var14 != null) { + var13 = new File(var14, "." + var11 + '/'); + } else { + var13 = new File(var12, '.' + var11 + '/'); + } + break; + case 4: + var13 = new File(var12, "Library/Application Support/" + var11); + break; + default: + var13 = new File(var12, var11 + '/'); + } + + if(!var13.exists() && !var13.mkdirs()) { + throw new RuntimeException("The working directory could not be created: " + var13); + } + + File var52 = var13; + this.options = new Options(this, var13); + this.player = new Player(this.level, new MovementInputFromOptions(this.options)); + this.player.resetPos(); + if(this.level != null) { + this.setLevel(this.level); + } + + if(this.appletMode) { + try { + var4.emptyCursor = new Cursor(16, 16, 0, 0, 1, var7, (IntBuffer)null); + } catch (LWJGLException var34) { + var34.printStackTrace(); + } + } + + try { + var4.soundPlayer = new SoundPlayer(var4.options); + SoundPlayer var10 = var4.soundPlayer; + + try { + AudioFormat var58 = new AudioFormat(44100.0F, 16, 2, true, true); + var10.dataLine = AudioSystem.getSourceDataLine(var58); + var10.dataLine.open(var58, 4410); + var10.dataLine.start(); + var10.running = true; + Thread var63 = new Thread(var10); + var63.setDaemon(true); + var63.setPriority(10); + var63.start(); + } catch (Exception var32) { + var32.printStackTrace(); + var10.running = false; + } + + var4.backgroundDownloader = new BackgroundDownloader(var52, var4); + var4.backgroundDownloader.start(); + } catch (Exception var33) { + } + + checkGlError("Post startup"); + this.hud = new InGameHud(this, this.width, this.height); + if(this.server != null && this.user != null) { + this.connectionManager = new ConnectionManager(this, this.server, this.port, this.user.name, this.user.mpPass); + } + } catch (Exception var43) { + var43.printStackTrace(); + JOptionPane.showMessageDialog((Component)null, var43.toString(), "Failed to start Minecraft", 0); + return; + } + + long var1 = System.currentTimeMillis(); + int var3 = 0; + + try { + while(this.running) { + if(this.pause) { + Thread.sleep(100L); + } else { + if(this.parent == null && Display.isCloseRequested()) { + this.running = false; + } + + try { + Timer var44 = this.timer; + long var49 = System.currentTimeMillis(); + long var53 = var49 - var44.lastSyncSysClock; + long var59 = System.nanoTime() / 1000000L; + double var73; + if(var53 > 1000L) { + long var71 = var59 - var44.lastSyncHRClock; + var73 = (double)var53 / (double)var71; + var44.timeSyncAdjustment += (var73 - var44.timeSyncAdjustment) * (double)0.2F; + var44.lastSyncSysClock = var49; + var44.lastSyncHRClock = var59; + } + + if(var53 < 0L) { + var44.lastSyncSysClock = var49; + var44.lastSyncHRClock = var59; + } + + double var74 = (double)var59 / 1000.0D; + var73 = (var74 - var44.lastHRTime) * var44.timeSyncAdjustment; + var44.lastHRTime = var74; + if(var73 < 0.0D) { + var73 = 0.0D; + } + + if(var73 > 1.0D) { + var73 = 1.0D; + } + + var44.fps = (float)((double)var44.fps + var73 * (double)var44.timeScale * (double)var44.ticksPerSecond); + var44.ticks = (int)var44.fps; + if(var44.ticks > 100) { + var44.ticks = 100; + } + + var44.fps -= (float)var44.ticks; + var44.a = var44.fps; + + for(int var45 = 0; var45 < this.timer.ticks; ++var45) { + ++this.ticksRan; + this.tick(); + } + + checkGlError("Pre render"); + float var50 = this.timer.a; + RenderHelper var46 = this.renderHelper; + if(var46.displayActive && !Display.isActive()) { + var46.a.pauseGame(); + } + + var46.displayActive = Display.isActive(); + int var54; + int var56; + int var61; + int var66; + if(var46.a.mouseGrabbed) { + var54 = 0; + var56 = 0; + if(var46.a.appletMode) { + if(var46.a.parent != null) { + Point var55 = var46.a.parent.getLocationOnScreen(); + var61 = var55.x + var46.a.width / 2; + var66 = var55.y + var46.a.height / 2; + Point var75 = MouseInfo.getPointerInfo().getLocation(); + var54 = var75.x - var61; + var56 = -(var75.y - var66); + var46.a.robot.mouseMove(var61, var66); + } else { + Mouse.setCursorPosition(var46.a.width / 2, var46.a.height / 2); + } + } else { + var54 = Mouse.getDX(); + var56 = Mouse.getDY(); + } + + byte var57 = 1; + if(var46.a.options.invertMouse) { + var57 = -1; + } + + var46.a.player.turn((float)var54, (float)(var56 * var57)); + } + + if(!var46.a.hideGui) { + var54 = var46.a.width * 240 / var46.a.height; + var56 = var46.a.height * 240 / var46.a.height; + int var60 = Mouse.getX() * var54 / var46.a.width; + var61 = var56 - Mouse.getY() * var56 / var46.a.height - 1; + if(var46.a.level != null) { + Player var16 = var46.a.player; + Level var5 = var46.a.level; + LevelRenderer var6 = var46.a.levelRenderer; + ParticleEngine var51 = var46.a.particleEngine; + GL11.glViewport(0, 0, var46.a.width, var46.a.height); + Level var67 = var46.a.level; + Player var76 = var46.a.player; + float var17 = 1.0F / (float)(4 - var46.a.options.renderDistance); + var17 = (float)Math.pow((double)var17, 0.25D); + var46.fogColorRed = 0.6F * (1.0F - var17) + var17; + var46.fogColorGreen = 0.8F * (1.0F - var17) + var17; + var46.fogColorBlue = 1.0F * (1.0F - var17) + var17; + var46.fogColorRed *= var46.fogColorMultiplier; + var46.fogColorGreen *= var46.fogColorMultiplier; + var46.fogColorBlue *= var46.fogColorMultiplier; + Tile var18 = Tile.tiles[var67.getTile((int)var76.x, (int)(var76.y + 0.12F), (int)var76.z)]; + if(var18 != null && var18.getLiquidType() != Liquid.none) { + Liquid var19 = var18.getLiquidType(); + if(var19 == Liquid.water) { + var46.fogColorRed = 0.02F; + var46.fogColorGreen = 0.02F; + var46.fogColorBlue = 0.2F; + } else if(var19 == Liquid.lava) { + var46.fogColorRed = 0.6F; + var46.fogColorGreen = 0.1F; + var46.fogColorBlue = 0.0F; + } + } + + GL11.glClearColor(var46.fogColorRed, var46.fogColorGreen, var46.fogColorBlue, 0.0F); + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); + var76 = var46.a.player; + var17 = var76.xRotO + (var76.xRot - var76.xRotO) * var50; + float var80 = var76.yRotO + (var76.yRot - var76.yRotO) * var50; + float var83 = var76.xo + (var76.x - var76.xo) * var50; + float var62 = var76.yo + (var76.y - var76.yo) * var50; + float var69 = var76.zo + (var76.z - var76.zo) * var50; + Vec3 var64 = new Vec3(var83, var62, var69); + var69 = (float)Math.cos((double)(-var80) * Math.PI / 180.0D + Math.PI); + float var77 = (float)Math.sin((double)(-var80) * Math.PI / 180.0D + Math.PI); + var80 = (float)Math.cos((double)(-var17) * Math.PI / 180.0D); + var17 = (float)Math.sin((double)(-var17) * Math.PI / 180.0D); + var77 *= var80; + var69 *= var80; + var80 = 5.0F; + float var10001 = var77 * var80; + float var10002 = var17 * var80; + var80 = var69 * var80; + var17 = var10002; + var77 = var10001; + Vec3 var70 = new Vec3(var64.x + var77, var64.y + var17, var64.z + var80); + var46.a.hitResult = var46.a.level.clip(var64, var70); + var46.fogColorMultiplier = 1.0F; + var46.renderDistance = (float)(512 >> (var46.a.options.renderDistance << 1)); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GLU.gluPerspective(70.0F, (float)var46.a.width / (float)var46.a.height, 0.05F, var46.renderDistance); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + Player var84 = var46.a.player; + GL11.glTranslatef(0.0F, 0.0F, -0.3F); + GL11.glRotatef(var84.xRotO + (var84.xRot - var84.xRotO) * var50, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(var84.yRotO + (var84.yRot - var84.yRotO) * var50, 0.0F, 1.0F, 0.0F); + var83 = var84.xo + (var84.x - var84.xo) * var50; + var62 = var84.yo + (var84.y - var84.yo) * var50; + var69 = var84.zo + (var84.z - var84.zo) * var50; + GL11.glTranslatef(-var83, -var62, -var69); + GL11.glEnable(GL11.GL_CULL_FACE); + Frustum var68 = Frustum.getFrustum(); + Frustum var72 = var68; + LevelRenderer var65 = var46.a.levelRenderer; + + int var79; + for(var79 = 0; var79 < var65.f.length; ++var79) { + var65.f[var79].isInFrustum(var72); + } + + var65 = var46.a.levelRenderer; + TreeSet var81 = new TreeSet(new DirtyChunkSorter(var16)); + var81.addAll(var65.e); + int var82 = 4; + Iterator var85 = var81.iterator(); + + while(var85.hasNext()) { + Chunk var86 = (Chunk)var85.next(); + var86.rebuild(); + var65.e.remove(var86); + --var82; + if(var82 == 0) { + break; + } + } + + boolean var47 = var5.isSolid(var16.x, var16.y, var16.z, 0.1F); + var46.setupFog(); + GL11.glEnable(GL11.GL_FOG); + var6.render(var16, 0); + int var48; + if(var47) { + var48 = (int)var16.x; + var56 = (int)var16.y; + var66 = (int)var16.z; + + for(var79 = var48 - 1; var79 <= var48 + 1; ++var79) { + for(var82 = var56 - 1; var82 <= var56 + 1; ++var82) { + for(int var87 = var66 - 1; var87 <= var66 + 1; ++var87) { + var6.render(var79, var82, var87); + } + } + } + } + + var46.toggleLight(true); + var6.renderEntities(var68, var50); + var46.toggleLight(false); + var46.setupFog(); + var51.render(var16, var50); + GL11.glCallList(var6.surroundLists); + GL11.glDisable(GL11.GL_LIGHTING); + var46.setupFog(); + var6.renderClouds(var50); + var46.setupFog(); + GL11.glEnable(GL11.GL_LIGHTING); + if(var46.a.hitResult != null) { + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_ALPHA_TEST); + var6.renderHit(var16, var46.a.hitResult, var46.a.editMode, var16.inventory.getSelected()); + LevelRenderer.renderHitOutline(var46.a.hitResult, var46.a.editMode); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_LIGHTING); + } + + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + var46.setupFog(); + GL11.glCallList(var6.surroundLists + 1); + GL11.glEnable(GL11.GL_BLEND); + GL11.glColorMask(false, false, false, false); + var48 = var6.render(var16, 1); + GL11.glColorMask(true, true, true, true); + if(var48 > 0) { + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var6.textures.getTextureId("/terrain.png")); + GL11.glCallLists(var6.d); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + + GL11.glDepthMask(true); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_FOG); + GL11.glDisable(GL11.GL_TEXTURE_2D); + if(var46.a.hitResult != null) { + GL11.glDepthFunc(GL11.GL_LESS); + GL11.glDisable(GL11.GL_ALPHA_TEST); + var6.renderHit(var16, var46.a.hitResult, var46.a.editMode, var16.inventory.getSelected()); + LevelRenderer.renderHitOutline(var46.a.hitResult, var46.a.editMode); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } + + var46.a.hud.render(var46.a.screen != null, var60, var61); + } else { + GL11.glViewport(0, 0, var46.a.width, var46.a.height); + GL11.glClearColor(0.0F, 0.0F, 0.0F, 0.0F); + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + var46.initGui(); + } + + if(var46.a.screen != null) { + var46.a.screen.render(var60, var61); + } + + Thread.yield(); + Display.update(); + } + + Thread.sleep(5L); + checkGlError("Post render"); + ++var3; + } catch (Exception var39) { + this.setScreen(new ErrorScreen("Client error", "The game broke! [" + var39 + "]")); + var39.printStackTrace(); + } + + while(System.currentTimeMillis() >= var1 + 1000L) { + this.fpsString = var3 + " fps, " + Chunk.updates + " chunk updates"; + Chunk.updates = 0; + var1 += 1000L; + var3 = 0; + } + } + } + + return; + } catch (StopGameException var40) { + } catch (Exception var41) { + var41.printStackTrace(); + return; + } finally { + this.destroy(); + } + + } + + public final void grabMouse() { + if(!this.mouseGrabbed) { + this.mouseGrabbed = true; + if(this.appletMode) { + try { + Mouse.setNativeCursor(this.emptyCursor); + Mouse.setCursorPosition(this.width / 2, this.height / 2); + } catch (LWJGLException var2) { + var2.printStackTrace(); + } + } else { + Mouse.setGrabbed(true); + } + + this.setScreen((Screen)null); + this.prevFrameTime = this.ticksRan + 10000; + } + } + + public final void pauseGame() { + if(!(this.screen instanceof PauseScreen)) { + this.setScreen(new PauseScreen()); + } + } + + private void clickMouse() { + if(this.hitResult != null) { + int var1 = this.hitResult.x; + int var2 = this.hitResult.y; + int var3 = this.hitResult.z; + if(this.editMode != 0) { + if(this.hitResult.f == 0) { + --var2; + } + + if(this.hitResult.f == 1) { + ++var2; + } + + if(this.hitResult.f == 2) { + --var3; + } + + if(this.hitResult.f == 3) { + ++var3; + } + + if(this.hitResult.f == 4) { + --var1; + } + + if(this.hitResult.f == 5) { + ++var1; + } + } + + Tile var4 = Tile.tiles[this.level.getTile(var1, var2, var3)]; + if(this.editMode == 0) { + if(var4 != Tile.unbreakable || this.player.userType >= 100) { + boolean var8 = this.level.netSetTile(var1, var2, var3, 0); + if(var4 != null && var8) { + if(this.isMultiplayer()) { + this.connectionManager.sendBlockChange(var1, var2, var3, this.editMode, this.player.inventory.getSelected()); + } + + if(var4.soundType != Tile.SoundType.none) { + this.level.playSound("step." + var4.soundType.name, (float)var1, (float)var2, (float)var3, (var4.soundType.getVolume() + 1.0F) / 2.0F, var4.soundType.getPitch() * 0.8F); + var4.destroy(this.level, var1, var2, var3, this.particleEngine); + } + } + + return; + } + } else { + int var5 = this.player.inventory.getSelected(); + var4 = Tile.tiles[this.level.getTile(var1, var2, var3)]; + if(var4 == null || var4 == Tile.water || var4 == Tile.calmWater || var4 == Tile.lava || var4 == Tile.calmLava) { + AABB var7 = Tile.tiles[var5].getTileAABB(var1, var2, var3); + if(var7 == null || (this.player.bb.intersects(var7) ? false : this.level.isFree(var7))) { + if(this.isMultiplayer()) { + this.connectionManager.sendBlockChange(var1, var2, var3, this.editMode, var5); + } + + this.level.netSetTile(var1, var2, var3, this.player.inventory.getSelected()); + Tile.tiles[var5].onBlockAdded(this.level, var1, var2, var3); + } + } + } + + } + } + + private void tick() { + if(this.soundPlayer != null) { + SoundPlayer var2 = this.soundPlayer; + SoundManager var1 = this.soundManager; + if(System.currentTimeMillis() > var1.lastMusic && var1.playMusic(var2, "calm")) { + var1.lastMusic = System.currentTimeMillis() + (long)var1.random.nextInt(900000) + 300000L; + } + } + + InGameHud var14 = this.hud; + + int var17; + for(var17 = 0; var17 < var14.messages.size(); ++var17) { + ++((ChatLine)var14.messages.get(var17)).counter; + } + + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textures.getTextureId("/terrain.png")); + Textures var15 = this.textures; + + for(var17 = 0; var17 < var15.textureList.size(); ++var17) { + TextureFX var3 = (TextureFX)var15.textureList.get(var17); + var3.onTick(); + var15.textureBuffer.clear(); + var15.textureBuffer.put(var3.imageData); + var15.textureBuffer.position(0).limit(var3.imageData.length); + GL11.glTexSubImage2D(GL11.GL_TEXTURE_2D, 0, var3.iconIndex % 16 << 4, var3.iconIndex / 16 << 4, 16, 16, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, (ByteBuffer)var15.textureBuffer); + } + + int var27; + if(this.connectionManager != null && !(this.screen instanceof ErrorScreen)) { + if(!this.connectionManager.isConnected()) { + this.loadingScreen.beginLevelLoading("Connecting.."); + this.loadingScreen.setLoadingProgress(0); + } else { + ConnectionManager var16 = this.connectionManager; + int var4; + if(var16.processData) { + SocketConnection var20 = var16.connection; + if(var20.connected) { + try { + SocketConnection var19 = var16.connection; + var19.socketChannel.read(var19.readBuffer); + var4 = 0; + + while(var19.readBuffer.position() > 0 && var4++ != 100) { + var19.readBuffer.flip(); + byte var5 = var19.readBuffer.get(0); + Packet var6 = Packet.PACKETS[var5]; + if(var6 == null) { + throw new IOException("Bad command: " + var5); + } + + if(var19.readBuffer.remaining() < var6.size + 1) { + var19.readBuffer.compact(); + break; + } + + var19.readBuffer.get(); + Object[] var23 = new Object[var6.fields.length]; + + for(var27 = 0; var27 < var23.length; ++var27) { + var23[var27] = var19.read(var6.fields[var27]); + } + + ConnectionManager var25 = var19.manager; + if(var25.processData) { + if(var6 == Packet.LOGIN) { + var25.minecraft.loadingScreen.beginLevelLoading(var23[1].toString()); + var25.minecraft.loadingScreen.levelLoadUpdate(var23[2].toString()); + var25.minecraft.player.userType = ((Byte)var23[3]).byteValue(); + } else if(var6 == Packet.LEVEL_INITIALIZE) { + var25.minecraft.setLevel((Level)null); + var25.levelBuffer = new ByteArrayOutputStream(); + } else { + byte var8; + if(var6 == Packet.LEVEL_DATA_CHUNK) { + short var30 = ((Short)var23[0]).shortValue(); + byte[] var7 = (byte[])((byte[])var23[1]); + var8 = ((Byte)var23[2]).byteValue(); + var25.minecraft.loadingScreen.setLoadingProgress(var8); + var25.levelBuffer.write(var7, 0, var30); + } else { + short var32; + short var34; + short var37; + if(var6 == Packet.LEVEL_FINALIZE) { + try { + var25.levelBuffer.close(); + } catch (IOException var12) { + var12.printStackTrace(); + } + + byte[] var31 = LevelIO.loadBlocks(new ByteArrayInputStream(var25.levelBuffer.toByteArray())); + var25.levelBuffer = null; + var34 = ((Short)var23[0]).shortValue(); + var37 = ((Short)var23[1]).shortValue(); + var32 = ((Short)var23[2]).shortValue(); + Level var9 = new Level(); + var9.setNetworkMode(true); + var9.setData(var34, var37, var32, var31); + var25.minecraft.setLevel(var9); + var25.minecraft.hideGui = false; + var25.connected = true; + } else if(var6 == Packet.SET_TILE) { + if(var25.minecraft.level != null) { + var25.minecraft.level.netSetTile(((Short)var23[0]).shortValue(), ((Short)var23[1]).shortValue(), ((Short)var23[2]).shortValue(), ((Byte)var23[3]).byteValue()); + } + } else { + byte var10; + short var10003; + short var10004; + String var33; + NetworkPlayer var35; + byte var45; + if(var6 == Packet.PLAYER_JOIN) { + var45 = ((Byte)var23[0]).byteValue(); + String var10002 = (String)var23[1]; + var10003 = ((Short)var23[2]).shortValue(); + var10004 = ((Short)var23[3]).shortValue(); + short var10005 = ((Short)var23[4]).shortValue(); + byte var10006 = ((Byte)var23[5]).byteValue(); + byte var11 = ((Byte)var23[6]).byteValue(); + var10 = var10006; + short var39 = var10005; + var37 = var10004; + var34 = var10003; + var33 = var10002; + var5 = var45; + if(var5 >= 0) { + var35 = new NetworkPlayer(var25.minecraft, var5, var33, var34, var37, var39, (float)(-var10 * 360) / 256.0F, (float)(var11 * 360) / 256.0F); + var25.players.put(Byte.valueOf(var5), var35); + var25.minecraft.level.entities.add(var35); + } else { + var25.minecraft.level.setSpawnPos(var34 / 32, var37 / 32, var39 / 32, (float)(var10 * 320 / 256)); + var25.minecraft.player.moveTo((float)var34 / 32.0F, (float)var37 / 32.0F, (float)var39 / 32.0F, (float)(var10 * 360) / 256.0F, (float)(var11 * 360) / 256.0F); + } + } else { + byte var41; + NetworkPlayer var44; + byte var50; + if(var6 == Packet.PLAYER_TELEPORT) { + var45 = ((Byte)var23[0]).byteValue(); + short var46 = ((Short)var23[1]).shortValue(); + var10003 = ((Short)var23[2]).shortValue(); + var10004 = ((Short)var23[3]).shortValue(); + var50 = ((Byte)var23[4]).byteValue(); + var10 = ((Byte)var23[5]).byteValue(); + var41 = var50; + var37 = var10004; + var34 = var10003; + var32 = var46; + var5 = var45; + if(var5 < 0) { + var25.minecraft.player.moveTo((float)var32 / 32.0F, (float)var34 / 32.0F, (float)var37 / 32.0F, (float)(var41 * 360) / 256.0F, (float)(var10 * 360) / 256.0F); + } else { + var44 = (NetworkPlayer)var25.players.get(Byte.valueOf(var5)); + if(var44 != null) { + var44.teleport(var32, var34, var37, (float)(-var41 * 360) / 256.0F, (float)(var10 * 360) / 256.0F); + } + } + } else { + byte var36; + byte var38; + byte var47; + byte var48; + if(var6 == Packet.PLAYER_MOVE_AND_ROTATE) { + var45 = ((Byte)var23[0]).byteValue(); + var47 = ((Byte)var23[1]).byteValue(); + var48 = ((Byte)var23[2]).byteValue(); + byte var49 = ((Byte)var23[3]).byteValue(); + var50 = ((Byte)var23[4]).byteValue(); + var10 = ((Byte)var23[5]).byteValue(); + var41 = var50; + var8 = var49; + var38 = var48; + var36 = var47; + var5 = var45; + if(var5 >= 0) { + var44 = (NetworkPlayer)var25.players.get(Byte.valueOf(var5)); + if(var44 != null) { + var44.queue(var36, var38, var8, (float)(-var41 * 360) / 256.0F, (float)(var10 * 360) / 256.0F); + } + } + } else if(var6 == Packet.PLAYER_ROTATE) { + var45 = ((Byte)var23[0]).byteValue(); + var47 = ((Byte)var23[1]).byteValue(); + var38 = ((Byte)var23[2]).byteValue(); + var36 = var47; + var5 = var45; + if(var5 >= 0) { + NetworkPlayer var42 = (NetworkPlayer)var25.players.get(Byte.valueOf(var5)); + if(var42 != null) { + var42.queue((float)(-var36 * 360) / 256.0F, (float)(var38 * 360) / 256.0F); + } + } + } else if(var6 == Packet.PLAYER_MOVE) { + var45 = ((Byte)var23[0]).byteValue(); + var47 = ((Byte)var23[1]).byteValue(); + var48 = ((Byte)var23[2]).byteValue(); + var8 = ((Byte)var23[3]).byteValue(); + var38 = var48; + var36 = var47; + var5 = var45; + if(var5 >= 0) { + NetworkPlayer var43 = (NetworkPlayer)var25.players.get(Byte.valueOf(var5)); + if(var43 != null) { + var43.queue(var36, var38, var8); + } + } + } else if(var6 == Packet.PLAYER_DISCONNECT) { + var5 = ((Byte)var23[0]).byteValue(); + if(var5 >= 0) { + var35 = (NetworkPlayer)var25.players.remove(Byte.valueOf(var5)); + if(var35 != null) { + var35.clear(); + var25.minecraft.level.entities.remove(var35); + } + } + } else if(var6 == Packet.CHAT_MESSAGE) { + var45 = ((Byte)var23[0]).byteValue(); + var33 = (String)var23[1]; + var5 = var45; + if(var5 < 0) { + var25.minecraft.hud.addChatMessage("&e" + var33); + } else { + var25.players.get(Byte.valueOf(var5)); + var25.minecraft.hud.addChatMessage(var33); + } + } else if(var6 == Packet.KICK_PLAYER) { + var25.minecraft.setScreen(new ErrorScreen("Connection lost", (String)var23[0])); + var25.connection.disconnect(); + } + } + } + } + } + } + } + + if(!var19.connected) { + break; + } + + var19.readBuffer.compact(); + } + + if(var19.writeBuffer.position() > 0) { + var19.writeBuffer.flip(); + var19.socketChannel.write(var19.writeBuffer); + var19.writeBuffer.compact(); + } + } catch (Exception var13) { + var16.minecraft.setScreen(new ErrorScreen("Disconnected!", "You\'ve lost connection to the server")); + var16.minecraft.hideGui = false; + var13.printStackTrace(); + var16.connection.disconnect(); + var16.minecraft.connectionManager = null; + } + } + } + + Player var26 = this.player; + var16 = this.connectionManager; + if(var16.connected) { + int var21 = (int)(var26.x * 32.0F); + var4 = (int)(var26.y * 32.0F); + var27 = (int)(var26.z * 32.0F); + int var40 = (int)(var26.yRot * 256.0F / 360.0F) & 255; + var17 = (int)(var26.xRot * 256.0F / 360.0F) & 255; + var16.connection.sendPacket(Packet.PLAYER_TELEPORT, new Object[]{Integer.valueOf(-1), Integer.valueOf(var21), Integer.valueOf(var4), Integer.valueOf(var27), Integer.valueOf(var40), Integer.valueOf(var17)}); + } + } + } + + if(this.screen == null || this.screen.allowUserInput) { + int var18; + while(Mouse.next()) { + var18 = Mouse.getEventDWheel(); + if(var18 != 0) { + this.player.inventory.scrollHotbar(var18); + } + + if(this.screen == null) { + if(!this.mouseGrabbed && Mouse.getEventButtonState()) { + this.grabMouse(); + } else { + if(Mouse.getEventButton() == 0 && Mouse.getEventButtonState()) { + this.clickMouse(); + this.prevFrameTime = this.ticksRan; + } + + if(Mouse.getEventButton() == 1 && Mouse.getEventButtonState()) { + this.editMode = (this.editMode + 1) % 2; + } + + if(Mouse.getEventButton() == 2 && Mouse.getEventButtonState() && this.hitResult != null) { + var17 = this.level.getTile(this.hitResult.x, this.hitResult.y, this.hitResult.z); + if(var17 == Tile.grass.id) { + var17 = Tile.dirt.id; + } + + Inventory var24 = this.player.inventory; + var27 = var24.containsTileAt(var17); + if(var27 >= 0) { + var24.selectedSlot = var27; + } else if(var17 > 0 && User.creativeTiles.contains(Tile.tiles[var17])) { + var24.setTile(Tile.tiles[var17]); + } + } + } + } + + if(this.screen != null) { + this.screen.updateMouseEvents(); + } + } + + label278: + while(true) { + do { + do { + if(!Keyboard.next()) { + if(this.screen == null && Mouse.isButtonDown(0) && (float)(this.ticksRan - this.prevFrameTime) >= this.timer.ticksPerSecond / 4.0F && this.mouseGrabbed) { + this.clickMouse(); + this.prevFrameTime = this.ticksRan; + } + break label278; + } + + this.player.setKey(Keyboard.getEventKey(), Keyboard.getEventKeyState()); + } while(!Keyboard.getEventKeyState()); + + if(this.screen != null) { + this.screen.updateKeyboardEvents(); + } + + if(this.screen == null) { + if(Keyboard.getEventKey() == Keyboard.KEY_ESCAPE) { + this.pauseGame(); + } + + if(Keyboard.getEventKey() == this.options.load.key) { + this.player.resetPos(); + } + + if(Keyboard.getEventKey() == this.options.save.key) { + this.level.setSpawnPos((int)this.player.x, (int)this.player.y, (int)this.player.z, this.player.yRot); + this.player.resetPos(); + } + + if(Keyboard.getEventKey() == Keyboard.KEY_G && this.connectionManager == null && this.level.entities.size() < 256) { + this.level.entities.add(new Zombie(this.level, this.player.x, this.player.y, this.player.z)); + } + + if(Keyboard.getEventKey() == this.options.build.key) { + this.setScreen(new InventoryScreen()); + } + + if(Keyboard.getEventKey() == this.options.chat.key && this.connectionManager != null && this.connectionManager.isConnected()) { + this.player.releaseAllKeys(); + this.setScreen(new ChatScreen()); + } + } + + for(var18 = 0; var18 < 9; ++var18) { + if(Keyboard.getEventKey() == var18 + 2) { + this.player.inventory.selectedSlot = var18; + } + } + } while(Keyboard.getEventKey() != this.options.toggleFog.key); + + this.options.setOption(4, !Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) && !Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) ? 1 : -1); + } + } + + if(this.screen != null) { + this.prevFrameTime = this.ticksRan + 10000; + } + + if(this.screen != null) { + this.screen.updateEvents(); + if(this.screen != null) { + this.screen.tick(); + } + } + + if(this.level != null) { + LevelRenderer var22 = this.levelRenderer; + ++var22.cloudTickCounter; + this.level.tickEntities(); + if(!this.isMultiplayer()) { + this.level.tick(); + } + + this.particleEngine.tick(); + this.player.tick(); + } + + } + + private boolean isMultiplayer() { + return this.connectionManager != null; + } + + public final void generateLevel(int var1) { + String var2 = this.user != null ? this.user.name : "anonymous"; + this.setLevel(this.levelGen.generateLevel(var2, 128 << var1, 128 << var1, 64)); + } + + public final boolean loadLevel(String var1, int var2) { + Level var3 = this.levelIo.load(this.minecraftUri, var1, var2); + boolean var4 = var3 != null; + if(!var4) { + return false; + } else { + this.setLevel(var3); + return true; + } + } + + public final void setLevel(Level var1) { + this.level = var1; + if(var1 != null) { + var1.rendererContext = this; + } + + if(this.levelRenderer != null) { + LevelRenderer var2 = this.levelRenderer; + if(var2.level != null) { + var2.level.removeListener(var2); + } + + var2.level = var1; + if(var1 != null) { + var1.addListener(var2); + var2.compileSurroundingGround(); + } + } + + if(this.particleEngine != null) { + ParticleEngine var4 = this.particleEngine; + var4.particles.clear(); + } + + if(this.player != null) { + this.player.setLevel(var1); + this.player.resetPos(); + } + + System.gc(); + } + + static enum OS { + linux, + solaris, + windows, + macos, + unknown; + } +} diff --git a/src/main/java/com/mojang/minecraft/MinecraftApplet.java b/src/main/java/com/mojang/minecraft/MinecraftApplet.java new file mode 100644 index 0000000..4736774 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/MinecraftApplet.java @@ -0,0 +1,94 @@ +package com.mojang.minecraft; + +import java.applet.Applet; +import java.awt.BorderLayout; +import java.awt.Canvas; + +public class MinecraftApplet extends Applet { + private Canvas canvas; + private Minecraft minecraft; + private Thread thread = null; + + public void init() { + this.canvas = new Canvas() { + public final synchronized void addNotify() { + super.addNotify(); + MinecraftApplet.this.startGameThread(); + } + + public final synchronized void removeNotify() { + MinecraftApplet.this.stopGameThread(); + super.removeNotify(); + } + }; + this.minecraft = new Minecraft(this.canvas, this.getWidth(), this.getHeight(), false); + this.minecraft.minecraftUri = this.getDocumentBase().getHost(); + if(this.getDocumentBase().getPort() > 0) { + this.minecraft.minecraftUri = this.minecraft.minecraftUri + ":" + this.getDocumentBase().getPort(); + } + + if(this.getParameter("username") != null && this.getParameter("sessionid") != null) { + this.minecraft.user = new User(this.getParameter("username"), this.getParameter("sessionid")); + if(this.getParameter("mppass") != null) { + this.minecraft.user.mpPass = this.getParameter("mppass"); + } + } + + if(this.getParameter("loadmap_user") != null && this.getParameter("loadmap_id") != null) { + this.minecraft.loadMapUser = this.getParameter("loadmap_user"); + this.minecraft.loadMapId = Integer.parseInt(this.getParameter("loadmap_id")); + } else if(this.getParameter("server") != null && this.getParameter("port") != null) { + Minecraft var10000 = this.minecraft; + String var10001 = this.getParameter("server"); + int var3 = Integer.parseInt(this.getParameter("port")); + String var2 = var10001; + Minecraft var1 = var10000; + var1.server = var2; + var1.port = var3; + } + + this.minecraft.appletMode = true; + this.setLayout(new BorderLayout()); + this.add(this.canvas, "Center"); + this.canvas.setFocusable(true); + this.validate(); + } + + public void startGameThread() { + if(this.thread == null) { + this.thread = new Thread(this.minecraft); + this.thread.start(); + } + } + + public void start() { + this.minecraft.pause = false; + } + + public void stop() { + this.minecraft.pause = true; + } + + public void destroy() { + this.stopGameThread(); + } + + public void stopGameThread() { + if(this.thread != null) { + Minecraft var1 = this.minecraft; + var1.running = false; + + try { + this.thread.join(1000L); + } catch (InterruptedException var3) { + try { + this.minecraft.destroy(); + } catch (Exception var2) { + var2.printStackTrace(); + } + } + + this.thread = null; + } + } +} diff --git a/src/main/java/com/mojang/minecraft/OSMap.java b/src/main/java/com/mojang/minecraft/OSMap.java new file mode 100644 index 0000000..79b1d5d --- /dev/null +++ b/src/main/java/com/mojang/minecraft/OSMap.java @@ -0,0 +1,27 @@ +package com.mojang.minecraft; + +final class OSMap { + static final int[] osValues = new int[Minecraft.OS.values().length]; + + static { + try { + osValues[Minecraft.OS.linux.ordinal()] = 1; + } catch (NoSuchFieldError var3) { + } + + try { + osValues[Minecraft.OS.solaris.ordinal()] = 2; + } catch (NoSuchFieldError var2) { + } + + try { + osValues[Minecraft.OS.windows.ordinal()] = 3; + } catch (NoSuchFieldError var1) { + } + + try { + osValues[Minecraft.OS.macos.ordinal()] = 4; + } catch (NoSuchFieldError var0) { + } + } +} diff --git a/src/main/java/com/mojang/minecraft/Options.java b/src/main/java/com/mojang/minecraft/Options.java new file mode 100644 index 0000000..44a3251 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/Options.java @@ -0,0 +1,138 @@ +package com.mojang.minecraft; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.PrintWriter; +import org.lwjgl.input.Keyboard; + +public final class Options { + private static final String[] RENDER_DISTANCES = new String[]{"FAR", "NORMAL", "SHORT", "TINY"}; + public boolean music = true; + public boolean sound = true; + public boolean invertMouse = false; + public boolean showFPS = false; + public int renderDistance = 0; + public KeyBinding forward = new KeyBinding("Forward", 17); + public KeyBinding left = new KeyBinding("Left", 30); + public KeyBinding back = new KeyBinding("Back", 31); + public KeyBinding right = new KeyBinding("Right", 32); + public KeyBinding jump = new KeyBinding("Jump", 57); + public KeyBinding build = new KeyBinding("Build", 48); + public KeyBinding chat = new KeyBinding("Chat", 20); + public KeyBinding toggleFog = new KeyBinding("Toggle fog", 33); + public KeyBinding save = new KeyBinding("Save location", 28); + public KeyBinding load = new KeyBinding("Load location", 19); + public KeyBinding[] keyBindings = new KeyBinding[]{this.forward, this.left, this.back, this.right, this.jump, this.build, this.chat, this.toggleFog, this.save, this.load}; + private File optionsFile; + + public Options(Minecraft var1, File var2) { + this.optionsFile = new File(var2, "options.txt"); + this.loadOptions(); + } + + public final String getKeyBinding(int var1) { + return this.keyBindings[var1].name + ": " + Keyboard.getKeyName(this.keyBindings[var1].key); + } + + public final void setKeyBinding(int var1, int var2) { + this.keyBindings[var1].key = var2; + this.saveOptions(); + } + + public final void setOption(int var1, int var2) { + if(var1 == 0) { + this.music = !this.music; + } + + if(var1 == 1) { + this.sound = !this.sound; + } + + if(var1 == 2) { + this.invertMouse = !this.invertMouse; + } + + if(var1 == 3) { + this.showFPS = !this.showFPS; + } + + if(var1 == 4) { + this.renderDistance = this.renderDistance + var2 & 3; + } + + this.saveOptions(); + } + + public final String getOption(int var1) { + return var1 == 0 ? "Music: " + (this.music ? "ON" : "OFF") : (var1 == 1 ? "Sound: " + (this.sound ? "ON" : "OFF") : (var1 == 2 ? "Invert mouse: " + (this.invertMouse ? "ON" : "OFF") : (var1 == 3 ? "Show FPS: " + (this.showFPS ? "ON" : "OFF") : (var1 == 4 ? "Render distance: " + RENDER_DISTANCES[this.renderDistance] : "")))); + } + + private void loadOptions() { + try { + if(this.optionsFile.exists()) { + BufferedReader var1 = new BufferedReader(new FileReader(this.optionsFile)); + String var2 = null; + + while(true) { + var2 = var1.readLine(); + if(var2 == null) { + var1.close(); + return; + } + + String[] var5 = var2.split(":"); + if(var5[0].equals("music")) { + this.music = var5[1].equals("true"); + } + + if(var5[0].equals("sound")) { + this.sound = var5[1].equals("true"); + } + + if(var5[0].equals("invertYMouse")) { + this.invertMouse = var5[1].equals("true"); + } + + if(var5[0].equals("showFrameRate")) { + this.showFPS = var5[1].equals("true"); + } + + if(var5[0].equals("viewDistance")) { + this.renderDistance = Integer.parseInt(var5[1]); + } + + for(int var3 = 0; var3 < this.keyBindings.length; ++var3) { + if(var5[0].equals("key_" + this.keyBindings[var3].name)) { + this.keyBindings[var3].key = Integer.parseInt(var5[1]); + } + } + } + } + } catch (Exception var4) { + System.out.println("Failed to load options"); + var4.printStackTrace(); + } + } + + private void saveOptions() { + try { + PrintWriter var1 = new PrintWriter(new FileWriter(this.optionsFile)); + var1.println("music:" + this.music); + var1.println("sound:" + this.sound); + var1.println("invertYMouse:" + this.invertMouse); + var1.println("showFrameRate:" + this.showFPS); + var1.println("viewDistance:" + this.renderDistance); + + for(int var2 = 0; var2 < this.keyBindings.length; ++var2) { + var1.println("key_" + this.keyBindings[var2].name + ":" + this.keyBindings[var2].key); + } + + var1.close(); + } catch (Exception var3) { + System.out.println("Failed to save options"); + var3.printStackTrace(); + } + } +} diff --git a/src/main/java/com/mojang/minecraft/ProgressListener.java b/src/main/java/com/mojang/minecraft/ProgressListener.java new file mode 100644 index 0000000..793d608 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/ProgressListener.java @@ -0,0 +1,90 @@ +package com.mojang.minecraft; + +import com.mojang.minecraft.renderer.Tesselator; +import org.lwjgl.opengl.Display; +import org.lwjgl.opengl.GL11; + +public final class ProgressListener { + private String title = ""; + private Minecraft minecraft; + private String text = ""; + + public ProgressListener(Minecraft var1) { + this.minecraft = var1; + } + + public final void beginLevelLoading(String var1) { + if(!this.minecraft.running) { + throw new StopGameException(); + } else { + this.text = var1; + int var3 = this.minecraft.width * 240 / this.minecraft.height; + int var2 = this.minecraft.height * 240 / this.minecraft.height; + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GL11.glOrtho(0.0D, (double)var3, (double)var2, 0.0D, 100.0D, 300.0D); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + GL11.glTranslatef(0.0F, 0.0F, -200.0F); + } + } + + public final void levelLoadUpdate(String var1) { + if(!this.minecraft.running) { + throw new StopGameException(); + } else { + this.title = var1; + this.setLoadingProgress(-1); + } + } + + public final void setLoadingProgress(int var1) { + if(!this.minecraft.running) { + throw new StopGameException(); + } else { + int var2 = this.minecraft.width * 240 / this.minecraft.height; + int var3 = this.minecraft.height * 240 / this.minecraft.height; + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); + Tesselator var4 = Tesselator.instance; + GL11.glEnable(GL11.GL_TEXTURE_2D); + int var5 = this.minecraft.textures.getTextureId("/dirt.png"); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var5); + float var8 = 32.0F; + var4.begin(); + var4.color(4210752); + var4.vertexUV(0.0F, (float)var3, 0.0F, 0.0F, (float)var3 / var8); + var4.vertexUV((float)var2, (float)var3, 0.0F, (float)var2 / var8, (float)var3 / var8); + var4.vertexUV((float)var2, 0.0F, 0.0F, (float)var2 / var8, 0.0F); + var4.vertexUV(0.0F, 0.0F, 0.0F, 0.0F, 0.0F); + var4.end(); + if(var1 >= 0) { + var5 = var2 / 2 - 50; + int var6 = var3 / 2 + 16; + GL11.glDisable(GL11.GL_TEXTURE_2D); + var4.begin(); + var4.color(8421504); + var4.vertex((float)var5, (float)var6, 0.0F); + var4.vertex((float)var5, (float)(var6 + 2), 0.0F); + var4.vertex((float)(var5 + 100), (float)(var6 + 2), 0.0F); + var4.vertex((float)(var5 + 100), (float)var6, 0.0F); + var4.color(8454016); + var4.vertex((float)var5, (float)var6, 0.0F); + var4.vertex((float)var5, (float)(var6 + 2), 0.0F); + var4.vertex((float)(var5 + var1), (float)(var6 + 2), 0.0F); + var4.vertex((float)(var5 + var1), (float)var6, 0.0F); + var4.end(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + + this.minecraft.font.drawShadow(this.text, (var2 - this.minecraft.font.width(this.text)) / 2, var3 / 2 - 4 - 16, 16777215); + this.minecraft.font.drawShadow(this.title, (var2 - this.minecraft.font.width(this.title)) / 2, var3 / 2 - 4 + 8, 16777215); + Display.update(); + + try { + Thread.yield(); + } catch (Exception var7) { + } + } + } +} diff --git a/src/main/java/com/mojang/minecraft/SleepThread.java b/src/main/java/com/mojang/minecraft/SleepThread.java new file mode 100644 index 0000000..32f5efb --- /dev/null +++ b/src/main/java/com/mojang/minecraft/SleepThread.java @@ -0,0 +1,17 @@ +package com.mojang.minecraft; + +final class SleepThread extends Thread { + SleepThread(Minecraft var1) { + this.setDaemon(true); + this.start(); + } + + public final void run() { + while(true) { + try { + Thread.sleep(2147483647L); + } catch (InterruptedException var1) { + } + } + } +} diff --git a/src/main/java/com/mojang/minecraft/StopGameException.java b/src/main/java/com/mojang/minecraft/StopGameException.java new file mode 100644 index 0000000..e023c2b --- /dev/null +++ b/src/main/java/com/mojang/minecraft/StopGameException.java @@ -0,0 +1,4 @@ +package com.mojang.minecraft; + +public class StopGameException extends Error { +} diff --git a/src/main/java/com/mojang/minecraft/Timer.java b/src/main/java/com/mojang/minecraft/Timer.java new file mode 100644 index 0000000..17d1a70 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/Timer.java @@ -0,0 +1,19 @@ +package com.mojang.minecraft; + +public final class Timer { + float ticksPerSecond; + double lastHRTime; + public int ticks; + public float a; + public float timeScale = 1.0F; + public float fps = 0.0F; + long lastSyncSysClock; + long lastSyncHRClock; + double timeSyncAdjustment = 1.0D; + + public Timer(float var1) { + this.ticksPerSecond = var1; + this.lastSyncSysClock = System.currentTimeMillis(); + this.lastSyncHRClock = System.nanoTime() / 1000000L; + } +} diff --git a/src/main/java/com/mojang/minecraft/User.java b/src/main/java/com/mojang/minecraft/User.java new file mode 100644 index 0000000..903a898 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/User.java @@ -0,0 +1,52 @@ +package com.mojang.minecraft; + +import com.mojang.minecraft.level.tile.Tile; +import java.util.ArrayList; +import java.util.List; + +public final class User { + public static List creativeTiles; + public String name; + public String sessionId; + public String mpPass; + + public User(String var1, String var2) { + this.name = var1; + this.sessionId = var2; + } + + static { + (creativeTiles = new ArrayList()).add(Tile.rock); + creativeTiles.add(Tile.wood); + creativeTiles.add(Tile.dirt); + creativeTiles.add(Tile.stoneBrick); + creativeTiles.add(Tile.log); + creativeTiles.add(Tile.leaf); + creativeTiles.add(Tile.bush); + creativeTiles.add(Tile.plantYellow); + creativeTiles.add(Tile.plantRed); + creativeTiles.add(Tile.mushroomBrown); + creativeTiles.add(Tile.mushroomRed); + creativeTiles.add(Tile.sand); + creativeTiles.add(Tile.gravel); + creativeTiles.add(Tile.glass); + creativeTiles.add(Tile.sponge); + creativeTiles.add(Tile.blockGold); + creativeTiles.add(Tile.clothRed); + creativeTiles.add(Tile.clothOrange); + creativeTiles.add(Tile.clothYellow); + creativeTiles.add(Tile.clothChartreuse); + creativeTiles.add(Tile.clothGreen); + creativeTiles.add(Tile.clothSpringGreen); + creativeTiles.add(Tile.clothCyan); + creativeTiles.add(Tile.clothCapri); + creativeTiles.add(Tile.clothUltramarine); + creativeTiles.add(Tile.clothViolet); + creativeTiles.add(Tile.clothPurple); + creativeTiles.add(Tile.clothMagenta); + creativeTiles.add(Tile.clothRose); + creativeTiles.add(Tile.clothDarkGray); + creativeTiles.add(Tile.clothGray); + creativeTiles.add(Tile.clothWhite); + } +} diff --git a/src/main/java/com/mojang/minecraft/character/Cube.java b/src/main/java/com/mojang/minecraft/character/Cube.java new file mode 100644 index 0000000..1b12f33 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/character/Cube.java @@ -0,0 +1,98 @@ +package com.mojang.minecraft.character; + +import org.lwjgl.opengl.GL11; + +public final class Cube { + private Vertex[] vertices; + private Polygon[] polygons; + private int xTexOffs; + private int yTexOffs; + private float x; + private float y; + private float z; + public float xRot; + public float yRot; + public float zRot; + private boolean compiled = false; + private int list = 0; + + public Cube(int var1, int var2) { + this.xTexOffs = var1; + this.yTexOffs = var2; + } + + public final void addBox(float var1, float var2, float var3, int var4, int var5, int var6) { + this.vertices = new Vertex[8]; + this.polygons = new Polygon[6]; + float var7 = var1 + (float)var4; + float var8 = var2 + (float)var5; + float var9 = var3 + (float)var6; + Vertex var10 = new Vertex(var1, var2, var3, 0.0F, 0.0F); + Vertex var11 = new Vertex(var7, var2, var3, 0.0F, 8.0F); + Vertex var12 = new Vertex(var7, var8, var3, 8.0F, 8.0F); + Vertex var16 = new Vertex(var1, var8, var3, 8.0F, 0.0F); + Vertex var13 = new Vertex(var1, var2, var9, 0.0F, 0.0F); + Vertex var15 = new Vertex(var7, var2, var9, 0.0F, 8.0F); + Vertex var17 = new Vertex(var7, var8, var9, 8.0F, 8.0F); + Vertex var14 = new Vertex(var1, var8, var9, 8.0F, 0.0F); + this.vertices[0] = var10; + this.vertices[1] = var11; + this.vertices[2] = var12; + this.vertices[3] = var16; + this.vertices[4] = var13; + this.vertices[5] = var15; + this.vertices[6] = var17; + this.vertices[7] = var14; + this.polygons[0] = new Polygon(new Vertex[]{var15, var11, var12, var17}, this.xTexOffs + var6 + var4, this.yTexOffs + var6, this.xTexOffs + var6 + var4 + var6, this.yTexOffs + var6 + var5); + this.polygons[1] = new Polygon(new Vertex[]{var10, var13, var14, var16}, this.xTexOffs, this.yTexOffs + var6, this.xTexOffs + var6, this.yTexOffs + var6 + var5); + this.polygons[2] = new Polygon(new Vertex[]{var15, var13, var10, var11}, this.xTexOffs + var6, this.yTexOffs, this.xTexOffs + var6 + var4, this.yTexOffs + var6); + this.polygons[3] = new Polygon(new Vertex[]{var12, var16, var14, var17}, this.xTexOffs + var6 + var4, this.yTexOffs, this.xTexOffs + var6 + var4 + var4, this.yTexOffs + var6); + this.polygons[4] = new Polygon(new Vertex[]{var11, var10, var16, var12}, this.xTexOffs + var6, this.yTexOffs + var6, this.xTexOffs + var6 + var4, this.yTexOffs + var6 + var5); + this.polygons[5] = new Polygon(new Vertex[]{var13, var15, var17, var14}, this.xTexOffs + var6 + var4 + var6, this.yTexOffs + var6, this.xTexOffs + var6 + var4 + var6 + var4, this.yTexOffs + var6 + var5); + } + + public final void setPos(float var1, float var2, float var3) { + this.x = var1; + this.y = var2; + this.z = 0.0F; + } + + public final void render(float var1) { + if(!this.compiled) { + float var3 = var1; + Cube var2 = this; + this.list = GL11.glGenLists(1); + GL11.glNewList(this.list, GL11.GL_COMPILE); + GL11.glBegin(GL11.GL_QUADS); + + for(int var4 = 0; var4 < var2.polygons.length; ++var4) { + Polygon var10000 = var2.polygons[var4]; + float var6 = var3; + Polygon var5 = var10000; + Vec3 var7 = var5.vertices[1].pos.subtract(var5.vertices[0].pos).normalize(); + Vec3 var8 = var5.vertices[1].pos.subtract(var5.vertices[2].pos).normalize(); + var7 = (new Vec3(var7.y * var8.z - var7.z * var8.y, var7.z * var8.x - var7.x * var8.z, var7.x * var8.y - var7.y * var8.x)).normalize(); + GL11.glNormal3f(var7.x, var7.y, var7.z); + + for(int var10 = 0; var10 < 4; ++var10) { + Vertex var11 = var5.vertices[var10]; + GL11.glTexCoord2f(var11.u / 64.0F, var11.v / 32.0F); + GL11.glVertex3f(var11.pos.x * var6, var11.pos.y * var6, var11.pos.z * var6); + } + } + + GL11.glEnd(); + GL11.glEndList(); + var2.compiled = true; + } + + float var9 = 57.29578F; + GL11.glPushMatrix(); + GL11.glTranslatef(this.x * var1, this.y * var1, this.z * var1); + GL11.glRotatef(this.zRot * var9, 0.0F, 0.0F, 1.0F); + GL11.glRotatef(this.yRot * var9, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(this.xRot * var9, 1.0F, 0.0F, 0.0F); + GL11.glCallList(this.list); + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/mojang/minecraft/character/Polygon.java b/src/main/java/com/mojang/minecraft/character/Polygon.java new file mode 100644 index 0000000..4dc966c --- /dev/null +++ b/src/main/java/com/mojang/minecraft/character/Polygon.java @@ -0,0 +1,17 @@ +package com.mojang.minecraft.character; + +public final class Polygon { + public Vertex[] vertices; + + private Polygon(Vertex[] var1) { + this.vertices = var1; + } + + public Polygon(Vertex[] var1, int var2, int var3, int var4, int var5) { + this(var1); + var1[0] = var1[0].remap((float)var4, (float)var3); + var1[1] = var1[1].remap((float)var2, (float)var3); + var1[2] = var1[2].remap((float)var2, (float)var5); + var1[3] = var1[3].remap((float)var4, (float)var5); + } +} diff --git a/src/main/java/com/mojang/minecraft/character/Vec3.java b/src/main/java/com/mojang/minecraft/character/Vec3.java new file mode 100644 index 0000000..feed9e4 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/character/Vec3.java @@ -0,0 +1,22 @@ +package com.mojang.minecraft.character; + +public final class Vec3 { + public float x; + public float y; + public float z; + + public Vec3(float var1, float var2, float var3) { + this.x = var1; + this.y = var2; + this.z = var3; + } + + public final Vec3 subtract(Vec3 var1) { + return new Vec3(this.x - var1.x, this.y - var1.y, this.z - var1.z); + } + + public final Vec3 normalize() { + float var1 = (float)Math.sqrt((double)(this.x * this.x + this.y * this.y + this.z * this.z)); + return new Vec3(this.x / var1, this.y / var1, this.z / var1); + } +} diff --git a/src/main/java/com/mojang/minecraft/character/Vertex.java b/src/main/java/com/mojang/minecraft/character/Vertex.java new file mode 100644 index 0000000..f9b233f --- /dev/null +++ b/src/main/java/com/mojang/minecraft/character/Vertex.java @@ -0,0 +1,27 @@ +package com.mojang.minecraft.character; + +public final class Vertex { + public Vec3 pos; + public float u; + public float v; + + public Vertex(float var1, float var2, float var3, float var4, float var5) { + this(new Vec3(var1, var2, var3), var4, var5); + } + + public final Vertex remap(float var1, float var2) { + return new Vertex(this, var1, var2); + } + + private Vertex(Vertex var1, float var2, float var3) { + this.pos = var1.pos; + this.u = var2; + this.v = var3; + } + + private Vertex(Vec3 var1, float var2, float var3) { + this.pos = var1; + this.u = var2; + this.v = var3; + } +} diff --git a/src/main/java/com/mojang/minecraft/character/Zombie.java b/src/main/java/com/mojang/minecraft/character/Zombie.java new file mode 100644 index 0000000..763bffd --- /dev/null +++ b/src/main/java/com/mojang/minecraft/character/Zombie.java @@ -0,0 +1,75 @@ +package com.mojang.minecraft.character; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.renderer.Textures; +import org.lwjgl.opengl.GL11; + +public class Zombie extends Entity { + public static final long serialVersionUID = 77479605454997290L; + private static ZombieModel zombieModel = new ZombieModel(); + public float rot; + public float timeOffs; + public float speed; + public float rotA = (float)(Math.random() + 1.0D) * 0.01F; + + public Zombie(Level var1, float var2, float var3, float var4) { + super(var1); + this.setPos(var2, var3, var4); + this.timeOffs = (float)Math.random() * 1239813.0F; + this.rot = (float)(Math.random() * Math.PI * 2.0D); + this.speed = 1.0F; + } + + public void tick() { + this.xo = this.x; + this.yo = this.y; + this.zo = this.z; + float var1 = 0.0F; + float var2 = 0.0F; + if(this.y < -100.0F) { + this.remove(); + } + + this.rot += this.rotA; + this.rotA = (float)((double)this.rotA * 0.99D); + this.rotA = (float)((double)this.rotA + (Math.random() - Math.random()) * Math.random() * Math.random() * (double)0.08F); + var1 = (float)Math.sin((double)this.rot); + var2 = (float)Math.cos((double)this.rot); + if(this.onGround && Math.random() < 0.08D) { + this.yd = 0.5F; + } + + this.moveRelative(var1, var2, this.onGround ? 0.1F : 0.02F); + this.yd = (float)((double)this.yd - 0.08D); + this.move(this.xd, this.yd, this.zd); + this.xd *= 0.91F; + this.yd *= 0.98F; + this.zd *= 0.91F; + if(this.onGround) { + this.xd *= 0.7F; + this.zd *= 0.7F; + } + + } + + public void render(Textures var1, float var2) { + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var1.getTextureId("/char.png")); + GL11.glPushMatrix(); + double var3 = (double)System.nanoTime() / 1.0E9D * 10.0D * (double)this.speed + (double)this.timeOffs; + float var6 = this.getBrightness(); + GL11.glColor3f(var6, var6, var6); + var6 = 0.058333334F; + float var5 = (float)(-Math.abs(Math.sin(var3 * 0.6662D)) * 5.0D - 23.0D); + GL11.glTranslatef(this.xo + (this.x - this.xo) * var2, this.yo + (this.y - this.yo) * var2, this.zo + (this.z - this.zo) * var2); + GL11.glScalef(1.0F, -1.0F, 1.0F); + GL11.glTranslatef(0.0F, var5 * var6, 0.0F); + var2 = 57.29578F; + GL11.glRotatef(this.rot * var2 + 180.0F, 0.0F, 1.0F, 0.0F); + GL11.glScalef(-1.0F, 1.0F, 1.0F); + zombieModel.render((float)var3, 1.0F, 0.0F, 0.0F, 0.0F, var6); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } +} diff --git a/src/main/java/com/mojang/minecraft/character/ZombieModel.java b/src/main/java/com/mojang/minecraft/character/ZombieModel.java new file mode 100644 index 0000000..e83247d --- /dev/null +++ b/src/main/java/com/mojang/minecraft/character/ZombieModel.java @@ -0,0 +1,49 @@ +package com.mojang.minecraft.character; + +public final class ZombieModel { + private Cube head = new Cube(0, 0); + private Cube body; + private Cube arm0; + private Cube arm1; + private Cube leg0; + private Cube leg1; + + public ZombieModel() { + this.head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8); + this.body = new Cube(16, 16); + this.body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4); + this.arm0 = new Cube(40, 16); + this.arm0.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4); + this.arm0.setPos(-5.0F, 2.0F, 0.0F); + this.arm1 = new Cube(40, 16); + this.arm1.addBox(-1.0F, -2.0F, -2.0F, 4, 12, 4); + this.arm1.setPos(5.0F, 2.0F, 0.0F); + this.leg0 = new Cube(0, 16); + this.leg0.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4); + this.leg0.setPos(-2.0F, 12.0F, 0.0F); + this.leg1 = new Cube(0, 16); + this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4); + this.leg1.setPos(2.0F, 12.0F, 0.0F); + } + + public final void render(float var1, float var2, float var3, float var4, float var5, float var6) { + this.head.yRot = var4 / 57.29578F; + this.head.xRot = var5 / 57.29578F; + this.arm0.xRot = (float)Math.cos((double)var1 * 0.6662D + Math.PI) * 2.0F * var2; + this.arm0.zRot = (float)(Math.cos((double)var1 * 0.2312D) + 1.0D) * var2; + this.arm1.xRot = (float)Math.cos((double)var1 * 0.6662D) * 2.0F * var2; + this.arm1.zRot = (float)(Math.cos((double)var1 * 0.2812D) - 1.0D) * var2; + this.leg0.xRot = (float)Math.cos((double)var1 * 0.6662D) * 1.4F * var2; + this.leg1.xRot = (float)Math.cos((double)var1 * 0.6662D + Math.PI) * 1.4F * var2; + this.arm0.zRot += (float)Math.cos((double)var3 * 0.09D) * 0.05F + 0.05F; + this.arm1.zRot -= (float)Math.cos((double)var3 * 0.09D) * 0.05F + 0.05F; + this.arm0.xRot += (float)Math.sin((double)var3 * 0.067D) * 0.05F; + this.arm1.xRot -= (float)Math.sin((double)var3 * 0.067D) * 0.05F; + this.head.render(var6); + this.body.render(var6); + this.arm0.render(var6); + this.arm1.render(var6); + this.leg0.render(var6); + this.leg1.render(var6); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/Button.java b/src/main/java/com/mojang/minecraft/gui/Button.java new file mode 100644 index 0000000..b659ffe --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/Button.java @@ -0,0 +1,29 @@ +package com.mojang.minecraft.gui; + +public class Button extends Gui { + int x; + int y; + public int w; + public int h; + public String msg; + public int id; + public boolean enabled; + public boolean visible; + + public Button(int var1, int var2, int var3, String var4) { + this(var1, var2, var3, 200, 20, var4); + } + + protected Button(int var1, int var2, int var3, int var4, int var5, String var6) { + this.x = 200; + this.y = 20; + this.enabled = true; + this.visible = true; + this.id = var1; + this.w = var2; + this.h = var3; + this.x = var4; + this.y = 20; + this.msg = var6; + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/ChatScreen.java b/src/main/java/com/mojang/minecraft/gui/ChatScreen.java new file mode 100644 index 0000000..2fdf085 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/ChatScreen.java @@ -0,0 +1,67 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.net.ConnectionManager; +import com.mojang.minecraft.net.Packet; +import org.lwjgl.input.Keyboard; + +public final class ChatScreen extends Screen { + private String typedMsg = ""; + private int counter = 0; + + public final void init() { + Keyboard.enableRepeatEvents(true); + } + + public final void closeScreen() { + Keyboard.enableRepeatEvents(false); + } + + public final void tick() { + ++this.counter; + } + + protected final void keyPressed(char var1, int var2) { + if(var2 == 1) { + this.minecraft.setScreen((Screen)null); + } else if(var2 == 28) { + ConnectionManager var10000 = this.minecraft.connectionManager; + String var4 = this.typedMsg.trim(); + ConnectionManager var3 = var10000; + var4 = var4.trim(); + if(var4.length() > 0) { + var3.connection.sendPacket(Packet.CHAT_MESSAGE, new Object[]{Integer.valueOf(-1), var4}); + } + + this.minecraft.setScreen((Screen)null); + } else { + if(var2 == 14 && this.typedMsg.length() > 0) { + this.typedMsg = this.typedMsg.substring(0, this.typedMsg.length() - 1); + } + + if("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,.:-_\'*!\\\"#%/()=+?[]{}<>@|$;".indexOf(var1) >= 0 && this.typedMsg.length() < 64 - (this.minecraft.user.name.length() + 2)) { + this.typedMsg = this.typedMsg + var1; + } + + } + } + + public final void render(int var1, int var2) { + fill(2, this.height - 14, this.width - 2, this.height - 2, Integer.MIN_VALUE); + drawString(this.font, "> " + this.typedMsg + (this.counter / 6 % 2 == 0 ? "_" : ""), 4, this.height - 12, 14737632); + } + + protected final void mousePressed(int var1, int var2, int var3) { + if(var3 == 0 && this.minecraft.hud.hoveredUsername != null) { + if(this.typedMsg.length() > 0 && !this.typedMsg.endsWith(" ")) { + this.typedMsg = this.typedMsg + " "; + } + + this.typedMsg = this.typedMsg + this.minecraft.hud.hoveredUsername; + var1 = 64 - (this.minecraft.user.name.length() + 2); + if(this.typedMsg.length() > var1) { + this.typedMsg = this.typedMsg.substring(0, var1); + } + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/ControlsScreen.java b/src/main/java/com/mojang/minecraft/gui/ControlsScreen.java new file mode 100644 index 0000000..8504a43 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/ControlsScreen.java @@ -0,0 +1,52 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.Options; + +public final class ControlsScreen extends Screen { + private Screen parent; + private String title = "Controls"; + private Options options; + private int selectedKey = -1; + + public ControlsScreen(Screen var1, Options var2) { + this.parent = var1; + this.options = var2; + } + + public final void init() { + for(int var1 = 0; var1 < this.options.keyBindings.length; ++var1) { + this.buttons.add(new KeyBindingButton(var1, this.width / 2 - 155 + var1 % 2 * 160, this.height / 6 + 24 * (var1 >> 1), this.options.getKeyBinding(var1))); + } + + this.buttons.add(new Button(200, this.width / 2 - 100, this.height / 6 + 168, "Done")); + } + + protected final void buttonClicked(Button var1) { + for(int var2 = 0; var2 < this.options.keyBindings.length; ++var2) { + ((Button)this.buttons.get(var2)).msg = this.options.getKeyBinding(var2); + } + + if(var1.id == 200) { + this.minecraft.setScreen(this.parent); + } else { + this.selectedKey = var1.id; + var1.msg = "> " + this.options.getKeyBinding(var1.id) + " <"; + } + } + + protected final void keyPressed(char var1, int var2) { + if(this.selectedKey >= 0) { + this.options.setKeyBinding(this.selectedKey, var2); + ((Button)this.buttons.get(this.selectedKey)).msg = this.options.getKeyBinding(this.selectedKey); + this.selectedKey = -1; + } else { + super.keyPressed(var1, var2); + } + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, 1610941696, -1607454624); + drawCenteredString(this.font, this.title, this.width / 2, 20, 16777215); + super.render(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/ErrorScreen.java b/src/main/java/com/mojang/minecraft/gui/ErrorScreen.java new file mode 100644 index 0000000..c0c323f --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/ErrorScreen.java @@ -0,0 +1,24 @@ +package com.mojang.minecraft.gui; + +public final class ErrorScreen extends Screen { + private String title; + private String desc; + + public ErrorScreen(String var1, String var2) { + this.title = var1; + this.desc = var2; + } + + public final void init() { + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, -12574688, -11530224); + drawCenteredString(this.font, this.title, this.width / 2, 90, 16777215); + drawCenteredString(this.font, this.desc, this.width / 2, 110, 16777215); + super.render(var1, var2); + } + + protected final void keyPressed(char var1, int var2) { + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/Font.java b/src/main/java/com/mojang/minecraft/gui/Font.java new file mode 100644 index 0000000..f88682b --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/Font.java @@ -0,0 +1,147 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.renderer.Tesselator; +import com.mojang.minecraft.renderer.Textures; +import java.awt.image.BufferedImage; +import java.io.IOException; +import javax.imageio.ImageIO; +import org.lwjgl.opengl.GL11; + +public final class Font { + private int[] charWidths = new int[256]; + private int fontTexture = 0; + + public Font(String var1, Textures var2) { + BufferedImage var3; + try { + var3 = ImageIO.read(Textures.class.getResourceAsStream(var1)); + } catch (IOException var13) { + throw new RuntimeException(var13); + } + + int var4 = var3.getWidth(); + int var5 = var3.getHeight(); + int[] var6 = new int[var4 * var5]; + var3.getRGB(0, 0, var4, var5, var6, 0, var4); + + for(int var14 = 0; var14 < 128; ++var14) { + var5 = var14 % 16; + int var7 = var14 / 16; + int var8 = 0; + + for(boolean var9 = false; var8 < 8 && !var9; ++var8) { + int var10 = (var5 << 3) + var8; + var9 = true; + + for(int var11 = 0; var11 < 8 && var9; ++var11) { + int var12 = ((var7 << 3) + var11) * var4; + var12 = var6[var10 + var12] & 255; + if(var12 > 128) { + var9 = false; + } + } + } + + if(var14 == 32) { + var8 = 4; + } + + this.charWidths[var14] = var8; + } + + this.fontTexture = var2.getTextureId(var1); + } + + public final void drawShadow(String var1, int var2, int var3, int var4) { + this.draw(var1, var2 + 1, var3 + 1, var4, true); + this.draw(var1, var2, var3, var4); + } + + public final void draw(String var1, int var2, int var3, int var4) { + this.draw(var1, var2, var3, var4, false); + } + + private void draw(String var1, int var2, int var3, int var4, boolean var5) { + if(var1 != null) { + char[] var12 = var1.toCharArray(); + if(var5) { + var4 = (var4 & 16579836) >> 2; + } + + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.fontTexture); + Tesselator var6 = Tesselator.instance; + var6.begin(); + var6.color(var4); + int var7 = 0; + + for(int var8 = 0; var8 < var12.length; ++var8) { + int var9; + if(var12[var8] == 38 && var12.length > var8 + 1) { + var4 = "0123456789abcdef".indexOf(var12[var8 + 1]); + if(var4 < 0) { + var4 = 15; + } + + var9 = (var4 & 8) << 3; + int var10 = (var4 & 1) * 191 + var9; + int var11 = ((var4 & 2) >> 1) * 191 + var9; + var4 = ((var4 & 4) >> 2) * 191 + var9; + var4 = var4 << 16 | var11 << 8 | var10; + var8 += 2; + if(var5) { + var4 = (var4 & 16579836) >> 2; + } + + var6.color(var4); + } + + var4 = var12[var8] % 16 << 3; + var9 = var12[var8] / 16 << 3; + float var13 = 7.99F; + var6.vertexUV((float)(var2 + var7), (float)var3 + var13, 0.0F, (float)var4 / 128.0F, ((float)var9 + var13) / 128.0F); + var6.vertexUV((float)(var2 + var7) + var13, (float)var3 + var13, 0.0F, ((float)var4 + var13) / 128.0F, ((float)var9 + var13) / 128.0F); + var6.vertexUV((float)(var2 + var7) + var13, (float)var3, 0.0F, ((float)var4 + var13) / 128.0F, (float)var9 / 128.0F); + var6.vertexUV((float)(var2 + var7), (float)var3, 0.0F, (float)var4 / 128.0F, (float)var9 / 128.0F); + var7 += this.charWidths[var12[var8]]; + } + + var6.end(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + } + + public final int width(String var1) { + if(var1 == null) { + return 0; + } else { + char[] var4 = var1.toCharArray(); + int var2 = 0; + + for(int var3 = 0; var3 < var4.length; ++var3) { + if(var4[var3] == 38) { + ++var3; + } else { + var2 += this.charWidths[var4[var3]]; + } + } + + return var2; + } + } + + public static String removeColorCodes(String var0) { + char[] var3 = var0.toCharArray(); + String var1 = ""; + + for(int var2 = 0; var2 < var3.length; ++var2) { + if(var3[var2] == 38) { + ++var2; + } else { + var1 = var1 + var3[var2]; + } + } + + return var1; + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/Gui.java b/src/main/java/com/mojang/minecraft/gui/Gui.java new file mode 100644 index 0000000..6e1054a --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/Gui.java @@ -0,0 +1,68 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.renderer.Tesselator; +import org.lwjgl.opengl.GL11; + +public class Gui { + protected float zLevel = 0.0F; + + protected static void fill(int var0, int var1, int var2, int var3, int var4) { + float var5 = (float)(var4 >>> 24) / 255.0F; + float var6 = (float)(var4 >> 16 & 255) / 255.0F; + float var7 = (float)(var4 >> 8 & 255) / 255.0F; + float var9 = (float)(var4 & 255) / 255.0F; + Tesselator var8 = Tesselator.instance; + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glColor4f(var6, var7, var9, var5); + var8.begin(); + var8.vertex((float)var0, (float)var3, 0.0F); + var8.vertex((float)var2, (float)var3, 0.0F); + var8.vertex((float)var2, (float)var1, 0.0F); + var8.vertex((float)var0, (float)var1, 0.0F); + var8.end(); + GL11.glDisable(GL11.GL_BLEND); + } + + protected static void fillGradient(int var0, int var1, int var2, int var3, int var4, int var5) { + float var6 = (float)(var4 >>> 24) / 255.0F; + float var7 = (float)(var4 >> 16 & 255) / 255.0F; + float var8 = (float)(var4 >> 8 & 255) / 255.0F; + float var12 = (float)(var4 & 255) / 255.0F; + float var9 = (float)(var5 >>> 24) / 255.0F; + float var10 = (float)(var5 >> 16 & 255) / 255.0F; + float var11 = (float)(var5 >> 8 & 255) / 255.0F; + float var13 = (float)(var5 & 255) / 255.0F; + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glBegin(GL11.GL_QUADS); + GL11.glColor4f(var7, var8, var12, var6); + GL11.glVertex2f((float)var2, (float)var1); + GL11.glVertex2f((float)var0, (float)var1); + GL11.glColor4f(var10, var11, var13, var9); + GL11.glVertex2f((float)var0, (float)var3); + GL11.glVertex2f((float)var2, (float)var3); + GL11.glEnd(); + GL11.glDisable(GL11.GL_BLEND); + } + + public static void drawCenteredString(Font var0, String var1, int var2, int var3, int var4) { + var0.drawShadow(var1, var2 - var0.width(var1) / 2, var3, var4); + } + + public static void drawString(Font var0, String var1, int var2, int var3, int var4) { + var0.drawShadow(var1, var2, var3, var4); + } + + public final void blit(int var1, int var2, int var3, int var4, int var5, int var6) { + float var7 = 0.00390625F; + float var8 = 0.00390625F; + Tesselator var9 = Tesselator.instance; + var9.begin(); + var9.vertexUV((float)var1, (float)(var2 + var6), this.zLevel, (float)var3 * var7, (float)(var4 + var6) * var8); + var9.vertexUV((float)(var1 + var5), (float)(var2 + var6), this.zLevel, (float)(var3 + var5) * var7, (float)(var4 + var6) * var8); + var9.vertexUV((float)(var1 + var5), (float)var2, this.zLevel, (float)(var3 + var5) * var7, (float)var4 * var8); + var9.vertexUV((float)var1, (float)var2, this.zLevel, (float)var3 * var7, (float)var4 * var8); + var9.end(); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/InGameHud.java b/src/main/java/com/mojang/minecraft/gui/InGameHud.java new file mode 100644 index 0000000..9f31680 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/InGameHud.java @@ -0,0 +1,150 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.ChatLine; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.net.ConnectionManager; +import com.mojang.minecraft.net.NetworkPlayer; +import com.mojang.minecraft.player.Inventory; +import com.mojang.minecraft.renderer.Tesselator; +import com.mojang.minecraft.renderer.Textures; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +public final class InGameHud extends Gui { + public List messages = new ArrayList(); + private Minecraft minecraft; + private int scaledWidth; + private int scaledHeight; + public String hoveredUsername = null; + + public InGameHud(Minecraft var1, int var2, int var3) { + this.minecraft = var1; + this.scaledWidth = var2 * 240 / var3; + this.scaledHeight = var3 * 240 / var3; + } + + public final void render(boolean var1, int var2, int var3) { + Font var4 = this.minecraft.font; + this.minecraft.renderHelper.initGui(); + Textures var5 = this.minecraft.textures; + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.minecraft.textures.getTextureId("/gui.png")); + GL11.glEnable(GL11.GL_TEXTURE_2D); + Tesselator var6 = Tesselator.instance; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glEnable(GL11.GL_BLEND); + Inventory var7 = this.minecraft.player.inventory; + this.zLevel = -90.0F; + this.blit(this.scaledWidth / 2 - 91, this.scaledHeight - 22, 0, 0, 182, 22); + this.blit(this.scaledWidth / 2 - 91 - 1 + var7.selectedSlot * 20, this.scaledHeight - 22 - 1, 0, 22, 24, 22); + GL11.glDisable(GL11.GL_BLEND); + + int var8; + int var9; + int var10; + for(var8 = 0; var8 < var7.slots.length; ++var8) { + var9 = var7.slots[var8]; + if(var9 > 0) { + GL11.glPushMatrix(); + GL11.glTranslatef((float)(this.scaledWidth / 2 - 90 + var8 * 20), (float)(this.scaledHeight - 16), -50.0F); + GL11.glScalef(10.0F, 10.0F, 10.0F); + GL11.glTranslatef(1.0F, 0.5F, 0.0F); + GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(-1.5F, 0.5F, 0.5F); + GL11.glScalef(-1.0F, -1.0F, -1.0F); + var10 = var5.getTextureId("/terrain.png"); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var10); + GL11.glEnable(GL11.GL_TEXTURE_2D); + var6.begin(); + Tile.tiles[var9].render(var6, this.minecraft.level, 0, -2, 0, 0); + var6.end(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glPopMatrix(); + } + } + + var4.drawShadow("0.0.23a_01", 2, 2, 16777215); + if(this.minecraft.options.showFPS) { + var4.drawShadow(this.minecraft.fpsString, 2, 12, 16777215); + } + + byte var18 = 10; + boolean var19 = false; + if(this.minecraft.screen instanceof ChatScreen) { + var18 = 20; + var19 = true; + } + + for(var10 = 0; var10 < this.messages.size() && var10 < var18; ++var10) { + if(((ChatLine)this.messages.get(var10)).counter < 200 || var19) { + var4.drawShadow(((ChatLine)this.messages.get(var10)).message, 2, this.scaledHeight - 8 - var10 * 9 - 20, 16777215); + } + } + + var10 = this.scaledWidth / 2; + int var11 = this.scaledHeight / 2; + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + var6.begin(); + var6.vertex((float)(var10 + 1), (float)(var11 - 4), 0.0F); + var6.vertex((float)var10, (float)(var11 - 4), 0.0F); + var6.vertex((float)var10, (float)(var11 + 5), 0.0F); + var6.vertex((float)(var10 + 1), (float)(var11 + 5), 0.0F); + var6.vertex((float)(var10 + 5), (float)var11, 0.0F); + var6.vertex((float)(var10 - 4), (float)var11, 0.0F); + var6.vertex((float)(var10 - 4), (float)(var11 + 1), 0.0F); + var6.vertex((float)(var10 + 5), (float)(var11 + 1), 0.0F); + var6.end(); + this.hoveredUsername = null; + if(Keyboard.isKeyDown(Keyboard.KEY_TAB) && this.minecraft.connectionManager != null && this.minecraft.connectionManager.isConnected()) { + ConnectionManager var12 = this.minecraft.connectionManager; + ArrayList var15 = new ArrayList(); + var15.add(var12.minecraft.user.name); + Iterator var13 = var12.players.values().iterator(); + + while(var13.hasNext()) { + NetworkPlayer var20 = (NetworkPlayer)var13.next(); + var15.add(var20.name); + } + + ArrayList var14 = var15; + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glBegin(GL11.GL_QUADS); + GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.7F); + GL11.glVertex2f((float)(var10 + 128), (float)(var11 - 68 - 12)); + GL11.glVertex2f((float)(var10 - 128), (float)(var11 - 68 - 12)); + GL11.glColor4f(0.2F, 0.2F, 0.2F, 0.8F); + GL11.glVertex2f((float)(var10 - 128), (float)(var11 + 68)); + GL11.glVertex2f((float)(var10 + 128), (float)(var11 + 68)); + GL11.glEnd(); + GL11.glDisable(GL11.GL_BLEND); + String var16 = "Connected players:"; + var4.drawShadow(var16, var10 - var4.width(var16) / 2, var11 - 64 - 12, 16777215); + + for(int var17 = 0; var17 < var14.size(); ++var17) { + var8 = var10 + var17 % 2 * 120 - 120; + var9 = var11 - 64 + (var17 / 2 << 3); + if(var1 && var2 >= var8 && var3 >= var9 && var2 < var8 + 120 && var3 < var9 + 8) { + this.hoveredUsername = (String)var14.get(var17); + var4.draw((String)var14.get(var17), var8 + 2, var9, 16777215); + } else { + var4.draw((String)var14.get(var17), var8, var9, 15658734); + } + } + } + + } + + public final void addChatMessage(String var1) { + this.messages.add(0, new ChatLine(var1)); + + while(this.messages.size() > 50) { + this.messages.remove(this.messages.size() - 1); + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/InventoryScreen.java b/src/main/java/com/mojang/minecraft/gui/InventoryScreen.java new file mode 100644 index 0000000..ca3ab71 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/InventoryScreen.java @@ -0,0 +1,81 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.User; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.player.Inventory; +import com.mojang.minecraft.renderer.Tesselator; +import com.mojang.minecraft.renderer.Textures; +import org.lwjgl.opengl.GL11; + +public final class InventoryScreen extends Screen { + public InventoryScreen() { + this.allowUserInput = true; + } + + private int getTileAtSlot(int var1, int var2) { + for(int var3 = 0; var3 < User.creativeTiles.size(); ++var3) { + int var4 = this.width / 2 + var3 % 8 * 24 - 96 - 3; + int var5 = this.height / 2 + var3 / 8 * 24 - 48 + 3; + if(var1 >= var4 && var1 <= var4 + 24 && var2 >= var5 - 12 && var2 <= var5 + 12) { + return var3; + } + } + + return -1; + } + + public final void render(int var1, int var2) { + var1 = this.getTileAtSlot(var1, var2); + fillGradient(this.width / 2 - 120, 30, this.width / 2 + 120, 180, -1878719232, -1070583712); + if(var1 >= 0) { + var2 = this.width / 2 + var1 % 8 * 24 - 96; + int var3 = this.height / 2 + var1 / 8 * 24 - 48; + fillGradient(var2 - 3, var3 - 8, var2 + 23, var3 + 24 - 6, -1862270977, -1056964609); + } + + drawCenteredString(this.font, "Select block", this.width / 2, 40, 16777215); + Textures var7 = this.minecraft.textures; + Tesselator var8 = Tesselator.instance; + var2 = var7.getTextureId("/terrain.png"); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var2); + GL11.glEnable(GL11.GL_TEXTURE_2D); + + for(var2 = 0; var2 < User.creativeTiles.size(); ++var2) { + Tile var4 = (Tile)User.creativeTiles.get(var2); + GL11.glPushMatrix(); + int var5 = this.width / 2 + var2 % 8 * 24 - 96; + int var6 = this.height / 2 + var2 / 8 * 24 - 48; + GL11.glTranslatef((float)var5, (float)var6, 0.0F); + GL11.glScalef(10.0F, 10.0F, 10.0F); + GL11.glTranslatef(1.0F, 0.5F, 8.0F); + GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); + if(var1 == var2) { + GL11.glScalef(1.6F, 1.6F, 1.6F); + } + + GL11.glTranslatef(-1.5F, 0.5F, 0.5F); + GL11.glScalef(-1.0F, -1.0F, -1.0F); + var8.begin(); + var4.render(var8, this.minecraft.level, 0, -2, 0, 0); + var8.end(); + GL11.glPopMatrix(); + } + + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + + protected final void mousePressed(int var1, int var2, int var3) { + if(var3 == 0) { + Inventory var10000 = this.minecraft.player.inventory; + var2 = this.getTileAtSlot(var1, var2); + Inventory var4 = var10000; + if(var2 >= 0) { + var4.setTile((Tile)User.creativeTiles.get(var2)); + } + + this.minecraft.setScreen((Screen)null); + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/KeyBindingButton.java b/src/main/java/com/mojang/minecraft/gui/KeyBindingButton.java new file mode 100644 index 0000000..b5d7fd6 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/KeyBindingButton.java @@ -0,0 +1,7 @@ +package com.mojang.minecraft.gui; + +public final class KeyBindingButton extends Button { + public KeyBindingButton(int var1, int var2, int var3, String var4) { + super(var1, var2, var3, 150, 20, var4); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/LoadLevelScreen.java b/src/main/java/com/mojang/minecraft/gui/LoadLevelScreen.java new file mode 100644 index 0000000..d053c4d --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/LoadLevelScreen.java @@ -0,0 +1,89 @@ +package com.mojang.minecraft.gui; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.URL; + +public class LoadLevelScreen extends Screen implements Runnable { + private Screen parent; + private boolean finished = false; + private boolean loaded = false; + private String[] levels = null; + private String status = ""; + protected String title = "Load level"; + + public LoadLevelScreen(Screen var1) { + this.parent = var1; + } + + public void run() { + try { + this.status = "Getting level list.."; + URL var1 = new URL("http://" + this.minecraft.minecraftUri + "/listmaps.jsp?user=" + this.minecraft.user.name); + BufferedReader var3 = new BufferedReader(new InputStreamReader(var1.openConnection().getInputStream())); + this.levels = var3.readLine().split(";"); + if(this.levels.length >= 5) { + this.setLevels(this.levels); + this.loaded = true; + return; + } + + this.status = this.levels[0]; + this.finished = true; + } catch (Exception var2) { + var2.printStackTrace(); + this.status = "Failed to load levels"; + this.finished = true; + } + + } + + protected void setLevels(String[] var1) { + for(int var2 = 0; var2 < 5; ++var2) { + ((Button)this.buttons.get(var2)).enabled = !var1[var2].equals("-"); + ((Button)this.buttons.get(var2)).msg = var1[var2]; + ((Button)this.buttons.get(var2)).visible = true; + } + + } + + public final void init() { + (new Thread(this)).start(); + + for(int var1 = 0; var1 < 5; ++var1) { + this.buttons.add(new Button(var1, this.width / 2 - 100, this.height / 4 + var1 * 24, "---")); + ((Button)this.buttons.get(var1)).visible = false; + } + + this.buttons.add(new Button(5, this.width / 2 - 100, this.height / 4 + 144, "Cancel")); + } + + protected final void buttonClicked(Button var1) { + if(var1.enabled) { + if(this.loaded && var1.id < 5) { + this.loadLevel(var1.id); + } + + if(this.finished || this.loaded && var1.id == 5) { + this.minecraft.setScreen(this.parent); + } + + } + } + + protected void loadLevel(int var1) { + this.minecraft.loadLevel(this.minecraft.user.name, var1); + this.minecraft.setScreen((Screen)null); + this.minecraft.grabMouse(); + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, 1610941696, -1607454624); + drawCenteredString(this.font, this.title, this.width / 2, 40, 16777215); + if(!this.loaded) { + drawCenteredString(this.font, this.status, this.width / 2, this.height / 2 - 4, 16777215); + } + + super.render(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/NameLevelScreen.java b/src/main/java/com/mojang/minecraft/gui/NameLevelScreen.java new file mode 100644 index 0000000..b5f935f --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/NameLevelScreen.java @@ -0,0 +1,81 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.Minecraft; +import org.lwjgl.input.Keyboard; + +public final class NameLevelScreen extends Screen { + private Screen parent; + private String title = "Enter level name:"; + private int id; + private String name; + private int counter = 0; + + public NameLevelScreen(Screen var1, String var2, int var3) { + this.parent = var1; + this.id = var3; + this.name = var2; + if(this.name.equals("-")) { + this.name = ""; + } + + } + + public final void init() { + this.buttons.clear(); + Keyboard.enableRepeatEvents(true); + this.buttons.add(new Button(0, this.width / 2 - 100, this.height / 4 + 120, "Save")); + this.buttons.add(new Button(1, this.width / 2 - 100, this.height / 4 + 144, "Cancel")); + ((Button)this.buttons.get(0)).enabled = this.name.trim().length() > 1; + } + + public final void closeScreen() { + Keyboard.enableRepeatEvents(false); + } + + public final void tick() { + ++this.counter; + } + + protected final void buttonClicked(Button var1) { + if(var1.enabled) { + if(var1.id == 0 && this.name.trim().length() > 1) { + Minecraft var10000 = this.minecraft; + int var10001 = this.id; + String var4 = this.name.trim(); + int var3 = var10001; + Minecraft var2 = var10000; + var2.levelIo.save(var2.level, var2.minecraftUri, var2.user.name, var2.user.sessionId, var4, var3); + this.minecraft.setScreen((Screen)null); + this.minecraft.grabMouse(); + } + + if(var1.id == 1) { + this.minecraft.setScreen(this.parent); + } + + } + } + + protected final void keyPressed(char var1, int var2) { + if(var2 == 14 && this.name.length() > 0) { + this.name = this.name.substring(0, this.name.length() - 1); + } + + if("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,.:-_\'*!\"#%/()=+?[]{}<>".indexOf(var1) >= 0 && this.name.length() < 64) { + this.name = this.name + var1; + } + + ((Button)this.buttons.get(0)).enabled = this.name.trim().length() > 1; + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, 1610941696, -1607454624); + drawCenteredString(this.font, this.title, this.width / 2, 40, 16777215); + int var3 = this.width / 2 - 100; + int var4 = this.height / 2 - 10; + fill(var3 - 1, var4 - 1, var3 + 200 + 1, var4 + 20 + 1, -6250336); + fill(var3, var4, var3 + 200, var4 + 20, -16777216); + drawString(this.font, this.name + (this.counter / 6 % 2 == 0 ? "_" : ""), var3 + 4, var4 + 6, 14737632); + super.render(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/NewLevelScreen.java b/src/main/java/com/mojang/minecraft/gui/NewLevelScreen.java new file mode 100644 index 0000000..d4eb139 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/NewLevelScreen.java @@ -0,0 +1,33 @@ +package com.mojang.minecraft.gui; + +public final class NewLevelScreen extends Screen { + private Screen parent; + + public NewLevelScreen(Screen var1) { + this.parent = var1; + } + + public final void init() { + this.buttons.clear(); + this.buttons.add(new Button(0, this.width / 2 - 100, this.height / 3, "Small")); + this.buttons.add(new Button(1, this.width / 2 - 100, this.height / 3 + 32, "Normal")); + this.buttons.add(new Button(2, this.width / 2 - 100, this.height / 3 + 64, "Huge")); + this.buttons.add(new Button(3, this.width / 2 - 100, this.height / 3 + 96, "Cancel")); + } + + protected final void buttonClicked(Button var1) { + if(var1.id == 3) { + this.minecraft.setScreen(this.parent); + } else { + this.minecraft.generateLevel(var1.id); + this.minecraft.setScreen((Screen)null); + this.minecraft.grabMouse(); + } + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, 1610941696, -1607454624); + drawCenteredString(this.font, "Generate new level", this.width / 2, 40, 16777215); + super.render(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/OptionsScreen.java b/src/main/java/com/mojang/minecraft/gui/OptionsScreen.java new file mode 100644 index 0000000..ec55bfb --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/OptionsScreen.java @@ -0,0 +1,47 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.Options; + +public final class OptionsScreen extends Screen { + private Screen parent; + private String title = "Options"; + private Options options; + + public OptionsScreen(Screen var1, Options var2) { + this.parent = var1; + this.options = var2; + } + + public final void init() { + for(int var1 = 0; var1 < 5; ++var1) { + this.buttons.add(new Button(var1, this.width / 2 - 100, this.height / 6 + var1 * 24, this.options.getOption(var1))); + } + + this.buttons.add(new Button(10, this.width / 2 - 100, this.height / 6 + 120 + 12, "Controls...")); + this.buttons.add(new Button(20, this.width / 2 - 100, this.height / 6 + 168, "Done")); + } + + protected final void buttonClicked(Button var1) { + if(var1.enabled) { + if(var1.id < 5) { + this.options.setOption(var1.id, 1); + var1.msg = this.options.getOption(var1.id); + } + + if(var1.id == 10) { + this.minecraft.setScreen(new ControlsScreen(this, this.options)); + } + + if(var1.id == 20) { + this.minecraft.setScreen(this.parent); + } + + } + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, 1610941696, -1607454624); + drawCenteredString(this.font, this.title, this.width / 2, 20, 16777215); + super.render(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/PauseScreen.java b/src/main/java/com/mojang/minecraft/gui/PauseScreen.java new file mode 100644 index 0000000..dc907f7 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/PauseScreen.java @@ -0,0 +1,55 @@ +package com.mojang.minecraft.gui; + +public final class PauseScreen extends Screen { + public final void init() { + this.buttons.clear(); + this.buttons.add(new Button(0, this.width / 2 - 100, this.height / 4, "Options...")); + this.buttons.add(new Button(1, this.width / 2 - 100, this.height / 4 + 24, "Generate new level...")); + this.buttons.add(new Button(2, this.width / 2 - 100, this.height / 4 + 48, "Save level..")); + this.buttons.add(new Button(3, this.width / 2 - 100, this.height / 4 + 72, "Load level..")); + this.buttons.add(new Button(4, this.width / 2 - 100, this.height / 4 + 120, "Back to game")); + if(this.minecraft.user == null) { + ((Button)this.buttons.get(2)).enabled = false; + ((Button)this.buttons.get(3)).enabled = false; + } + + if(this.minecraft.connectionManager != null) { + ((Button)this.buttons.get(1)).enabled = false; + ((Button)this.buttons.get(2)).enabled = false; + ((Button)this.buttons.get(3)).enabled = false; + } + + } + + protected final void buttonClicked(Button var1) { + if(var1.id == 0) { + this.minecraft.setScreen(new OptionsScreen(this, this.minecraft.options)); + } + + if(var1.id == 1) { + this.minecraft.setScreen(new NewLevelScreen(this)); + } + + if(this.minecraft.user != null) { + if(var1.id == 2) { + this.minecraft.setScreen(new SaveLevelScreen(this)); + } + + if(var1.id == 3) { + this.minecraft.setScreen(new LoadLevelScreen(this)); + } + } + + if(var1.id == 4) { + this.minecraft.setScreen((Screen)null); + this.minecraft.grabMouse(); + } + + } + + public final void render(int var1, int var2) { + fillGradient(0, 0, this.width, this.height, 1610941696, -1607454624); + drawCenteredString(this.font, "Game menu", this.width / 2, 40, 16777215); + super.render(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/SaveLevelScreen.java b/src/main/java/com/mojang/minecraft/gui/SaveLevelScreen.java new file mode 100644 index 0000000..d9c31a8 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/SaveLevelScreen.java @@ -0,0 +1,20 @@ +package com.mojang.minecraft.gui; + +public final class SaveLevelScreen extends LoadLevelScreen { + public SaveLevelScreen(Screen var1) { + super(var1); + this.title = "Save level"; + } + + protected final void setLevels(String[] var1) { + for(int var2 = 0; var2 < 5; ++var2) { + ((Button)this.buttons.get(var2)).msg = var1[var2]; + ((Button)this.buttons.get(var2)).visible = true; + } + + } + + protected final void loadLevel(int var1) { + this.minecraft.setScreen(new NameLevelScreen(this, ((Button)this.buttons.get(var1)).msg, var1)); + } +} diff --git a/src/main/java/com/mojang/minecraft/gui/Screen.java b/src/main/java/com/mojang/minecraft/gui/Screen.java new file mode 100644 index 0000000..7b09ad9 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/gui/Screen.java @@ -0,0 +1,115 @@ +package com.mojang.minecraft.gui; + +import com.mojang.minecraft.Minecraft; +import java.util.ArrayList; +import java.util.List; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; + +public class Screen extends Gui { + protected Minecraft minecraft; + protected int width; + protected int height; + protected List buttons = new ArrayList(); + public boolean allowUserInput = false; + protected Font font; + + public void render(int var1, int var2) { + for(int var3 = 0; var3 < this.buttons.size(); ++var3) { + Button var4 = (Button)this.buttons.get(var3); + Minecraft var5 = this.minecraft; + if(var4.visible) { + Font var8 = var5.font; + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var5.textures.getTextureId("/gui.png")); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + byte var9 = 1; + boolean var6 = var1 >= var4.w && var2 >= var4.h && var1 < var4.w + var4.x && var2 < var4.h + var4.y; + if(!var4.enabled) { + var9 = 0; + } else if(var6) { + var9 = 2; + } + + var4.blit(var4.w, var4.h, 0, 46 + var9 * 20, var4.x / 2, var4.y); + var4.blit(var4.w + var4.x / 2, var4.h, 200 - var4.x / 2, 46 + var9 * 20, var4.x / 2, var4.y); + if(!var4.enabled) { + Button.drawCenteredString(var8, var4.msg, var4.w + var4.x / 2, var4.h + (var4.y - 8) / 2, -6250336); + } else if(var6) { + Button.drawCenteredString(var8, var4.msg, var4.w + var4.x / 2, var4.h + (var4.y - 8) / 2, 16777120); + } else { + Button.drawCenteredString(var8, var4.msg, var4.w + var4.x / 2, var4.h + (var4.y - 8) / 2, 14737632); + } + } + } + + } + + protected void keyPressed(char var1, int var2) { + if(var2 == 1) { + this.minecraft.setScreen((Screen)null); + this.minecraft.grabMouse(); + } + + } + + protected void mousePressed(int var1, int var2, int var3) { + if(var3 == 0) { + for(var3 = 0; var3 < this.buttons.size(); ++var3) { + Button var4 = (Button)this.buttons.get(var3); + if(var4.enabled && var1 >= var4.w && var2 >= var4.h && var1 < var4.w + var4.x && var2 < var4.h + var4.y) { + this.buttonClicked(var4); + } + } + } + + } + + protected void buttonClicked(Button var1) { + } + + public final void init(Minecraft var1, int var2, int var3) { + this.minecraft = var1; + this.font = var1.font; + this.width = var2; + this.height = var3; + this.init(); + } + + public void init() { + } + + public final void updateEvents() { + while(Mouse.next()) { + this.updateMouseEvents(); + } + + while(Keyboard.next()) { + this.updateKeyboardEvents(); + } + + } + + public final void updateMouseEvents() { + if(Mouse.getEventButtonState()) { + int var1 = Mouse.getEventX() * this.width / this.minecraft.width; + int var2 = this.height - Mouse.getEventY() * this.height / this.minecraft.height - 1; + this.mousePressed(var1, var2, Mouse.getEventButton()); + } + + } + + public final void updateKeyboardEvents() { + if(Keyboard.getEventKeyState()) { + this.keyPressed(Keyboard.getEventCharacter(), Keyboard.getEventKey()); + } + + } + + public void tick() { + } + + public void closeScreen() { + } +} diff --git a/src/main/java/com/mojang/minecraft/level/Coord.java b/src/main/java/com/mojang/minecraft/level/Coord.java new file mode 100644 index 0000000..6a2cc84 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/Coord.java @@ -0,0 +1,16 @@ +package com.mojang.minecraft.level; + +public final class Coord { + public int x; + public int y; + public int z; + public int id; + public int scheduledTime; + + public Coord(int var1, int var2, int var3, int var4) { + this.x = var1; + this.y = var2; + this.z = var3; + this.id = var4; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/Level.java b/src/main/java/com/mojang/minecraft/level/Level.java new file mode 100644 index 0000000..cae0904 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/Level.java @@ -0,0 +1,820 @@ +package com.mojang.minecraft.level; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.HitResult; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.character.Vec3; +import com.mojang.minecraft.level.liquid.Liquid; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.phys.AABB; +import com.mojang.minecraft.renderer.LevelRenderer; +import com.mojang.minecraft.sound.AudioInfo; +import com.mojang.minecraft.sound.EntitySoundPos; +import com.mojang.minecraft.sound.LevelSoundPos; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Random; + +public class Level implements Serializable { + public static final long serialVersionUID = 0L; + public int width; + public int height; + public int depth; + public byte[] blocks; + public String name; + public String creator; + public long createTime; + public int xSpawn; + public int ySpawn; + public int zSpawn; + public float rotSpawn; + private transient ArrayList levelListeners = new ArrayList(); + private transient int[] heightMap; + private transient Random random = new Random(); + private transient int randValue = this.random.nextInt(); + private transient ArrayList tickList = new ArrayList(); + public ArrayList entities = new ArrayList(); + private boolean networkMode = false; + public transient Minecraft rendererContext; + int unprocessed = 0; + private int tickCount = 0; + + public void initTransient() { + if(this.blocks == null) { + throw new RuntimeException("The level is corrupt!"); + } else { + this.levelListeners = new ArrayList(); + this.heightMap = new int[this.width * this.height]; + Arrays.fill(this.heightMap, this.depth); + this.calcLightDepths(0, 0, this.width, this.height); + this.random = new Random(); + this.randValue = this.random.nextInt(); + this.tickList = new ArrayList(); + if(this.entities == null) { + this.entities = new ArrayList(); + } + + if(this.xSpawn == 0 && this.ySpawn == 0 && this.zSpawn == 0) { + this.findSpawn(); + } + + } + } + + public void setData(int var1, int var2, int var3, byte[] var4) { + this.width = var1; + this.height = var3; + this.depth = var2; + this.blocks = var4; + this.heightMap = new int[var1 * var3]; + Arrays.fill(this.heightMap, this.depth); + this.calcLightDepths(0, 0, var1, var3); + + for(var1 = 0; var1 < this.levelListeners.size(); ++var1) { + ((LevelRenderer)this.levelListeners.get(var1)).compileSurroundingGround(); + } + + this.tickList.clear(); + this.findSpawn(); + System.gc(); + } + + public void findSpawn() { + Random var1 = new Random(); + int var2 = 0; + + int var3; + int var4; + int var5; + do { + ++var2; + var3 = var1.nextInt(this.width / 2) + this.width / 4; + var4 = var1.nextInt(this.height / 2) + this.height / 4; + var5 = this.getHighestTile(var3, var4) + 1; + if(var2 == 10000) { + this.xSpawn = var3; + this.ySpawn = -100; + this.zSpawn = var4; + return; + } + } while((float)var5 <= this.getWaterLevel()); + + this.xSpawn = var3; + this.ySpawn = var5; + this.zSpawn = var4; + } + + public void calcLightDepths(int var1, int var2, int var3, int var4) { + for(int var5 = var1; var5 < var1 + var3; ++var5) { + for(int var6 = var2; var6 < var2 + var4; ++var6) { + int var7 = this.heightMap[var5 + var6 * this.width]; + + int var8; + for(var8 = this.depth - 1; var8 > 0 && !this.isLightBlocker(var5, var8, var6); --var8) { + } + + this.heightMap[var5 + var6 * this.width] = var8 + 1; + if(var7 != var8) { + int var9 = var7 < var8 ? var7 : var8; + var7 = var7 > var8 ? var7 : var8; + + for(var8 = 0; var8 < this.levelListeners.size(); ++var8) { + LevelRenderer var10 = (LevelRenderer)this.levelListeners.get(var8); + var10.setDirty(var5 - 1, var9 - 1, var6 - 1, var5 + 1, var7 + 1, var6 + 1); + } + } + } + } + + } + + public void addListener(LevelRenderer var1) { + this.levelListeners.add(var1); + } + + public void finalize() { + } + + public void removeListener(LevelRenderer var1) { + this.levelListeners.remove(var1); + } + + public boolean isLightBlocker(int var1, int var2, int var3) { + Tile var4 = Tile.tiles[this.getTile(var1, var2, var3)]; + return var4 == null ? false : var4.blocksLight(); + } + + public ArrayList getCubes(AABB var1) { + ArrayList var2 = new ArrayList(); + int var3 = (int)var1.x0; + int var4 = (int)var1.x1 + 1; + int var5 = (int)var1.y0; + int var6 = (int)var1.y1 + 1; + int var7 = (int)var1.z0; + int var8 = (int)var1.z1 + 1; + if(var1.x0 < 0.0F) { + --var3; + } + + if(var1.y0 < 0.0F) { + --var5; + } + + if(var1.z0 < 0.0F) { + --var7; + } + + for(int var11 = var3; var11 < var4; ++var11) { + for(var3 = var5; var3 < var6; ++var3) { + for(int var9 = var7; var9 < var8; ++var9) { + AABB var10; + if(var11 >= 0 && var3 >= 0 && var9 >= 0 && var11 < this.width && var3 < this.depth && var9 < this.height) { + Tile var12 = Tile.tiles[this.getTile(var11, var3, var9)]; + if(var12 != null) { + var10 = var12.getTileAABB(var11, var3, var9); + if(var10 != null) { + var2.add(var10); + } + } + } else if(var11 < 0 || var3 < 0 || var9 < 0 || var11 >= this.width || var9 >= this.height) { + var10 = Tile.unbreakable.getTileAABB(var11, var3, var9); + if(var10 != null) { + var2.add(var10); + } + } + } + } + } + + return var2; + } + + public void swap(int var1, int var2, int var3, int var4, int var5, int var6) { + if(!this.networkMode) { + int var7 = this.getTile(var1, var2, var3); + int var8 = this.getTile(var4, var5, var6); + this.setTileNoNeighborChange(var1, var2, var3, var8); + this.setTileNoNeighborChange(var4, var5, var6, var7); + this.updateNeighborsAt(var1, var2, var3, var8); + this.updateNeighborsAt(var4, var5, var6, var7); + } + } + + public boolean setTileNoNeighborChange(int var1, int var2, int var3, int var4) { + return this.networkMode ? false : this.netSetTileNoNeighborChange(var1, var2, var3, var4); + } + + public boolean netSetTileNoNeighborChange(int var1, int var2, int var3, int var4) { + if(var1 >= 0 && var2 >= 0 && var3 >= 0 && var1 < this.width && var2 < this.depth && var3 < this.height) { + if(var4 == this.blocks[(var2 * this.height + var3) * this.width + var1]) { + return false; + } else { + if(var4 == 0 && (var1 == 0 || var3 == 0 || var1 == this.width - 1 || var3 == this.height - 1) && (float)var2 >= this.getGroundLevel() && (float)var2 < this.getWaterLevel()) { + var4 = Tile.water.id; + } + + byte var5 = this.blocks[(var2 * this.height + var3) * this.width + var1]; + this.blocks[(var2 * this.height + var3) * this.width + var1] = (byte)var4; + if(var5 != 0) { + Tile.tiles[var5].onTileRemoved(this, var1, var2, var3); + } + + if(var4 != 0) { + Tile.tiles[var4].onTileAdded(this, var1, var2, var3); + } + + this.calcLightDepths(var1, var3, 1, 1); + + for(var4 = 0; var4 < this.levelListeners.size(); ++var4) { + LevelRenderer var9 = (LevelRenderer)this.levelListeners.get(var4); + var9.setDirty(var1 - 1, var2 - 1, var3 - 1, var1 + 1, var2 + 1, var3 + 1); + } + + return true; + } + } else { + return false; + } + } + + public boolean setTile(int var1, int var2, int var3, int var4) { + if(this.networkMode) { + return false; + } else if(this.setTileNoNeighborChange(var1, var2, var3, var4)) { + this.updateNeighborsAt(var1, var2, var3, var4); + return true; + } else { + return false; + } + } + + public boolean netSetTile(int var1, int var2, int var3, int var4) { + if(this.netSetTileNoNeighborChange(var1, var2, var3, var4)) { + this.updateNeighborsAt(var1, var2, var3, var4); + return true; + } else { + return false; + } + } + + public void updateNeighborsAt(int var1, int var2, int var3, int var4) { + this.updateNeighborAt(var1 - 1, var2, var3, var4); + this.updateNeighborAt(var1 + 1, var2, var3, var4); + this.updateNeighborAt(var1, var2 - 1, var3, var4); + this.updateNeighborAt(var1, var2 + 1, var3, var4); + this.updateNeighborAt(var1, var2, var3 - 1, var4); + this.updateNeighborAt(var1, var2, var3 + 1, var4); + } + + public boolean setTileNoUpdate(int var1, int var2, int var3, int var4) { + if(var1 >= 0 && var2 >= 0 && var3 >= 0 && var1 < this.width && var2 < this.depth && var3 < this.height) { + if(var4 == this.blocks[(var2 * this.height + var3) * this.width + var1]) { + return false; + } else { + this.blocks[(var2 * this.height + var3) * this.width + var1] = (byte)var4; + return true; + } + } else { + return false; + } + } + + private void updateNeighborAt(int var1, int var2, int var3, int var4) { + if(var1 >= 0 && var2 >= 0 && var3 >= 0 && var1 < this.width && var2 < this.depth && var3 < this.height) { + Tile var5 = Tile.tiles[this.blocks[(var2 * this.height + var3) * this.width + var1]]; + if(var5 != null) { + var5.neighborChanged(this, var1, var2, var3, var4); + } + + } + } + + public boolean isLit(int var1, int var2, int var3) { + return var1 >= 0 && var2 >= 0 && var3 >= 0 && var1 < this.width && var2 < this.depth && var3 < this.height ? var2 >= this.heightMap[var1 + var3 * this.width] : true; + } + + public int getTile(int var1, int var2, int var3) { + return var1 >= 0 && var2 >= 0 && var3 >= 0 && var1 < this.width && var2 < this.depth && var3 < this.height ? this.blocks[(var2 * this.height + var3) * this.width + var1] & 255 : 0; + } + + public boolean isSolidTile(int var1, int var2, int var3) { + Tile var4 = Tile.tiles[this.getTile(var1, var2, var3)]; + return var4 == null ? false : var4.isSolid(); + } + + public void tickEntities() { + for(int var1 = 0; var1 < this.entities.size(); ++var1) { + ((Entity)this.entities.get(var1)).tick(); + if(((Entity)this.entities.get(var1)).removed) { + this.entities.remove(var1--); + } + } + + } + + public void tick() { + ++this.tickCount; + int var1 = 1; + + int var2; + for(var2 = 1; 1 << var1 < this.width; ++var1) { + } + + while(1 << var2 < this.height) { + ++var2; + } + + int var3 = this.height - 1; + int var4 = this.width - 1; + int var5 = this.depth - 1; + int var6; + int var7; + if(this.tickCount % 5 == 0) { + var6 = this.tickList.size(); + + for(var7 = 0; var7 < var6; ++var7) { + Coord var8 = (Coord)this.tickList.remove(0); + if(var8.scheduledTime > 0) { + --var8.scheduledTime; + this.tickList.add(var8); + } else if(this.isInLevelBounds(var8.x, var8.y, var8.z)) { + byte var9 = this.blocks[(var8.y * this.height + var8.z) * this.width + var8.x]; + if(var9 == var8.id && var9 > 0) { + Tile.tiles[var9].tick(this, var8.x, var8.y, var8.z, this.random); + } + } + } + } + + this.unprocessed += this.width * this.height * this.depth; + var6 = this.unprocessed / 200; + this.unprocessed -= var6 * 200; + + for(var7 = 0; var7 < var6; ++var7) { + this.randValue = this.randValue * 3 + 1013904223; + int var12 = this.randValue >> 2; + int var13 = var12 & var4; + int var10 = var12 >> var1 & var3; + var12 = var12 >> var1 + var2 & var5; + byte var11 = this.blocks[(var12 * this.height + var10) * this.width + var13]; + if(Tile.shouldTick[var11]) { + Tile.tiles[var11].tick(this, var13, var12, var10, this.random); + } + } + + } + + private boolean isInLevelBounds(int var1, int var2, int var3) { + return var1 >= 0 && var2 >= 0 && var3 >= 0 && var1 < this.width && var2 < this.depth && var3 < this.height; + } + + public float getGroundLevel() { + return (float)(this.depth / 2 - 2); + } + + public float getWaterLevel() { + return (float)(this.depth / 2); + } + + public boolean containsAnyLiquid(AABB var1) { + int var2 = (int)var1.x0; + int var3 = (int)var1.x1 + 1; + int var4 = (int)var1.y0; + int var5 = (int)var1.y1 + 1; + int var6 = (int)var1.z0; + int var7 = (int)var1.z1 + 1; + if(var1.x0 < 0.0F) { + --var2; + } + + if(var1.y0 < 0.0F) { + --var4; + } + + if(var1.z0 < 0.0F) { + --var6; + } + + if(var2 < 0) { + var2 = 0; + } + + if(var4 < 0) { + var4 = 0; + } + + if(var6 < 0) { + var6 = 0; + } + + if(var3 > this.width) { + var3 = this.width; + } + + if(var5 > this.depth) { + var5 = this.depth; + } + + if(var7 > this.height) { + var7 = this.height; + } + + for(int var10 = var2; var10 < var3; ++var10) { + for(var2 = var4; var2 < var5; ++var2) { + for(int var8 = var6; var8 < var7; ++var8) { + Tile var9 = Tile.tiles[this.getTile(var10, var2, var8)]; + if(var9 != null && var9.getLiquidType() != Liquid.none) { + return true; + } + } + } + } + + return false; + } + + public boolean containsLiquid(AABB var1, Liquid var2) { + int var3 = (int)var1.x0; + int var4 = (int)var1.x1 + 1; + int var5 = (int)var1.y0; + int var6 = (int)var1.y1 + 1; + int var7 = (int)var1.z0; + int var8 = (int)var1.z1 + 1; + if(var1.x0 < 0.0F) { + --var3; + } + + if(var1.y0 < 0.0F) { + --var5; + } + + if(var1.z0 < 0.0F) { + --var7; + } + + if(var3 < 0) { + var3 = 0; + } + + if(var5 < 0) { + var5 = 0; + } + + if(var7 < 0) { + var7 = 0; + } + + if(var4 > this.width) { + var4 = this.width; + } + + if(var6 > this.depth) { + var6 = this.depth; + } + + if(var8 > this.height) { + var8 = this.height; + } + + for(int var11 = var3; var11 < var4; ++var11) { + for(var3 = var5; var3 < var6; ++var3) { + for(int var9 = var7; var9 < var8; ++var9) { + Tile var10 = Tile.tiles[this.getTile(var11, var3, var9)]; + if(var10 != null && var10.getLiquidType() == var2) { + return true; + } + } + } + } + + return false; + } + + public void addToTickNextTick(int var1, int var2, int var3, int var4) { + if(!this.networkMode) { + Coord var5 = new Coord(var1, var2, var3, var4); + if(var4 > 0) { + var3 = Tile.tiles[var4].getTickDelay(); + var5.scheduledTime = var3; + } + + this.tickList.add(var5); + } + } + + public boolean isFree(AABB var1) { + for(int var2 = 0; var2 < this.entities.size(); ++var2) { + if(((Entity)this.entities.get(var2)).bb.intersects(var1)) { + return false; + } + } + + return true; + } + + public boolean isSolid(float var1, float var2, float var3, float var4) { + return this.isSolidTile(var1 - var4, var2 - var4, var3 - var4) ? true : (this.isSolidTile(var1 - var4, var2 - var4, var3 + var4) ? true : (this.isSolidTile(var1 - var4, var2 + var4, var3 - var4) ? true : (this.isSolidTile(var1 - var4, var2 + var4, var3 + var4) ? true : (this.isSolidTile(var1 + var4, var2 - var4, var3 - var4) ? true : (this.isSolidTile(var1 + var4, var2 - var4, var3 + var4) ? true : (this.isSolidTile(var1 + var4, var2 + var4, var3 - var4) ? true : this.isSolidTile(var1 + var4, var2 + var4, var3 + var4))))))); + } + + private boolean isSolidTile(float var1, float var2, float var3) { + int var4 = this.getTile((int)var1, (int)var2, (int)var3); + return var4 > 0 && Tile.tiles[var4].isSolid(); + } + + public int getHighestTile(int var1, int var2) { + int var3; + for(var3 = this.depth; (this.getTile(var1, var3 - 1, var2) == 0 || Tile.tiles[this.getTile(var1, var3 - 1, var2)].getLiquidType() != Liquid.none) && var3 > 0; --var3) { + } + + return var3; + } + + public void setSpawnPos(int var1, int var2, int var3, float var4) { + this.xSpawn = var1; + this.ySpawn = var2; + this.zSpawn = var3; + this.rotSpawn = var4; + } + + public float getBrightness(int var1, int var2, int var3) { + return this.isLit(var1, var2, var3) ? 1.0F : 0.6F; + } + + public float getCaveness(float var1, float var2, float var3, float var4) { + int var5 = (int)var1; + int var14 = (int)var2; + int var6 = (int)var3; + float var7 = 0.0F; + float var8 = 0.0F; + + for(int var9 = var5 - 6; var9 <= var5 + 6; ++var9) { + for(int var10 = var6 - 6; var10 <= var6 + 6; ++var10) { + if(this.isInLevelBounds(var9, var14, var10) && !this.isSolidTile(var9, var14, var10)) { + float var11 = (float)var9 + 0.5F - var1; + float var12 = (float)var10 + 0.5F - var3; + + float var13; + for(var13 = (float)(Math.atan2((double)var12, (double)var11) - (double)var4 * Math.PI / 180.0D + Math.PI * 0.5D); (double)var13 < -Math.PI; var13 = (float)((double)var13 + Math.PI * 2.0D)) { + } + + while((double)var13 >= Math.PI) { + var13 = (float)((double)var13 - Math.PI * 2.0D); + } + + if(var13 < 0.0F) { + var13 = -var13; + } + + var11 = (float)Math.sqrt((double)(var11 * var11 + 4.0F + var12 * var12)); + var11 = 1.0F / var11; + if(var13 > 1.0F) { + var11 = 0.0F; + } + + if(var11 < 0.0F) { + var11 = 0.0F; + } + + var8 += var11; + if(this.isLit(var9, var14, var10)) { + var7 += var11; + } + } + } + } + + if(var8 == 0.0F) { + return 0.0F; + } else { + return var7 / var8; + } + } + + public float getCaveness(Entity var1) { + float var2 = (float)Math.cos((double)(-var1.yRot) * Math.PI / 180.0D + Math.PI); + float var3 = (float)Math.sin((double)(-var1.yRot) * Math.PI / 180.0D + Math.PI); + float var4 = (float)Math.cos((double)(-var1.xRot) * Math.PI / 180.0D); + float var5 = (float)Math.sin((double)(-var1.xRot) * Math.PI / 180.0D); + float var6 = var1.x; + float var7 = var1.y; + float var21 = var1.z; + float var8 = 1.6F; + float var9 = 0.0F; + float var10 = 0.0F; + + for(int var11 = 0; var11 <= 200; ++var11) { + float var12 = ((float)var11 / (float)200 - 0.5F) * 2.0F; + + for(int var13 = 0; var13 <= 200; ++var13) { + float var14 = ((float)var13 / (float)200 - 0.5F) * var8; + float var16 = var4 * var14 + var5; + var14 = var4 - var5 * var14; + float var17 = var2 * var12 + var3 * var14; + var16 = var16; + var14 = var2 * var14 - var3 * var12; + + for(int var15 = 0; var15 < 10; ++var15) { + float var18 = var6 + var17 * (float)var15 * 0.8F; + float var19 = var7 + var16 * (float)var15 * 0.8F; + float var20 = var21 + var14 * (float)var15 * 0.8F; + if(this.isSolidTile(var18, var19, var20)) { + break; + } + + ++var9; + if(this.isLit((int)var18, (int)var19, (int)var20)) { + ++var10; + } + } + } + } + + if(var9 == 0.0F) { + return 0.0F; + } else { + float var22 = var10 / var9; + var22 /= 0.1F; + if(var22 > 1.0F) { + var22 = 1.0F; + } + + var22 = 1.0F - var22; + return 1.0F - var22 * var22 * var22; + } + } + + public byte[] copyBlocks() { + return Arrays.copyOf(this.blocks, this.blocks.length); + } + + public boolean isWater(int var1, int var2, int var3) { + int var4 = this.getTile(var1, var2, var3); + return var4 > 0 && Tile.tiles[var4].getLiquidType() == Liquid.water; + } + + public void setNetworkMode(boolean var1) { + this.networkMode = var1; + } + + public HitResult clip(Vec3 var1, Vec3 var2) { + if(!Float.isNaN(var1.x) && !Float.isNaN(var1.y) && !Float.isNaN(var1.z)) { + if(!Float.isNaN(var2.x) && !Float.isNaN(var2.y) && !Float.isNaN(var2.z)) { + int var3 = (int)Math.floor((double)var2.x); + int var4 = (int)Math.floor((double)var2.y); + int var5 = (int)Math.floor((double)var2.z); + int var6 = (int)Math.floor((double)var1.x); + int var7 = (int)Math.floor((double)var1.y); + int var8 = (int)Math.floor((double)var1.z); + int var9 = 20; + + int var20; + byte var21; + do { + if(var9-- < 0) { + return null; + } + + if(Float.isNaN(var1.x) || Float.isNaN(var1.y) || Float.isNaN(var1.z)) { + return null; + } + + if(var6 == var3 && var7 == var4 && var8 == var5) { + return null; + } + + float var10 = 999.0F; + float var11 = 999.0F; + float var12 = 999.0F; + if(var3 > var6) { + var10 = (float)var6 + 1.0F; + } + + if(var3 < var6) { + var10 = (float)var6; + } + + if(var4 > var7) { + var11 = (float)var7 + 1.0F; + } + + if(var4 < var7) { + var11 = (float)var7; + } + + if(var5 > var8) { + var12 = (float)var8 + 1.0F; + } + + if(var5 < var8) { + var12 = (float)var8; + } + + float var13 = 999.0F; + float var14 = 999.0F; + float var15 = 999.0F; + float var16 = var2.x - var1.x; + float var17 = var2.y - var1.y; + float var18 = var2.z - var1.z; + if(var10 != 999.0F) { + var13 = (var10 - var1.x) / var16; + } + + if(var11 != 999.0F) { + var14 = (var11 - var1.y) / var17; + } + + if(var12 != 999.0F) { + var15 = (var12 - var1.z) / var18; + } + + boolean var19 = false; + if(var13 < var14 && var13 < var15) { + if(var3 > var6) { + var21 = 4; + } else { + var21 = 5; + } + + var1.x = var10; + var1.y += var17 * var13; + var1.z += var18 * var13; + } else if(var14 < var15) { + if(var4 > var7) { + var21 = 0; + } else { + var21 = 1; + } + + var1.x += var16 * var14; + var1.y = var11; + var1.z += var18 * var14; + } else { + if(var5 > var8) { + var21 = 2; + } else { + var21 = 3; + } + + var1.x += var16 * var15; + var1.y += var17 * var15; + var1.z = var12; + } + + var6 = (int)Math.floor((double)var1.x); + if(var21 == 5) { + --var6; + } + + var7 = (int)Math.floor((double)var1.y); + if(var21 == 1) { + --var7; + } + + var8 = (int)Math.floor((double)var1.z); + if(var21 == 3) { + --var8; + } + + var20 = this.getTile(var6, var7, var8); + } while(var20 <= 0 || Tile.tiles[var20].getLiquidType() != Liquid.none); + + return new HitResult(0, var6, var7, var8, var21); + } else { + return null; + } + } else { + return null; + } + } + + public void playSound(String var1, Entity var2, float var3, float var4) { + if(this.rendererContext != null) { + Minecraft var5 = this.rendererContext; + if(var5.soundPlayer == null || !var5.options.sound) { + return; + } + + AudioInfo var6 = var5.soundManager.getAudioInfo(var1, var3, var4); + if(var6 != null) { + var5.soundPlayer.play(var6, new EntitySoundPos(var2, var5.player)); + } + } + + } + + public void playSound(String var1, float var2, float var3, float var4, float var5, float var6) { + if(this.rendererContext != null) { + Minecraft var7 = this.rendererContext; + if(var7.soundPlayer == null || !var7.options.sound) { + return; + } + + AudioInfo var8 = var7.soundManager.getAudioInfo(var1, var5, var6); + if(var8 != null) { + var7.soundPlayer.play(var8, new LevelSoundPos(var2, var3, var4, var7.player)); + } + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/level/LevelIO.java b/src/main/java/com/mojang/minecraft/level/LevelIO.java new file mode 100644 index 0000000..c3dd569 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/LevelIO.java @@ -0,0 +1,241 @@ +package com.mojang.minecraft.level; + +import com.mojang.minecraft.ProgressListener; +import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.zip.GZIPInputStream; +import java.util.zip.GZIPOutputStream; + +public final class LevelIO { + private ProgressListener a; + + public LevelIO(ProgressListener var1) { + this.a = var1; + } + + public final boolean save(Level var1, String var2, String var3, String var4, String var5, int var6) { + if(var4 == null) { + var4 = ""; + } + + if(this.a != null && this.a != null) { + this.a.beginLevelLoading("Saving level"); + } + + try { + if(this.a != null && this.a != null) { + this.a.levelLoadUpdate("Compressing.."); + } + + ByteArrayOutputStream var7 = new ByteArrayOutputStream(); + save(var1, var7); + var7.close(); + byte[] var10 = var7.toByteArray(); + if(this.a != null && this.a != null) { + this.a.levelLoadUpdate("Connecting.."); + } + + URL var12 = new URL("http://" + var2 + "/level/save.html"); + HttpURLConnection var13 = (HttpURLConnection)var12.openConnection(); + var13.setDoInput(true); + var13.setDoOutput(true); + var13.setRequestMethod("POST"); + DataOutputStream var14 = new DataOutputStream(var13.getOutputStream()); + var14.writeUTF(var3); + var14.writeUTF(var4); + var14.writeUTF(var5); + var14.writeByte(var6); + var14.writeInt(var10.length); + if(this.a != null) { + this.a.levelLoadUpdate("Saving.."); + } + + var14.write(var10); + var14.close(); + BufferedReader var11 = new BufferedReader(new InputStreamReader(var13.getInputStream())); + var2 = var11.readLine(); + if(!var2.equalsIgnoreCase("ok")) { + if(this.a != null) { + this.a.levelLoadUpdate("Failed: " + var11.readLine()); + } + + var11.close(); + Thread.sleep(1000L); + return false; + } else { + var11.close(); + return true; + } + } catch (Exception var9) { + var9.printStackTrace(); + if(this.a != null) { + this.a.levelLoadUpdate("Failed!"); + } + + try { + Thread.sleep(1000L); + } catch (InterruptedException var8) { + } + + return false; + } + } + + public final Level load(String var1, String var2, int var3) { + if(this.a != null) { + this.a.beginLevelLoading("Loading level"); + } + + try { + if(this.a != null) { + this.a.levelLoadUpdate("Connecting.."); + } + + URL var6 = new URL("http://" + var1 + "/level/load.html?id=" + var3 + "&user=" + var2); + HttpURLConnection var7 = (HttpURLConnection)var6.openConnection(); + var7.setDoInput(true); + if(this.a != null) { + this.a.levelLoadUpdate("Loading.."); + } + + DataInputStream var8 = new DataInputStream(var7.getInputStream()); + var2 = var8.readUTF(); + if(var2.equalsIgnoreCase("ok")) { + return this.load(var8); + } else { + if(this.a != null) { + this.a.levelLoadUpdate("Failed: " + var8.readUTF()); + } + + var8.close(); + Thread.sleep(1000L); + return null; + } + } catch (Exception var5) { + var5.printStackTrace(); + if(this.a != null) { + this.a.levelLoadUpdate("Failed!"); + } + + try { + Thread.sleep(3000L); + } catch (InterruptedException var4) { + } + + return null; + } + } + + public final Level load(InputStream var1) { + if(this.a != null) { + this.a.beginLevelLoading("Loading level"); + } + + if(this.a != null) { + this.a.levelLoadUpdate("Reading.."); + } + + try { + DataInputStream var10 = new DataInputStream(new GZIPInputStream(var1)); + int var12 = var10.readInt(); + if(var12 != 656127880) { + return null; + } else { + byte var13 = var10.readByte(); + if(var13 > 2) { + return null; + } else if(var13 <= 1) { + System.out.println("Version is 1!"); + String var15 = var10.readUTF(); + String var16 = var10.readUTF(); + long var7 = var10.readLong(); + short var3 = var10.readShort(); + short var4 = var10.readShort(); + short var5 = var10.readShort(); + byte[] var6 = new byte[var3 * var4 * var5]; + var10.readFully(var6); + var10.close(); + Level var11 = new Level(); + var11.setData(var3, var5, var4, var6); + var11.name = var15; + var11.creator = var16; + var11.createTime = var7; + return var11; + } else { + ObjectInputStream var14 = new ObjectInputStream(var10); + Level var2 = (Level)var14.readObject(); + var2.initTransient(); + var14.close(); + return var2; + } + } + } catch (Exception var9) { + var9.printStackTrace(); + (new StringBuilder()).append("Failed to load level: ").append(var9.toString()).toString(); + return null; + } + } + + public final Level loadLegacy(InputStream var1) { + if(this.a != null) { + this.a.beginLevelLoading("Loading level"); + } + + if(this.a != null) { + this.a.levelLoadUpdate("Reading.."); + } + + try { + DataInputStream var5 = new DataInputStream(new GZIPInputStream(var1)); + String var7 = "--"; + String var2 = "unknown"; + byte[] var3 = new byte[256 << 8 << 6]; + var5.readFully(var3); + var5.close(); + Level var6 = new Level(); + var6.setData(256, 64, 256, var3); + var6.name = var7; + var6.creator = var2; + var6.createTime = 0L; + return var6; + } catch (Exception var4) { + var4.printStackTrace(); + (new StringBuilder()).append("Failed to load level: ").append(var4.toString()).toString(); + return null; + } + } + + public static void save(Level var0, OutputStream var1) { + try { + DataOutputStream var3 = new DataOutputStream(new GZIPOutputStream(var1)); + var3.writeInt(656127880); + var3.writeByte(2); + ObjectOutputStream var4 = new ObjectOutputStream(var3); + var4.writeObject(var0); + var4.close(); + } catch (Exception var2) { + var2.printStackTrace(); + } + } + + public static byte[] loadBlocks(InputStream var0) { + try { + DataInputStream var3 = new DataInputStream(new GZIPInputStream(var0)); + byte[] var1 = new byte[var3.readInt()]; + var3.readFully(var1); + var3.close(); + return var1; + } catch (Exception var2) { + throw new RuntimeException(var2); + } + } +} diff --git a/src/main/java/com/mojang/minecraft/level/levelgen/LevelGen.java b/src/main/java/com/mojang/minecraft/level/levelgen/LevelGen.java new file mode 100644 index 0000000..1e9debc --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/levelgen/LevelGen.java @@ -0,0 +1,531 @@ +package com.mojang.minecraft.level.levelgen; + +import com.mojang.minecraft.ProgressListener; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.levelgen.synth.Distort; +import com.mojang.minecraft.level.levelgen.synth.PerlinNoise; +import com.mojang.minecraft.level.tile.Tile; +import java.util.ArrayList; +import java.util.Random; + +public final class LevelGen { + private ProgressListener a; + private int width; + private int height; + private int depth; + private Random random = new Random(); + private byte[] blocks; + private int[] coords = new int[1048576]; + + public LevelGen(ProgressListener var1) { + this.a = var1; + } + + public final Level generateLevel(String var1, int var2, int var3, int var4) { + this.a.beginLevelLoading("Generating level"); + this.width = var2; + this.height = var3; + this.depth = 64; + this.blocks = new byte[var2 * var3 << 6]; + this.a.levelLoadUpdate("Raising.."); + LevelGen var5 = this; + Distort var8 = new Distort(new PerlinNoise(this.random, 8), new PerlinNoise(this.random, 8)); + Distort var9 = new Distort(new PerlinNoise(this.random, 8), new PerlinNoise(this.random, 8)); + PerlinNoise var10 = new PerlinNoise(this.random, 8); + int[] var11 = new int[this.width * this.height]; + float var6 = 1.3F; + + int var13; + int var14; + for(var13 = 0; var13 < var5.width; ++var13) { + var5.setNextPhase(var13 * 100 / (var5.width - 1)); + + for(var14 = 0; var14 < var5.height; ++var14) { + double var15 = var8.getValue((double)((float)var13 * var6), (double)((float)var14 * var6)) / 8.0D - 8.0D; + double var17 = var9.getValue((double)((float)var13 * var6), (double)((float)var14 * var6)) / 6.0D + 6.0D; + double var19 = var10.getValue((double)var13, (double)var14) / 8.0D; + if(var19 > 0.0D) { + var17 = var15; + } + + double var21 = Math.max(var15, var17) / 2.0D; + if(var21 < 0.0D) { + var21 *= 0.8D; + } + + var11[var13 + var14 * var5.width] = (int)var21; + } + } + + this.a.levelLoadUpdate("Eroding.."); + int[] var34 = var11; + var5 = this; + var9 = new Distort(new PerlinNoise(this.random, 8), new PerlinNoise(this.random, 8)); + Distort var40 = new Distort(new PerlinNoise(this.random, 8), new PerlinNoise(this.random, 8)); + + int var16; + int var32; + int var43; + int var46; + for(var43 = 0; var43 < var5.width; ++var43) { + var5.setNextPhase(var43 * 100 / (var5.width - 1)); + + for(var32 = 0; var32 < var5.height; ++var32) { + double var45 = var9.getValue((double)(var43 << 1), (double)(var32 << 1)) / 8.0D; + var46 = var40.getValue((double)(var43 << 1), (double)(var32 << 1)) > 0.0D ? 1 : 0; + if(var45 > 2.0D) { + var16 = var34[var43 + var32 * var5.width]; + var16 = ((var16 - var46) / 2 << 1) + var46; + var34[var43 + var32 * var5.width] = var16; + } + } + } + + this.a.levelLoadUpdate("Soiling.."); + var34 = var11; + var5 = this; + int var37 = this.width; + int var42 = this.height; + var43 = this.depth; + PerlinNoise var33 = new PerlinNoise(this.random, 8); + + int var18; + int var50; + for(var13 = 0; var13 < var37; ++var13) { + var5.setNextPhase(var13 * 100 / (var5.width - 1)); + + for(var14 = 0; var14 < var42; ++var14) { + var46 = (int)(var33.getValue((double)var13, (double)var14) / 24.0D) - 4; + var16 = var34[var13 + var14 * var37] + var43 / 2; + var50 = var16 + var46; + var34[var13 + var14 * var37] = Math.max(var16, var50); + + for(var18 = 0; var18 < var43; ++var18) { + int var52 = (var18 * var5.height + var14) * var5.width + var13; + int var20 = 0; + if(var18 <= var16) { + var20 = Tile.dirt.id; + } + + if(var18 <= var50) { + var20 = Tile.rock.id; + } + + var5.blocks[var52] = (byte)var20; + } + } + } + + this.a.levelLoadUpdate("Carving.."); + boolean var39 = true; + boolean var35 = false; + var5 = this; + var42 = this.width; + var43 = this.height; + var32 = this.depth; + var13 = var42 * var43 * var32 / 256 / 64; + + for(var14 = 0; var14 < var13; ++var14) { + var5.setNextPhase(var14 * 100 / (var13 - 1) / 4); + float var47 = var5.random.nextFloat() * (float)var42; + float var48 = var5.random.nextFloat() * (float)var32; + float var51 = var5.random.nextFloat() * (float)var43; + var18 = (int)((var5.random.nextFloat() + var5.random.nextFloat()) * 75.0F); + float var53 = (float)((double)var5.random.nextFloat() * Math.PI * 2.0D); + float var54 = 0.0F; + float var55 = (float)((double)var5.random.nextFloat() * Math.PI * 2.0D); + float var22 = 0.0F; + + for(int var7 = 0; var7 < var18; ++var7) { + var47 = (float)((double)var47 + Math.sin((double)var53) * Math.cos((double)var55)); + var51 = (float)((double)var51 + Math.cos((double)var53) * Math.cos((double)var55)); + var48 = (float)((double)var48 + Math.sin((double)var55)); + var53 += var54 * 0.2F; + var54 *= 0.9F; + var54 += var5.random.nextFloat() - var5.random.nextFloat(); + var55 += var22 * 0.5F; + var55 *= 0.5F; + var22 *= 0.9F; + var22 += var5.random.nextFloat() - var5.random.nextFloat(); + if(var5.random.nextFloat() >= 0.3F) { + float var36 = var47 + var5.random.nextFloat() * 4.0F - 2.0F; + float var41 = var48 + var5.random.nextFloat() * 4.0F - 2.0F; + float var12 = var51 + var5.random.nextFloat() * 4.0F - 2.0F; + float var23 = (float)(Math.sin((double)var7 * Math.PI / (double)var18) * 2.5D + 1.0D); + + for(int var24 = (int)(var36 - var23); var24 <= (int)(var36 + var23); ++var24) { + for(int var25 = (int)(var41 - var23); var25 <= (int)(var41 + var23); ++var25) { + for(int var26 = (int)(var12 - var23); var26 <= (int)(var12 + var23); ++var26) { + float var27 = (float)var24 - var36; + float var28 = (float)var25 - var41; + float var29 = (float)var26 - var12; + var27 = var27 * var27 + var28 * var28 * 2.0F + var29 * var29; + if(var27 < var23 * var23 && var24 >= 1 && var25 >= 1 && var26 >= 1 && var24 < var5.width - 1 && var25 < var5.depth - 1 && var26 < var5.height - 1) { + int var56 = (var25 * var5.height + var26) * var5.width + var24; + if(var5.blocks[var56] == Tile.rock.id) { + var5.blocks[var56] = 0; + } + } + } + } + } + } + } + } + + this.carveTunnels(Tile.oreCoal.id, 90, 1, 4); + this.carveTunnels(Tile.oreIron.id, 70, 2, 4); + this.carveTunnels(Tile.oreGold.id, 50, 3, 4); + this.a.levelLoadUpdate("Watering.."); + var5 = this; + long var38 = System.nanoTime(); + long var44 = 0L; + var13 = Tile.calmWater.id; + this.setNextPhase(0); + + for(var14 = 0; var14 < var5.width; ++var14) { + var44 += var5.floodFillLiquid(var14, var5.depth / 2 - 1, 0, 0, var13); + var44 += var5.floodFillLiquid(var14, var5.depth / 2 - 1, var5.height - 1, 0, var13); + } + + for(var14 = 0; var14 < var5.height; ++var14) { + var44 += var5.floodFillLiquid(0, var5.depth / 2 - 1, var14, 0, var13); + var44 += var5.floodFillLiquid(var5.width - 1, var5.depth / 2 - 1, var14, 0, var13); + } + + var14 = var5.width * var5.height / 200; + + for(var46 = 0; var46 < var14; ++var46) { + if(var46 % 100 == 0) { + var5.setNextPhase(var46 * 100 / (var14 - 1)); + } + + var16 = var5.random.nextInt(var5.width); + var50 = var5.depth / 2 - 1 - var5.random.nextInt(3); + var18 = var5.random.nextInt(var5.height); + if(var5.blocks[(var50 * var5.height + var18) * var5.width + var16] == 0) { + var44 += var5.floodFillLiquid(var16, var50, var18, 0, var13); + } + } + + var5.setNextPhase(100); + long var49 = System.nanoTime(); + System.out.println("Flood filled " + var44 + " tiles in " + (double)(var49 - var38) / 1000000.0D + " ms"); + this.a.levelLoadUpdate("Melting.."); + this.addLava(); + this.a.levelLoadUpdate("Growing.."); + this.addBeaches(var11); + this.a.levelLoadUpdate("Planting.."); + this.plantTrees(var11); + Level var31 = new Level(); + var31.setData(var2, 64, var3, this.blocks); + var31.createTime = System.currentTimeMillis(); + var31.creator = var1; + var31.name = "A Nice World"; + return var31; + } + + private void addBeaches(int[] var1) { + int var2 = this.width; + int var3 = this.height; + int var4 = this.depth; + PerlinNoise var5 = new PerlinNoise(this.random, 8); + PerlinNoise var6 = new PerlinNoise(this.random, 8); + + for(int var7 = 0; var7 < var2; ++var7) { + this.setNextPhase(var7 * 100 / (this.width - 1)); + + for(int var8 = 0; var8 < var3; ++var8) { + boolean var9 = var5.getValue((double)var7, (double)var8) > 8.0D; + boolean var10 = var6.getValue((double)var7, (double)var8) > 12.0D; + int var11 = var1[var7 + var8 * var2]; + int var12 = (var11 * this.height + var8) * this.width + var7; + int var13 = this.blocks[((var11 + 1) * this.height + var8) * this.width + var7] & 255; + if((var13 == Tile.water.id || var13 == Tile.calmWater.id) && var11 <= var4 / 2 - 1 && var10) { + this.blocks[var12] = (byte)Tile.gravel.id; + } + + if(var13 == 0) { + int var14 = Tile.grass.id; + if(var11 <= var4 / 2 - 1 && var9) { + var14 = Tile.sand.id; + } + + this.blocks[var12] = (byte)var14; + } + } + } + + } + + private void plantTrees(int[] var1) { + int var2 = this.width; + int var3 = this.width * this.height / 4000; + + for(int var4 = 0; var4 < var3; ++var4) { + this.setNextPhase(var4 * 100 / (var3 - 1)); + int var5 = this.random.nextInt(this.width); + int var6 = this.random.nextInt(this.height); + + for(int var7 = 0; var7 < 20; ++var7) { + int var8 = var5; + int var9 = var6; + + for(int var10 = 0; var10 < 20; ++var10) { + var8 += this.random.nextInt(6) - this.random.nextInt(6); + var9 += this.random.nextInt(6) - this.random.nextInt(6); + if(var8 >= 0 && var9 >= 0 && var8 < this.width && var9 < this.height) { + int var11 = var1[var8 + var9 * var2] + 1; + int var12 = this.random.nextInt(3) + 4; + boolean var13 = true; + + int var14; + int var16; + int var17; + int var18; + for(var14 = var11; var14 <= var11 + 1 + var12; ++var14) { + byte var15 = 1; + if(var14 >= var11 + 1 + var12 - 2) { + var15 = 2; + } + + for(var16 = var8 - var15; var16 <= var8 + var15 && var13; ++var16) { + for(var17 = var9 - var15; var17 <= var9 + var15 && var13; ++var17) { + if(var16 >= 0 && var14 >= 0 && var17 >= 0 && var16 < this.width && var14 < this.depth && var17 < this.height) { + var18 = this.blocks[(var14 * this.height + var17) * this.width + var16] & 255; + if(var18 != 0) { + var13 = false; + } + } else { + var13 = false; + } + } + } + } + + if(var13) { + var14 = (var11 * this.height + var9) * this.width + var8; + int var22 = this.blocks[((var11 - 1) * this.height + var9) * this.width + var8] & 255; + if(var22 == Tile.grass.id && var11 < this.depth - var12 - 1) { + this.blocks[var14 - 1 * this.width * this.height] = (byte)Tile.dirt.id; + + for(var16 = var11 - 3 + var12; var16 <= var11 + var12; ++var16) { + var17 = var16 - (var11 + var12); + var18 = 1 - var17 / 2; + + for(int var21 = var8 - var18; var21 <= var8 + var18; ++var21) { + var22 = var21 - var8; + + for(int var19 = var9 - var18; var19 <= var9 + var18; ++var19) { + int var20 = var19 - var9; + if(Math.abs(var22) != var18 || Math.abs(var20) != var18 || this.random.nextInt(2) != 0 && var17 != 0) { + this.blocks[(var16 * this.height + var19) * this.width + var21] = (byte)Tile.leaf.id; + } + } + } + } + + for(var16 = 0; var16 < var12; ++var16) { + this.blocks[var14 + var16 * this.width * this.height] = (byte)Tile.log.id; + } + } + } + } + } + } + } + + } + + private void carveTunnels(int var1, int var2, int var3, int var4) { + byte var25 = (byte)var1; + var4 = this.width; + int var5 = this.height; + int var6 = this.depth; + int var7 = var4 * var5 * var6 / 256 / 64 * var2 / 100; + + for(int var8 = 0; var8 < var7; ++var8) { + this.setNextPhase(var8 * 100 / (var7 - 1) / 4 + var3 * 100 / 4); + float var9 = this.random.nextFloat() * (float)var4; + float var10 = this.random.nextFloat() * (float)var6; + float var11 = this.random.nextFloat() * (float)var5; + int var12 = (int)((this.random.nextFloat() + this.random.nextFloat()) * 75.0F * (float)var2 / 100.0F); + float var13 = (float)((double)this.random.nextFloat() * Math.PI * 2.0D); + float var14 = 0.0F; + float var15 = (float)((double)this.random.nextFloat() * Math.PI * 2.0D); + float var16 = 0.0F; + + for(int var17 = 0; var17 < var12; ++var17) { + var9 = (float)((double)var9 + Math.sin((double)var13) * Math.cos((double)var15)); + var11 = (float)((double)var11 + Math.cos((double)var13) * Math.cos((double)var15)); + var10 = (float)((double)var10 + Math.sin((double)var15)); + var13 += var14 * 0.2F; + var14 *= 0.9F; + var14 += this.random.nextFloat() - this.random.nextFloat(); + var15 += var16 * 0.5F; + var15 *= 0.5F; + var16 *= 0.9F; + var16 += this.random.nextFloat() - this.random.nextFloat(); + float var18 = (float)(Math.sin((double)var17 * Math.PI / (double)var12) * (double)var2 / 100.0D + 1.0D); + + for(int var19 = (int)(var9 - var18); var19 <= (int)(var9 + var18); ++var19) { + for(int var20 = (int)(var10 - var18); var20 <= (int)(var10 + var18); ++var20) { + for(int var21 = (int)(var11 - var18); var21 <= (int)(var11 + var18); ++var21) { + float var22 = (float)var19 - var9; + float var23 = (float)var20 - var10; + float var24 = (float)var21 - var11; + var22 = var22 * var22 + var23 * var23 * 2.0F + var24 * var24; + if(var22 < var18 * var18 && var19 >= 1 && var20 >= 1 && var21 >= 1 && var19 < this.width - 1 && var20 < this.depth - 1 && var21 < this.height - 1) { + int var26 = (var20 * this.height + var21) * this.width + var19; + if(this.blocks[var26] == Tile.rock.id) { + this.blocks[var26] = var25; + } + } + } + } + } + } + } + + } + + private void setNextPhase(int var1) { + this.a.setLoadingProgress(var1); + } + + private void addLava() { + int var1 = 0; + int var2 = this.width * this.height * this.depth / 10000; + + for(int var3 = 0; var3 < var2; ++var3) { + if(var3 % 100 == 0) { + this.setNextPhase(var3 * 100 / (var2 - 1)); + } + + int var4 = this.random.nextInt(this.width); + int var5 = this.random.nextInt(this.depth / 2 - 4); + int var6 = this.random.nextInt(this.height); + if(this.blocks[(var5 * this.height + var6) * this.width + var4] == 0) { + ++var1; + this.floodFillLiquid(var4, var5, var6, 0, Tile.calmLava.id); + } + } + + this.setNextPhase(100); + System.out.println("LavaCount: " + var1); + } + + private long floodFillLiquid(int var1, int var2, int var3, int var4, int var5) { + byte var20 = (byte)var5; + ArrayList var21 = new ArrayList(); + byte var6 = 0; + int var7 = 1; + + int var8; + for(var8 = 1; 1 << var7 < this.width; ++var7) { + } + + while(1 << var8 < this.height) { + ++var8; + } + + int var9 = this.height - 1; + int var10 = this.width - 1; + int var22 = var6 + 1; + this.coords[0] = ((var2 << var8) + var3 << var7) + var1; + long var13 = 0L; + var1 = this.width * this.height; + + while(var22 > 0) { + --var22; + var2 = this.coords[var22]; + if(var22 == 0 && var21.size() > 0) { + System.out.println("IT HAPPENED!"); + this.coords = (int[])var21.remove(var21.size() - 1); + var22 = this.coords.length; + } + + var3 = var2 >> var7 & var9; + int var11 = var2 >> var7 + var8; + int var12 = var2 & var10; + + int var15; + for(var15 = var12; var12 > 0 && this.blocks[var2 - 1] == 0; --var2) { + --var12; + } + + while(var15 < this.width && this.blocks[var2 + var15 - var12] == 0) { + ++var15; + } + + int var16 = var2 >> var7 & var9; + int var17 = var2 >> var7 + var8; + if(var16 != var3 || var17 != var11) { + System.out.println("hoooly fuck"); + } + + boolean var23 = false; + boolean var24 = false; + boolean var18 = false; + var13 += (long)(var15 - var12); + + for(var12 = var12; var12 < var15; ++var12) { + this.blocks[var2] = var20; + boolean var19; + if(var3 > 0) { + var19 = this.blocks[var2 - this.width] == 0; + if(var19 && !var23) { + if(var22 == this.coords.length) { + var21.add(this.coords); + this.coords = new int[1048576]; + var22 = 0; + } + + this.coords[var22++] = var2 - this.width; + } + + var23 = var19; + } + + if(var3 < this.height - 1) { + var19 = this.blocks[var2 + this.width] == 0; + if(var19 && !var24) { + if(var22 == this.coords.length) { + var21.add(this.coords); + this.coords = new int[1048576]; + var22 = 0; + } + + this.coords[var22++] = var2 + this.width; + } + + var24 = var19; + } + + if(var11 > 0) { + byte var25 = this.blocks[var2 - var1]; + if((var20 == Tile.lava.id || var20 == Tile.calmLava.id) && (var25 == Tile.water.id || var25 == Tile.calmWater.id)) { + this.blocks[var2 - var1] = (byte)Tile.rock.id; + } + + var19 = var25 == 0; + if(var19 && !var18) { + if(var22 == this.coords.length) { + var21.add(this.coords); + this.coords = new int[1048576]; + var22 = 0; + } + + this.coords[var22++] = var2 - var1; + } + + var18 = var19; + } + + ++var2; + } + } + + return var13; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/levelgen/synth/Distort.java b/src/main/java/com/mojang/minecraft/level/levelgen/synth/Distort.java new file mode 100644 index 0000000..dd006ae --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/levelgen/synth/Distort.java @@ -0,0 +1,15 @@ +package com.mojang.minecraft.level.levelgen.synth; + +public final class Distort extends Synth { + private Synth source; + private Synth distort; + + public Distort(Synth var1, Synth var2) { + this.source = var1; + this.distort = var2; + } + + public final double getValue(double var1, double var3) { + return this.source.getValue(var1 + this.distort.getValue(var1, var3), var3); + } +} diff --git a/src/main/java/com/mojang/minecraft/level/levelgen/synth/ImprovedNoise.java b/src/main/java/com/mojang/minecraft/level/levelgen/synth/ImprovedNoise.java new file mode 100644 index 0000000..79f1249 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/levelgen/synth/ImprovedNoise.java @@ -0,0 +1,65 @@ +package com.mojang.minecraft.level.levelgen.synth; + +import java.util.Random; + +public final class ImprovedNoise extends Synth { + private int[] p; + + public ImprovedNoise() { + this(new Random()); + } + + public ImprovedNoise(Random var1) { + this.p = new int[512]; + + int var2; + for(var2 = 0; var2 < 256; this.p[var2] = var2++) { + } + + for(var2 = 0; var2 < 256; ++var2) { + int var3 = var1.nextInt(256 - var2) + var2; + int var4 = this.p[var2]; + this.p[var2] = this.p[var3]; + this.p[var3] = var4; + this.p[var2 + 256] = this.p[var2]; + } + + } + + private static double fade(double var0) { + return var0 * var0 * var0 * (var0 * (var0 * 6.0D - 15.0D) + 10.0D); + } + + private static double lerp(double var0, double var2, double var4) { + return var2 + var0 * (var4 - var2); + } + + private static double grad(int var0, double var1, double var3, double var5) { + var0 &= 15; + double var8 = var0 < 8 ? var1 : var3; + double var10 = var0 < 4 ? var3 : (var0 != 12 && var0 != 14 ? var5 : var1); + return ((var0 & 1) == 0 ? var8 : -var8) + ((var0 & 2) == 0 ? var10 : -var10); + } + + public final double getValue(double var1, double var3) { + double var10 = 0.0D; + double var8 = var3; + double var6 = var1; + int var21 = (int)Math.floor(var1) & 255; + int var2 = (int)Math.floor(var3) & 255; + int var22 = (int)Math.floor(0.0D) & 255; + var6 -= Math.floor(var6); + var8 -= Math.floor(var8); + var10 = 0.0D - Math.floor(0.0D); + double var15 = fade(var6); + double var17 = fade(var8); + double var19 = fade(var10); + int var4 = this.p[var21] + var2; + int var5 = this.p[var4] + var22; + var4 = this.p[var4 + 1] + var22; + var21 = this.p[var21 + 1] + var2; + var2 = this.p[var21] + var22; + var21 = this.p[var21 + 1] + var22; + return lerp(var19, lerp(var17, lerp(var15, grad(this.p[var5], var6, var8, var10), grad(this.p[var2], var6 - 1.0D, var8, var10)), lerp(var15, grad(this.p[var4], var6, var8 - 1.0D, var10), grad(this.p[var21], var6 - 1.0D, var8 - 1.0D, var10))), lerp(var17, lerp(var15, grad(this.p[var5 + 1], var6, var8, var10 - 1.0D), grad(this.p[var2 + 1], var6 - 1.0D, var8, var10 - 1.0D)), lerp(var15, grad(this.p[var4 + 1], var6, var8 - 1.0D, var10 - 1.0D), grad(this.p[var21 + 1], var6 - 1.0D, var8 - 1.0D, var10 - 1.0D)))); + } +} diff --git a/src/main/java/com/mojang/minecraft/level/levelgen/synth/PerlinNoise.java b/src/main/java/com/mojang/minecraft/level/levelgen/synth/PerlinNoise.java new file mode 100644 index 0000000..f923279 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/levelgen/synth/PerlinNoise.java @@ -0,0 +1,27 @@ +package com.mojang.minecraft.level.levelgen.synth; + +import java.util.Random; + +public final class PerlinNoise extends Synth { + private ImprovedNoise[] noiseLevels = new ImprovedNoise[8]; + private int levels = 8; + + public PerlinNoise(Random var1, int var2) { + for(var2 = 0; var2 < 8; ++var2) { + this.noiseLevels[var2] = new ImprovedNoise(var1); + } + + } + + public final double getValue(double var1, double var3) { + double var5 = 0.0D; + double var7 = 1.0D; + + for(int var9 = 0; var9 < this.levels; ++var9) { + var5 += this.noiseLevels[var9].getValue(var1 / var7, var3 / var7) * var7; + var7 *= 2.0D; + } + + return var5; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/levelgen/synth/Synth.java b/src/main/java/com/mojang/minecraft/level/levelgen/synth/Synth.java new file mode 100644 index 0000000..f8e328a --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/levelgen/synth/Synth.java @@ -0,0 +1,5 @@ +package com.mojang.minecraft.level.levelgen.synth; + +public abstract class Synth { + public abstract double getValue(double var1, double var3); +} diff --git a/src/main/java/com/mojang/minecraft/level/liquid/Liquid.java b/src/main/java/com/mojang/minecraft/level/liquid/Liquid.java new file mode 100644 index 0000000..3351338 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/liquid/Liquid.java @@ -0,0 +1,12 @@ +package com.mojang.minecraft.level.liquid; + +public final class Liquid { + private static Liquid[] liquids = new Liquid[4]; + public static final Liquid none = new Liquid(0); + public static final Liquid water = new Liquid(1); + public static final Liquid lava = new Liquid(2); + + private Liquid(int var1) { + liquids[var1] = this; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/Bush.java b/src/main/java/com/mojang/minecraft/level/tile/Bush.java new file mode 100644 index 0000000..756138a --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/Bush.java @@ -0,0 +1,68 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.phys.AABB; +import com.mojang.minecraft.renderer.Tesselator; +import java.util.Random; + +public final class Bush extends Tile { + protected Bush(int var1, int var2) { + super(var1); + this.tex = var2; + this.setTicking(true); + } + + public final void tick(Level var1, int var2, int var3, int var4, Random var5) { + int var6 = var1.getTile(var2, var3 - 1, var4); + if(!var1.isLit(var2, var3, var4) || var6 != Tile.dirt.id && var6 != Tile.grass.id) { + var1.setTile(var2, var3, var4, 0); + } + + } + + public final boolean render(Tesselator var1, Level var2, int var3, int var4, int var5, int var6) { + if(var2.isLit(var4, var5, var6) ^ var3 != 1) { + return false; + } else { + int var15 = this.getTexture(15); + float var17 = (float)(var15 % 16) / 16.0F; + float var18 = var17 + 0.999F / 16.0F; + float var16 = (float)(var15 / 16) / 16.0F; + float var7 = var16 + 0.999F / 16.0F; + var1.color(255, 255, 255); + + for(int var8 = 0; var8 < 2; ++var8) { + float var9 = (float)(Math.sin((double)var8 * Math.PI / (double)2 + Math.PI * 0.25D) * 0.5D); + float var10 = (float)(Math.cos((double)var8 * Math.PI / (double)2 + Math.PI * 0.25D) * 0.5D); + float var11 = (float)var4 + 0.5F - var9; + var9 += (float)var4 + 0.5F; + float var12 = (float)var5; + float var13 = (float)var5 + 1.0F; + float var14 = (float)var6 + 0.5F - var10; + var10 += (float)var6 + 0.5F; + var1.vertexUV(var11, var13, var14, var18, var16); + var1.vertexUV(var9, var13, var10, var17, var16); + var1.vertexUV(var9, var12, var10, var17, var7); + var1.vertexUV(var11, var12, var14, var18, var7); + var1.vertexUV(var9, var13, var10, var18, var16); + var1.vertexUV(var11, var13, var14, var17, var16); + var1.vertexUV(var11, var12, var14, var17, var7); + var1.vertexUV(var9, var12, var10, var18, var7); + } + + return true; + } + } + + public final AABB getTileAABB(int var1, int var2, int var3) { + return null; + } + + public final boolean blocksLight() { + return false; + } + + public final boolean isSolid() { + return false; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/CalmLiquidTile.java b/src/main/java/com/mojang/minecraft/level/tile/CalmLiquidTile.java new file mode 100644 index 0000000..0e0fa01 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/CalmLiquidTile.java @@ -0,0 +1,54 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.liquid.Liquid; +import java.util.Random; + +public final class CalmLiquidTile extends LiquidTile { + protected CalmLiquidTile(int var1, Liquid var2) { + super(var1, var2); + this.tileId = var1 - 1; + this.calmTileId = var1; + this.setTicking(false); + } + + public final void tick(Level var1, int var2, int var3, int var4, Random var5) { + } + + public final void neighborChanged(Level var1, int var2, int var3, int var4, int var5) { + boolean var6 = false; + if(var1.getTile(var2 - 1, var3, var4) == 0) { + var6 = true; + } + + if(var1.getTile(var2 + 1, var3, var4) == 0) { + var6 = true; + } + + if(var1.getTile(var2, var3, var4 - 1) == 0) { + var6 = true; + } + + if(var1.getTile(var2, var3, var4 + 1) == 0) { + var6 = true; + } + + if(var1.getTile(var2, var3 - 1, var4) == 0) { + var6 = true; + } + + if(var5 != 0) { + Liquid var7 = Tile.tiles[var5].getLiquidType(); + if(this.liquid == Liquid.water && var7 == Liquid.lava || var7 == Liquid.water && this.liquid == Liquid.lava) { + var1.setTile(var2, var3, var4, Tile.rock.id); + return; + } + } + + if(var6) { + var1.setTileNoUpdate(var2, var3, var4, this.tileId); + var1.addToTickNextTick(var2, var3, var4, this.tileId); + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/DirtTile.java b/src/main/java/com/mojang/minecraft/level/tile/DirtTile.java new file mode 100644 index 0000000..1f675c5 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/DirtTile.java @@ -0,0 +1,7 @@ +package com.mojang.minecraft.level.tile; + +public final class DirtTile extends Tile { + protected DirtTile(int var1, int var2) { + super(3, 2); + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/FallingTile.java b/src/main/java/com/mojang/minecraft/level/tile/FallingTile.java new file mode 100644 index 0000000..a489b65 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/FallingTile.java @@ -0,0 +1,46 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.liquid.Liquid; + +public final class FallingTile extends Tile { + public FallingTile(int var1, int var2) { + super(var1, var2); + } + + public final void onBlockAdded(Level var1, int var2, int var3, int var4) { + this.tryToFall(var1, var2, var3, var4); + } + + public final void neighborChanged(Level var1, int var2, int var3, int var4, int var5) { + this.tryToFall(var1, var2, var3, var4); + } + + private void tryToFall(Level var1, int var2, int var3, int var4) { + int var11 = var2; + int var5 = var3; + int var6 = var4; + + while(true) { + int var9 = var5 - 1; + int var7 = var1.getTile(var11, var9, var6); + boolean var10000; + if(var7 == 0) { + var10000 = true; + } else { + Liquid var12 = Tile.tiles[var7].getLiquidType(); + var10000 = var12 == Liquid.water ? true : var12 == Liquid.lava; + } + + if(!var10000 || var5 <= 0) { + if(var5 != var3) { + var1.swap(var2, var3, var4, var11, var5, var6); + } + + return; + } + + --var5; + } + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/GlassTile.java b/src/main/java/com/mojang/minecraft/level/tile/GlassTile.java new file mode 100644 index 0000000..4b558af --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/GlassTile.java @@ -0,0 +1,24 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; + +public final class GlassTile extends Tile { + private boolean renderAdjacentFaces = false; + + protected GlassTile(int var1, int var2, boolean var3) { + super(20, 49); + } + + public final boolean isSolid() { + return false; + } + + protected final boolean shouldRenderFace(Level var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = var1.getTile(var2, var3, var4); + return !this.renderAdjacentFaces && var7 == this.id ? false : super.shouldRenderFace(var1, var2, var3, var4, var5, var6); + } + + public final boolean blocksLight() { + return false; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/GrassTile.java b/src/main/java/com/mojang/minecraft/level/tile/GrassTile.java new file mode 100644 index 0000000..661e76d --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/GrassTile.java @@ -0,0 +1,34 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; +import java.util.Random; + +public final class GrassTile extends Tile { + protected GrassTile(int var1) { + super(2); + this.tex = 3; + this.setTicking(true); + } + + protected final int getTexture(int var1) { + return var1 == 1 ? 0 : (var1 == 0 ? 2 : 3); + } + + public final void tick(Level var1, int var2, int var3, int var4, Random var5) { + if(var5.nextInt(4) == 0) { + if(!var1.isLit(var2, var3 + 1, var4)) { + var1.setTile(var2, var3, var4, Tile.dirt.id); + } else { + for(int var9 = 0; var9 < 4; ++var9) { + int var6 = var2 + var5.nextInt(3) - 1; + int var7 = var3 + var5.nextInt(5) - 3; + int var8 = var4 + var5.nextInt(3) - 1; + if(var1.getTile(var6, var7, var8) == Tile.dirt.id && var1.isLit(var6, var7 + 1, var8)) { + var1.setTile(var6, var7, var8, Tile.grass.id); + } + } + + } + } + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/LeafTile.java b/src/main/java/com/mojang/minecraft/level/tile/LeafTile.java new file mode 100644 index 0000000..7d4efec --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/LeafTile.java @@ -0,0 +1,24 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; + +public final class LeafTile extends Tile { + private boolean renderAdjacentFaces = true; + + protected LeafTile(int var1, int var2, boolean var3) { + super(18, 22); + } + + public final boolean isSolid() { + return false; + } + + protected final boolean shouldRenderFace(Level var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = var1.getTile(var2, var3, var4); + return !this.renderAdjacentFaces && var7 == this.id ? false : super.shouldRenderFace(var1, var2, var3, var4, var5, var6); + } + + public final boolean blocksLight() { + return false; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/LiquidTile.java b/src/main/java/com/mojang/minecraft/level/tile/LiquidTile.java new file mode 100644 index 0000000..0f64e95 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/LiquidTile.java @@ -0,0 +1,161 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.liquid.Liquid; +import com.mojang.minecraft.phys.AABB; +import com.mojang.minecraft.renderer.Tesselator; +import java.util.Random; + +public class LiquidTile extends Tile { + protected Liquid liquid; + protected int calmTileId; + protected int tileId; + + protected LiquidTile(int var1, Liquid var2) { + super(var1); + this.liquid = var2; + this.tex = 14; + if(var2 == Liquid.lava) { + this.tex = 30; + } + + this.tileId = var1; + this.calmTileId = var1 + 1; + float var4 = 0.01F; + float var3 = 0.1F; + this.setShape(var4 + 0.0F, 0.0F - var3 + var4, var4 + 0.0F, var4 + 1.0F, 1.0F - var3 + var4, var4 + 1.0F); + this.setTicking(true); + if(var2 == Liquid.lava) { + this.setTickSpeed(16); + } + + } + + public final void onBlockAdded(Level var1, int var2, int var3, int var4) { + var1.addToTickNextTick(var2, var3, var4, this.tileId); + } + + public void tick(Level var1, int var2, int var3, int var4, Random var5) { + boolean var7 = false; + var4 = var4; + var3 = var3; + var2 = var2; + var1 = var1; + LiquidTile var8 = this; + boolean var9 = false; + + boolean var6; + do { + --var3; + if(var1.getTile(var2, var3, var4) != 0 || !var8.checkSponge(var1, var2, var3, var4)) { + break; + } + + var6 = var1.setTile(var2, var3, var4, var8.tileId); + if(var6) { + var9 = true; + } + } while(var6 && var8.liquid != Liquid.lava); + + ++var3; + if(var8.liquid == Liquid.water || !var9) { + var9 |= var8.checkWater(var1, var2 - 1, var3, var4); + var9 |= var8.checkWater(var1, var2 + 1, var3, var4); + var9 |= var8.checkWater(var1, var2, var3, var4 - 1); + var9 |= var8.checkWater(var1, var2, var3, var4 + 1); + } + + if(!var9) { + var1.setTileNoUpdate(var2, var3, var4, var8.calmTileId); + } else { + var1.addToTickNextTick(var2, var3, var4, var8.tileId); + } + + } + + private boolean checkSponge(Level var1, int var2, int var3, int var4) { + if(this.liquid == Liquid.water) { + for(int var7 = var2 - 2; var7 <= var2 + 2; ++var7) { + for(int var5 = var3 - 2; var5 <= var3 + 2; ++var5) { + for(int var6 = var4 - 2; var6 <= var4 + 2; ++var6) { + if(var1.getTile(var7, var5, var6) == Tile.sponge.id) { + return false; + } + } + } + } + } + + return true; + } + + private boolean checkWater(Level var1, int var2, int var3, int var4) { + int var5 = var1.getTile(var2, var3, var4); + if(var5 == 0) { + if(!this.checkSponge(var1, var2, var3, var4)) { + return false; + } + + boolean var6 = var1.setTile(var2, var3, var4, this.tileId); + if(var6) { + var1.addToTickNextTick(var2, var3, var4, this.tileId); + } + } + + return false; + } + + protected final float getBrightness(Level var1, int var2, int var3, int var4) { + return this.liquid == Liquid.lava ? 100.0F : var1.getBrightness(var2, var3, var4); + } + + protected final boolean shouldRenderFace(Level var1, int var2, int var3, int var4, int var5, int var6) { + if(var2 >= 0 && var3 >= 0 && var4 >= 0 && var2 < var1.width && var4 < var1.height) { + if(var5 != 1 && this.liquid == Liquid.water) { + return false; + } else { + var5 = var1.getTile(var2, var3, var4); + return var5 != this.tileId && var5 != this.calmTileId ? (var6 != 1 || var1.getTile(var2 - 1, var3, var4) != 0 && var1.getTile(var2 + 1, var3, var4) != 0 && var1.getTile(var2, var3, var4 - 1) != 0 && var1.getTile(var2, var3, var4 + 1) != 0 ? super.shouldRenderFace(var1, var2, var3, var4, -1, var6) : true) : false; + } + } else { + return false; + } + } + + public final void renderFace(Tesselator var1, int var2, int var3, int var4, int var5) { + super.renderFace(var1, var2, var3, var4, var5); + super.renderBackFace(var1, var2, var3, var4, var5); + } + + public final AABB getTileAABB(int var1, int var2, int var3) { + return null; + } + + public final boolean blocksLight() { + return true; + } + + public final boolean isSolid() { + return false; + } + + public final Liquid getLiquidType() { + return this.liquid; + } + + public void neighborChanged(Level var1, int var2, int var3, int var4, int var5) { + if(var5 != 0) { + Liquid var6 = Tile.tiles[var5].getLiquidType(); + if(this.liquid == Liquid.water && var6 == Liquid.lava || var6 == Liquid.water && this.liquid == Liquid.lava) { + var1.setTile(var2, var3, var4, Tile.rock.id); + return; + } + } + + var1.addToTickNextTick(var2, var3, var4, var5); + } + + public final int getTickDelay() { + return this.liquid == Liquid.lava ? 5 : 0; + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/LogTile.java b/src/main/java/com/mojang/minecraft/level/tile/LogTile.java new file mode 100644 index 0000000..937bf78 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/LogTile.java @@ -0,0 +1,12 @@ +package com.mojang.minecraft.level.tile; + +public final class LogTile extends Tile { + protected LogTile(int var1) { + super(17); + this.tex = 20; + } + + protected final int getTexture(int var1) { + return var1 == 1 ? 21 : (var1 == 0 ? 21 : 20); + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/SpongeTile.java b/src/main/java/com/mojang/minecraft/level/tile/SpongeTile.java new file mode 100644 index 0000000..8224895 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/SpongeTile.java @@ -0,0 +1,34 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.level.Level; + +public final class SpongeTile extends Tile { + protected SpongeTile(int var1) { + super(19); + this.tex = 48; + } + + public final void onTileAdded(Level var1, int var2, int var3, int var4) { + for(int var7 = var2 - 2; var7 <= var2 + 2; ++var7) { + for(int var5 = var3 - 2; var5 <= var3 + 2; ++var5) { + for(int var6 = var4 - 2; var6 <= var4 + 2; ++var6) { + if(var1.isWater(var7, var5, var6)) { + var1.setTileNoNeighborChange(var7, var5, var6, 0); + } + } + } + } + + } + + public final void onTileRemoved(Level var1, int var2, int var3, int var4) { + for(int var7 = var2 - 2; var7 <= var2 + 2; ++var7) { + for(int var5 = var3 - 2; var5 <= var3 + 2; ++var5) { + for(int var6 = var4 - 2; var6 <= var4 + 2; ++var6) { + var1.updateNeighborsAt(var7, var5, var6, var1.getTile(var7, var5, var6)); + } + } + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/level/tile/Tile.java b/src/main/java/com/mojang/minecraft/level/tile/Tile.java new file mode 100644 index 0000000..2f99060 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/level/tile/Tile.java @@ -0,0 +1,397 @@ +package com.mojang.minecraft.level.tile; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.liquid.Liquid; +import com.mojang.minecraft.particle.Particle; +import com.mojang.minecraft.particle.ParticleEngine; +import com.mojang.minecraft.phys.AABB; +import com.mojang.minecraft.renderer.Tesselator; +import java.util.Random; + +public class Tile { + protected static Random random = new Random(); + public static final Tile[] tiles = new Tile[256]; + public static final boolean[] shouldTick = new boolean[256]; + private static int[] tickSpeed = new int[256]; + public static final Tile rock = (new Tile(1, 1)).setSoundAndGravity(Tile.SoundType.stone, 1.0F, 1.0F); + public static final Tile grass = (new GrassTile(2)).setSoundAndGravity(Tile.SoundType.grass, 0.9F, 1.0F); + public static final Tile dirt = (new DirtTile(3, 2)).setSoundAndGravity(Tile.SoundType.grass, 0.8F, 1.0F); + public static final Tile wood = (new Tile(4, 16)).setSoundAndGravity(Tile.SoundType.stone, 1.0F, 1.0F); + public static final Tile stoneBrick = (new Tile(5, 4)).setSoundAndGravity(Tile.SoundType.wood, 1.0F, 1.0F); + public static final Tile bush = (new Bush(6, 15)).setSoundAndGravity(Tile.SoundType.none, 0.7F, 1.0F); + public static final Tile unbreakable = (new Tile(7, 17)).setSoundAndGravity(Tile.SoundType.stone, 1.0F, 1.0F); + public static final Tile water = (new LiquidTile(8, Liquid.water)).setSoundAndGravity(Tile.SoundType.none, 1.0F, 1.0F); + public static final Tile calmWater = (new CalmLiquidTile(9, Liquid.water)).setSoundAndGravity(Tile.SoundType.none, 1.0F, 1.0F); + public static final Tile lava = (new LiquidTile(10, Liquid.lava)).setSoundAndGravity(Tile.SoundType.none, 1.0F, 1.0F); + public static final Tile calmLava = (new CalmLiquidTile(11, Liquid.lava)).setSoundAndGravity(Tile.SoundType.none, 1.0F, 1.0F); + public static final Tile sand = (new FallingTile(12, 18)).setSoundAndGravity(Tile.SoundType.gravel, 0.8F, 1.0F); + public static final Tile gravel = (new FallingTile(13, 19)).setSoundAndGravity(Tile.SoundType.gravel, 0.8F, 1.0F); + public static final Tile oreGold = (new Tile(14, 32)).setSoundAndGravity(Tile.SoundType.stone, 1.0F, 1.0F); + public static final Tile oreIron = (new Tile(15, 33)).setSoundAndGravity(Tile.SoundType.stone, 1.0F, 1.0F); + public static final Tile oreCoal = (new Tile(16, 34)).setSoundAndGravity(Tile.SoundType.stone, 1.0F, 1.0F); + public static final Tile log = (new LogTile(17)).setSoundAndGravity(Tile.SoundType.wood, 1.0F, 1.0F); + public static final Tile leaf = (new LeafTile(18, 22, true)).setSoundAndGravity(Tile.SoundType.grass, 1.0F, 0.4F); + public static final Tile sponge = (new SpongeTile(19)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 0.9F); + public static final Tile glass = (new GlassTile(20, 49, false)).setSoundAndGravity(Tile.SoundType.metal, 1.0F, 1.0F); + public static final Tile clothRed = (new Tile(21, 64)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothOrange = (new Tile(22, 65)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothYellow = (new Tile(23, 66)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothChartreuse = (new Tile(24, 67)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothGreen = (new Tile(25, 68)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothSpringGreen = (new Tile(26, 69)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothCyan = (new Tile(27, 70)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothCapri = (new Tile(28, 71)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothUltramarine = (new Tile(29, 72)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothViolet = (new Tile(30, 73)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothPurple = (new Tile(31, 74)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothMagenta = (new Tile(32, 75)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothRose = (new Tile(33, 76)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothDarkGray = (new Tile(34, 77)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothGray = (new Tile(35, 78)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile clothWhite = (new Tile(36, 79)).setSoundAndGravity(Tile.SoundType.cloth, 1.0F, 1.0F); + public static final Tile plantYellow = (new Bush(37, 13)).setSoundAndGravity(Tile.SoundType.none, 0.7F, 1.0F); + public static final Tile plantRed = (new Bush(38, 12)).setSoundAndGravity(Tile.SoundType.none, 0.7F, 1.0F); + public static final Tile mushroomBrown = (new Bush(39, 29)).setSoundAndGravity(Tile.SoundType.none, 0.7F, 1.0F); + public static final Tile mushroomRed = (new Bush(40, 28)).setSoundAndGravity(Tile.SoundType.none, 0.7F, 1.0F); + public static final Tile blockGold = (new Tile(41, 40)).setSoundAndGravity(Tile.SoundType.metal, 0.7F, 1.0F); + public int tex; + public final int id; + public Tile.SoundType soundType; + private float xx0; + private float yy0; + private float zz0; + private float xx1; + private float yy1; + private float zz1; + public float particleGravity; + + protected Tile(int var1) { + tiles[var1] = this; + this.id = var1; + this.setShape(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + } + + protected final Tile setSoundAndGravity(Tile.SoundType var1, float var2, float var3) { + this.particleGravity = var3; + this.soundType = var1; + return this; + } + + protected final void setTicking(boolean var1) { + shouldTick[this.id] = var1; + } + + protected final void setShape(float var1, float var2, float var3, float var4, float var5, float var6) { + this.xx0 = var1; + this.yy0 = var2; + this.zz0 = var3; + this.xx1 = var4; + this.yy1 = var5; + this.zz1 = var6; + } + + protected Tile(int var1, int var2) { + this(var1); + this.tex = var2; + } + + public final void setTickSpeed(int var1) { + tickSpeed[this.id] = 16; + } + + public boolean render(Tesselator var1, Level var2, int var3, int var4, int var5, int var6) { + boolean var7 = false; + float var8 = 0.5F; + float var9 = 0.8F; + float var10 = 0.6F; + float var11; + if(this.shouldRenderFace(var2, var4, var5 - 1, var6, var3, 0)) { + var11 = this.getBrightness(var2, var4, var5 - 1, var6); + var1.color(var8 * var11, var8 * var11, var8 * var11); + this.renderFace(var1, var4, var5, var6, 0); + var7 = true; + } + + if(this.shouldRenderFace(var2, var4, var5 + 1, var6, var3, 1)) { + var11 = this.getBrightness(var2, var4, var5 + 1, var6); + var1.color(var11 * 1.0F, var11 * 1.0F, var11 * 1.0F); + this.renderFace(var1, var4, var5, var6, 1); + var7 = true; + } + + if(this.shouldRenderFace(var2, var4, var5, var6 - 1, var3, 2)) { + var11 = this.getBrightness(var2, var4, var5, var6 - 1); + var1.color(var9 * var11, var9 * var11, var9 * var11); + this.renderFace(var1, var4, var5, var6, 2); + var7 = true; + } + + if(this.shouldRenderFace(var2, var4, var5, var6 + 1, var3, 3)) { + var11 = this.getBrightness(var2, var4, var5, var6 + 1); + var1.color(var9 * var11, var9 * var11, var9 * var11); + this.renderFace(var1, var4, var5, var6, 3); + var7 = true; + } + + if(this.shouldRenderFace(var2, var4 - 1, var5, var6, var3, 4)) { + var11 = this.getBrightness(var2, var4 - 1, var5, var6); + var1.color(var10 * var11, var10 * var11, var10 * var11); + this.renderFace(var1, var4, var5, var6, 4); + var7 = true; + } + + if(this.shouldRenderFace(var2, var4 + 1, var5, var6, var3, 5)) { + var11 = this.getBrightness(var2, var4 + 1, var5, var6); + var1.color(var10 * var11, var10 * var11, var10 * var11); + this.renderFace(var1, var4, var5, var6, 5); + var7 = true; + } + + return var7; + } + + protected float getBrightness(Level var1, int var2, int var3, int var4) { + return var1.getBrightness(var2, var3, var4); + } + + protected boolean shouldRenderFace(Level var1, int var2, int var3, int var4, int var5, int var6) { + return var5 == 1 ? false : !var1.isSolidTile(var2, var3, var4); + } + + protected int getTexture(int var1) { + return this.tex; + } + + public void renderFace(Tesselator var1, int var2, int var3, int var4, int var5) { + int var6 = this.getTexture(var5); + int var7 = var6 % 16 << 4; + var6 = var6 / 16 << 4; + float var8 = (float)var7 / 256.0F; + float var17 = ((float)var7 + 15.99F) / 256.0F; + float var9 = (float)var6 / 256.0F; + float var16 = ((float)var6 + 15.99F) / 256.0F; + float var10 = (float)var2 + this.xx0; + float var14 = (float)var2 + this.xx1; + float var11 = (float)var3 + this.yy0; + float var15 = (float)var3 + this.yy1; + float var12 = (float)var4 + this.zz0; + float var13 = (float)var4 + this.zz1; + if(var5 == 0) { + var1.vertexUV(var10, var11, var13, var8, var16); + var1.vertexUV(var10, var11, var12, var8, var9); + var1.vertexUV(var14, var11, var12, var17, var9); + var1.vertexUV(var14, var11, var13, var17, var16); + } else if(var5 == 1) { + var1.vertexUV(var14, var15, var13, var17, var16); + var1.vertexUV(var14, var15, var12, var17, var9); + var1.vertexUV(var10, var15, var12, var8, var9); + var1.vertexUV(var10, var15, var13, var8, var16); + } else if(var5 == 2) { + var1.vertexUV(var10, var15, var12, var17, var9); + var1.vertexUV(var14, var15, var12, var8, var9); + var1.vertexUV(var14, var11, var12, var8, var16); + var1.vertexUV(var10, var11, var12, var17, var16); + } else if(var5 == 3) { + var1.vertexUV(var10, var15, var13, var8, var9); + var1.vertexUV(var10, var11, var13, var8, var16); + var1.vertexUV(var14, var11, var13, var17, var16); + var1.vertexUV(var14, var15, var13, var17, var9); + } else if(var5 == 4) { + var1.vertexUV(var10, var15, var13, var17, var9); + var1.vertexUV(var10, var15, var12, var8, var9); + var1.vertexUV(var10, var11, var12, var8, var16); + var1.vertexUV(var10, var11, var13, var17, var16); + } else if(var5 == 5) { + var1.vertexUV(var14, var11, var13, var8, var16); + var1.vertexUV(var14, var11, var12, var17, var16); + var1.vertexUV(var14, var15, var12, var17, var9); + var1.vertexUV(var14, var15, var13, var8, var9); + } + } + + public final void renderBackFace(Tesselator var1, int var2, int var3, int var4, int var5) { + int var6 = this.getTexture(var5); + float var7 = (float)(var6 % 16) / 16.0F; + float var8 = var7 + 0.999F / 16.0F; + float var16 = (float)(var6 / 16) / 16.0F; + float var9 = var16 + 0.999F / 16.0F; + float var10 = (float)var2 + this.xx0; + float var14 = (float)var2 + this.xx1; + float var11 = (float)var3 + this.yy0; + float var15 = (float)var3 + this.yy1; + float var12 = (float)var4 + this.zz0; + float var13 = (float)var4 + this.zz1; + if(var5 == 0) { + var1.vertexUV(var14, var11, var13, var8, var9); + var1.vertexUV(var14, var11, var12, var8, var16); + var1.vertexUV(var10, var11, var12, var7, var16); + var1.vertexUV(var10, var11, var13, var7, var9); + } + + if(var5 == 1) { + var1.vertexUV(var10, var15, var13, var7, var9); + var1.vertexUV(var10, var15, var12, var7, var16); + var1.vertexUV(var14, var15, var12, var8, var16); + var1.vertexUV(var14, var15, var13, var8, var9); + } + + if(var5 == 2) { + var1.vertexUV(var10, var11, var12, var8, var9); + var1.vertexUV(var14, var11, var12, var7, var9); + var1.vertexUV(var14, var15, var12, var7, var16); + var1.vertexUV(var10, var15, var12, var8, var16); + } + + if(var5 == 3) { + var1.vertexUV(var14, var15, var13, var8, var16); + var1.vertexUV(var14, var11, var13, var8, var9); + var1.vertexUV(var10, var11, var13, var7, var9); + var1.vertexUV(var10, var15, var13, var7, var16); + } + + if(var5 == 4) { + var1.vertexUV(var10, var11, var13, var8, var9); + var1.vertexUV(var10, var11, var12, var7, var9); + var1.vertexUV(var10, var15, var12, var7, var16); + var1.vertexUV(var10, var15, var13, var8, var16); + } + + if(var5 == 5) { + var1.vertexUV(var14, var15, var13, var7, var16); + var1.vertexUV(var14, var15, var12, var8, var16); + var1.vertexUV(var14, var11, var12, var8, var9); + var1.vertexUV(var14, var11, var13, var7, var9); + } + + } + + public static void renderFaceNoTexture(Entity var0, Tesselator var1, int var2, int var3, int var4, int var5) { + float var6 = (float)var2; + float var7 = (float)var2 + 1.0F; + float var8 = (float)var3; + float var9 = (float)var3 + 1.0F; + float var10 = (float)var4; + float var11 = (float)var4 + 1.0F; + if(var5 == 0 && (float)var3 > var0.y) { + var1.vertex(var6, var8, var11); + var1.vertex(var6, var8, var10); + var1.vertex(var7, var8, var10); + var1.vertex(var7, var8, var11); + } + + if(var5 == 1 && (float)var3 < var0.y) { + var1.vertex(var7, var9, var11); + var1.vertex(var7, var9, var10); + var1.vertex(var6, var9, var10); + var1.vertex(var6, var9, var11); + } + + if(var5 == 2 && (float)var4 > var0.z) { + var1.vertex(var6, var9, var10); + var1.vertex(var7, var9, var10); + var1.vertex(var7, var8, var10); + var1.vertex(var6, var8, var10); + } + + if(var5 == 3 && (float)var4 < var0.z) { + var1.vertex(var6, var9, var11); + var1.vertex(var6, var8, var11); + var1.vertex(var7, var8, var11); + var1.vertex(var7, var9, var11); + } + + if(var5 == 4 && (float)var2 > var0.x) { + var1.vertex(var6, var9, var11); + var1.vertex(var6, var9, var10); + var1.vertex(var6, var8, var10); + var1.vertex(var6, var8, var11); + } + + if(var5 == 5 && (float)var2 < var0.x) { + var1.vertex(var7, var8, var11); + var1.vertex(var7, var8, var10); + var1.vertex(var7, var9, var10); + var1.vertex(var7, var9, var11); + } + + } + + public AABB getTileAABB(int var1, int var2, int var3) { + return new AABB((float)var1, (float)var2, (float)var3, (float)(var1 + 1), (float)(var2 + 1), (float)(var3 + 1)); + } + + public boolean blocksLight() { + return true; + } + + public boolean isSolid() { + return true; + } + + public void tick(Level var1, int var2, int var3, int var4, Random var5) { + } + + public final void destroy(Level var1, int var2, int var3, int var4, ParticleEngine var5) { + for(int var6 = 0; var6 < 4; ++var6) { + for(int var7 = 0; var7 < 4; ++var7) { + for(int var8 = 0; var8 < 4; ++var8) { + float var9 = (float)var2 + ((float)var6 + 0.5F) / (float)4; + float var10 = (float)var3 + ((float)var7 + 0.5F) / (float)4; + float var11 = (float)var4 + ((float)var8 + 0.5F) / (float)4; + Particle var12 = new Particle(var1, var9, var10, var11, var9 - (float)var2 - 0.5F, var10 - (float)var3 - 0.5F, var11 - (float)var4 - 0.5F, this); + var5.particles.add(var12); + } + } + } + + } + + public Liquid getLiquidType() { + return Liquid.none; + } + + public void neighborChanged(Level var1, int var2, int var3, int var4, int var5) { + } + + public void onBlockAdded(Level var1, int var2, int var3, int var4) { + } + + public int getTickDelay() { + return 0; + } + + public void onTileAdded(Level var1, int var2, int var3, int var4) { + } + + public void onTileRemoved(Level var1, int var2, int var3, int var4) { + } + + public static enum SoundType { + none("-", 0.0F, 0.0F), + grass("grass", 0.6F, 1.0F), + cloth("grass", 0.7F, 1.2F), + gravel("gravel", 1.0F, 1.0F), + stone("stone", 1.0F, 1.0F), + metal("stone", 1.0F, 2.0F), + wood("wood", 1.0F, 1.0F); + + public final String name; + private final float volume; + private final float pitch; + + private SoundType(String var3, float var4, float var5) { + this.name = var3; + this.volume = var4; + this.pitch = var5; + } + + public final float getVolume() { + return this.volume / (Tile.random.nextFloat() * 0.4F + 1.0F) * 0.5F; + } + + public final float getPitch() { + return this.pitch / (Tile.random.nextFloat() * 0.2F + 0.9F); + } + } +} diff --git a/src/main/java/com/mojang/minecraft/net/ConnectionManager.java b/src/main/java/com/mojang/minecraft/net/ConnectionManager.java new file mode 100644 index 0000000..0980970 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/net/ConnectionManager.java @@ -0,0 +1,43 @@ +package com.mojang.minecraft.net; + +import com.mojang.comm.SocketConnection; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.gui.ErrorScreen; +import java.io.ByteArrayOutputStream; +import java.util.HashMap; + +public final class ConnectionManager { + public ByteArrayOutputStream levelBuffer; + public SocketConnection connection; + public Minecraft minecraft; + public boolean processData = false; + public boolean connected = false; + public HashMap players = new HashMap(); + + public ConnectionManager(Minecraft var1, String var2, int var3, String var4, String var5) { + var1.hideGui = true; + this.minecraft = var1; + (new ConnectionThread(this, var2, var3, var4, var5, var1)).start(); + } + + public final void sendBlockChange(int var1, int var2, int var3, int var4, int var5) { + this.connection.sendPacket(Packet.PLACE_OR_REMOVE_TILE, new Object[]{Integer.valueOf(var1), Integer.valueOf(var2), Integer.valueOf(var3), Integer.valueOf(var4), Integer.valueOf(var5)}); + } + + public final void disconnect(Exception var1) { + this.connection.disconnect(); + this.minecraft.setScreen(new ErrorScreen("Disconnected!", var1.getMessage())); + var1.printStackTrace(); + } + + public final boolean isConnected() { + if(this.connection != null) { + SocketConnection var1 = this.connection; + if(var1.connected) { + return true; + } + } + + return false; + } +} diff --git a/src/main/java/com/mojang/minecraft/net/ConnectionThread.java b/src/main/java/com/mojang/minecraft/net/ConnectionThread.java new file mode 100644 index 0000000..1001dcb --- /dev/null +++ b/src/main/java/com/mojang/minecraft/net/ConnectionThread.java @@ -0,0 +1,51 @@ +package com.mojang.minecraft.net; + +import com.mojang.comm.SocketConnection; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.gui.ErrorScreen; +import java.io.IOException; + +final class ConnectionThread extends Thread { + private String ip; + private int port; + private String username; + private String mpPass; + private Minecraft e; + private ConnectionManager connectionManager; + + ConnectionThread(ConnectionManager var1, String var2, int var3, String var4, String var5, Minecraft var6) { + this.connectionManager = var1; + this.ip = var2; + this.port = var3; + this.username = var4; + this.mpPass = var5; + this.e = var6; + } + + public final void run() { + ConnectionManager var1; + boolean var2; + try { + ConnectionManager var10000 = this.connectionManager; + SocketConnection var5 = new SocketConnection(this.ip, this.port); + var1 = var10000; + var1.connection = var5; + var1 = this.connectionManager; + ConnectionManager var6 = this.connectionManager; + SocketConnection var4 = var1.connection; + var4.manager = var6; + var1 = this.connectionManager; + var1.connection.sendPacket(Packet.LOGIN, new Object[]{Byte.valueOf((byte)6), this.username, this.mpPass, Integer.valueOf(0)}); + var2 = true; + var1 = this.connectionManager; + var1.processData = var2; + } catch (IOException var3) { + this.e.hideGui = false; + this.e.connectionManager = null; + this.e.setScreen(new ErrorScreen("Failed to connect", "You failed to connect to the server. It\'s probably down!")); + var2 = false; + var1 = this.connectionManager; + var1.processData = var2; + } + } +} diff --git a/src/main/java/com/mojang/minecraft/net/NetworkPlayer.java b/src/main/java/com/mojang/minecraft/net/NetworkPlayer.java new file mode 100644 index 0000000..de6f750 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/net/NetworkPlayer.java @@ -0,0 +1,320 @@ +package com.mojang.minecraft.net; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.character.ZombieModel; +import com.mojang.minecraft.gui.Font; +import com.mojang.minecraft.renderer.Textures; +import java.awt.image.BufferedImage; +import java.util.LinkedList; +import java.util.List; +import org.lwjgl.opengl.GL11; + +public class NetworkPlayer extends Entity { + public static final long serialVersionUID = 77479605454997290L; + private ZombieModel zombieModel; + private float animStep; + private float animStepO; + private List moveQueue = new LinkedList(); + private Minecraft minecraft; + private int xp; + private int yp; + private int zp; + private float yBodyRot = 0.0F; + private float yBodyRotO = 0.0F; + private float oRun; + private float run; + private transient int skin = -1; + public transient BufferedImage newTexture = null; + public String name; + public String displayName; + int tickCount = 0; + private Textures textures; + + public NetworkPlayer(Minecraft var1, int var2, String var3, int var4, int var5, int var6, float var7, float var8) { + super(var1.level); + this.minecraft = var1; + this.zombieModel = var1.playerModel; + this.displayName = var3; + var3 = Font.removeColorCodes(var3); + this.name = var3; + this.xp = var4; + this.yp = var5; + this.zp = var6; + this.setPos((float)var4 / 32.0F, (float)var5 / 32.0F, (float)var6 / 32.0F); + this.xRot = var8; + this.yRot = var7; + (new NetworkSkinDownloadThread(this)).start(); + } + + public void tick() { + super.tick(); + this.animStepO = this.animStep; + this.yBodyRotO = this.yBodyRot; + this.yRotO = this.yRot; + this.xRotO = this.xRot; + ++this.tickCount; + int var1 = 5; + + do { + if(this.moveQueue.size() > 0) { + this.setPos((PlayerMove)this.moveQueue.remove(0)); + } + } while(var1-- > 0 && this.moveQueue.size() > 10); + + float var7 = this.x - this.xo; + float var2 = this.z - this.zo; + float var3 = (float)Math.sqrt((double)(var7 * var7 + var2 * var2)); + float var4 = this.yBodyRot; + float var5 = 0.0F; + this.oRun = this.run; + float var6 = 0.0F; + if(var3 != 0.0F) { + var6 = 1.0F; + var5 = var3 * 3.0F; + var4 = -((float)Math.atan2((double)var2, (double)var7) * 180.0F / (float)Math.PI + 90.0F); + } + + this.run += (var6 - this.run) * 0.3F; + + for(var7 = var4 - this.yBodyRot; var7 < -180.0F; var7 += 360.0F) { + } + + while(var7 >= 180.0F) { + var7 -= 360.0F; + } + + this.yBodyRot += var7 * 0.1F; + + for(var7 = this.yRot - this.yBodyRot; var7 < -180.0F; var7 += 360.0F) { + } + + while(var7 >= 180.0F) { + var7 -= 360.0F; + } + + boolean var8 = var7 < -90.0F || var7 >= 90.0F; + if(var7 < -75.0F) { + var7 = -75.0F; + } + + if(var7 >= 75.0F) { + var7 = 75.0F; + } + + this.yBodyRot = this.yRot - var7; + this.yBodyRot += var7 * 0.1F; + if(var8) { + var5 = -var5; + } + + while(this.yRot - this.yRotO < -180.0F) { + this.yRotO -= 360.0F; + } + + while(this.yRot - this.yRotO >= 180.0F) { + this.yRotO += 360.0F; + } + + while(this.yBodyRot - this.yBodyRotO < -180.0F) { + this.yBodyRotO -= 360.0F; + } + + while(this.yBodyRot - this.yBodyRotO >= 180.0F) { + this.yBodyRotO += 360.0F; + } + + while(this.xRot - this.xRotO < -180.0F) { + this.xRotO -= 360.0F; + } + + while(this.xRot - this.xRotO >= 180.0F) { + this.xRotO += 360.0F; + } + + this.animStep += var5; + } + + public void render(Textures var1, float var2) { + this.textures = var1; + float var3 = this.oRun + (this.run - this.oRun) * var2; + GL11.glEnable(GL11.GL_TEXTURE_2D); + if(this.newTexture != null) { + this.skin = var1.addTexture(this.newTexture); + this.newTexture = null; + } + + if(this.skin < 0) { + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var1.getTextureId("/char.png")); + } else { + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.skin); + } + + while(this.yBodyRotO - this.yBodyRot < -180.0F) { + this.yBodyRotO += 360.0F; + } + + while(this.yBodyRotO - this.yBodyRot >= 180.0F) { + this.yBodyRotO -= 360.0F; + } + + float var9; + for(var9 = this.yBodyRotO + (this.yBodyRot - this.yBodyRotO) * var2; this.xRotO - this.xRot < -180.0F; this.xRotO += 360.0F) { + } + + while(this.xRotO - this.xRot >= 180.0F) { + this.xRotO -= 360.0F; + } + + while(this.yRotO - this.yRot < -180.0F) { + this.yRotO += 360.0F; + } + + while(this.yRotO - this.yRot >= 180.0F) { + this.yRotO -= 360.0F; + } + + float var4 = this.yRotO + (this.yRot - this.yRotO) * var2; + float var5 = this.xRotO + (this.xRot - this.xRotO) * var2; + var4 = -(var4 - var9); + GL11.glPushMatrix(); + float var6 = this.animStepO + (this.animStep - this.animStepO) * var2; + float var7 = this.getBrightness(); + GL11.glColor3f(var7, var7, var7); + var7 = 1.0F / 16.0F; + float var8 = (float)(-Math.abs(Math.cos((double)var6 * 0.6662D)) * 5.0D * (double)var3 - 23.0D); + GL11.glTranslatef(this.xo + (this.x - this.xo) * var2, this.yo + (this.y - this.yo) * var2 - 1.62F, this.zo + (this.z - this.zo) * var2); + GL11.glScalef(1.0F, -1.0F, 1.0F); + GL11.glTranslatef(0.0F, var8 * var7, 0.0F); + GL11.glRotatef(var9, 0.0F, 1.0F, 0.0F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glScalef(-1.0F, 1.0F, 1.0F); + this.zombieModel.render(var6, var3, (float)this.tickCount + var2, var4, var5, var7); + GL11.glEnable(GL11.GL_ALPHA_TEST); + Font var10 = this.minecraft.font; + GL11.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslatef(this.xo + (this.x - this.xo) * var2, this.yo + (this.y - this.yo) * var2 + 0.8F, this.zo + (this.z - this.zo) * var2); + GL11.glRotatef(-this.minecraft.player.yRot, 0.0F, 1.0F, 0.0F); + var2 = 0.05F; + GL11.glScalef(var2, -var2, var2); + GL11.glTranslatef((float)(-var10.width(this.displayName)) / 2.0F, 0.0F, 0.0F); + GL11.glNormal3f(1.0F, -1.0F, 1.0F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_LIGHT0); + if(this.name.equalsIgnoreCase("Notch")) { + var10.draw(this.displayName, 0, 0, 16776960); + } else { + var10.draw(this.displayName, 0, 0, 16777215); + } + + GL11.glEnable(GL11.GL_LIGHT0); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glTranslatef(1.0F, 1.0F, -0.05F); + var10.draw(this.name, 0, 0, 5263440); + GL11.glPopMatrix(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + + public void queue(byte var1, byte var2, byte var3, float var4, float var5) { + float var6 = var4 - this.yRot; + + float var7; + for(var7 = var5 - this.xRot; var6 >= 180.0F; var6 -= 360.0F) { + } + + while(var6 < -180.0F) { + var6 += 360.0F; + } + + while(var7 >= 180.0F) { + var7 -= 360.0F; + } + + while(var7 < -180.0F) { + var7 += 360.0F; + } + + var6 = this.yRot + var6 * 0.5F; + var7 = this.xRot + var7 * 0.5F; + this.moveQueue.add(new PlayerMove(((float)this.xp + (float)var1 / 2.0F) / 32.0F, ((float)this.yp + (float)var2 / 2.0F) / 32.0F, ((float)this.zp + (float)var3 / 2.0F) / 32.0F, var6, var7)); + this.xp += var1; + this.yp += var2; + this.zp += var3; + this.moveQueue.add(new PlayerMove((float)this.xp / 32.0F, (float)this.yp / 32.0F, (float)this.zp / 32.0F, var4, var5)); + } + + public void teleport(short var1, short var2, short var3, float var4, float var5) { + float var6 = var4 - this.yRot; + + float var7; + for(var7 = var5 - this.xRot; var6 >= 180.0F; var6 -= 360.0F) { + } + + while(var6 < -180.0F) { + var6 += 360.0F; + } + + while(var7 >= 180.0F) { + var7 -= 360.0F; + } + + while(var7 < -180.0F) { + var7 += 360.0F; + } + + var6 = this.yRot + var6 * 0.5F; + var7 = this.xRot + var7 * 0.5F; + this.moveQueue.add(new PlayerMove((float)(this.xp + var1) / 64.0F, (float)(this.yp + var2) / 64.0F, (float)(this.zp + var3) / 64.0F, var6, var7)); + this.xp = var1; + this.yp = var2; + this.zp = var3; + this.moveQueue.add(new PlayerMove((float)this.xp / 32.0F, (float)this.yp / 32.0F, (float)this.zp / 32.0F, var4, var5)); + } + + public void queue(byte var1, byte var2, byte var3) { + this.moveQueue.add(new PlayerMove(((float)this.xp + (float)var1 / 2.0F) / 32.0F, ((float)this.yp + (float)var2 / 2.0F) / 32.0F, ((float)this.zp + (float)var3 / 2.0F) / 32.0F)); + this.xp += var1; + this.yp += var2; + this.zp += var3; + this.moveQueue.add(new PlayerMove((float)this.xp / 32.0F, (float)this.yp / 32.0F, (float)this.zp / 32.0F)); + } + + public void queue(float var1, float var2) { + float var3 = var1 - this.yRot; + + float var4; + for(var4 = var2 - this.xRot; var3 >= 180.0F; var3 -= 360.0F) { + } + + while(var3 < -180.0F) { + var3 += 360.0F; + } + + while(var4 >= 180.0F) { + var4 -= 360.0F; + } + + while(var4 < -180.0F) { + var4 += 360.0F; + } + + var3 = this.yRot + var3 * 0.5F; + var4 = this.xRot + var4 * 0.5F; + this.moveQueue.add(new PlayerMove(var3, var4)); + this.moveQueue.add(new PlayerMove(var1, var2)); + } + + public void clear() { + if(this.skin >= 0) { + System.out.println("Releasing texture for " + this.name); + int var1 = this.skin; + Textures var2 = this.textures; + var2.idBuffer.clear(); + var2.idBuffer.put(var1); + var2.idBuffer.flip(); + GL11.glDeleteTextures(var2.idBuffer); + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/net/NetworkSkinDownloadThread.java b/src/main/java/com/mojang/minecraft/net/NetworkSkinDownloadThread.java new file mode 100644 index 0000000..e1ee6e2 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/net/NetworkSkinDownloadThread.java @@ -0,0 +1,38 @@ +package com.mojang.minecraft.net; + +import java.net.HttpURLConnection; +import java.net.URL; +import javax.imageio.ImageIO; + +final class NetworkSkinDownloadThread extends Thread { + private NetworkPlayer player; + + NetworkSkinDownloadThread(NetworkPlayer var1) { + this.player = var1; + } + + public final void run() { + HttpURLConnection var1 = null; + + try { + URL var2 = new URL("http://www.minecraft.net/skin/" + this.player.name + ".png"); + var1 = (HttpURLConnection)var2.openConnection(); + var1.setDoInput(true); + var1.setDoOutput(false); + var1.connect(); + if(var1.getResponseCode() != 404) { + System.out.println("Loading texture for " + this.player.name); + this.player.newTexture = ImageIO.read(var1.getInputStream()); + return; + } + + System.out.println("Failed to load texture for " + this.player.name); + return; + } catch (Exception var5) { + var5.printStackTrace(); + } finally { + var1.disconnect(); + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/net/Packet.java b/src/main/java/com/mojang/minecraft/net/Packet.java new file mode 100644 index 0000000..2b03813 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/net/Packet.java @@ -0,0 +1,71 @@ +package com.mojang.minecraft.net; + +public final class Packet { + public static final Packet[] PACKETS = new Packet[256]; + public static final Packet LOGIN = new Packet(new Class[]{Byte.TYPE, String.class, String.class, Byte.TYPE}); + public static final Packet LEVEL_INITIALIZE; + public static final Packet LEVEL_DATA_CHUNK; + public static final Packet LEVEL_FINALIZE; + public static final Packet PLACE_OR_REMOVE_TILE; + public static final Packet SET_TILE; + public static final Packet PLAYER_JOIN; + public static final Packet PLAYER_TELEPORT; + public static final Packet PLAYER_MOVE_AND_ROTATE; + public static final Packet PLAYER_MOVE; + public static final Packet PLAYER_ROTATE; + public static final Packet PLAYER_DISCONNECT; + public static final Packet CHAT_MESSAGE; + public static final Packet KICK_PLAYER; + public final int size; + private static int nextId; + public final byte id = (byte)(nextId++); + public Class[] fields; + + private Packet(Class... var1) { + PACKETS[this.id] = this; + this.fields = new Class[var1.length]; + int var2 = 0; + + for(int var3 = 0; var3 < var1.length; ++var3) { + Class var4 = var1[var3]; + this.fields[var3] = var4; + if(var4 == Long.TYPE) { + var2 += 8; + } else if(var4 == Integer.TYPE) { + var2 += 4; + } else if(var4 == Short.TYPE) { + var2 += 2; + } else if(var4 == Byte.TYPE) { + ++var2; + } else if(var4 == Float.TYPE) { + var2 += 4; + } else if(var4 == Double.TYPE) { + var2 += 8; + } else if(var4 == byte[].class) { + var2 += 1024; + } else if(var4 == String.class) { + var2 += 64; + } + } + + this.size = var2; + } + + static { + new Packet(new Class[0]); + LEVEL_INITIALIZE = new Packet(new Class[0]); + LEVEL_DATA_CHUNK = new Packet(new Class[]{Short.TYPE, byte[].class, Byte.TYPE}); + LEVEL_FINALIZE = new Packet(new Class[]{Short.TYPE, Short.TYPE, Short.TYPE}); + PLACE_OR_REMOVE_TILE = new Packet(new Class[]{Short.TYPE, Short.TYPE, Short.TYPE, Byte.TYPE, Byte.TYPE}); + SET_TILE = new Packet(new Class[]{Short.TYPE, Short.TYPE, Short.TYPE, Byte.TYPE}); + PLAYER_JOIN = new Packet(new Class[]{Byte.TYPE, String.class, Short.TYPE, Short.TYPE, Short.TYPE, Byte.TYPE, Byte.TYPE}); + PLAYER_TELEPORT = new Packet(new Class[]{Byte.TYPE, Short.TYPE, Short.TYPE, Short.TYPE, Byte.TYPE, Byte.TYPE}); + PLAYER_MOVE_AND_ROTATE = new Packet(new Class[]{Byte.TYPE, Byte.TYPE, Byte.TYPE, Byte.TYPE, Byte.TYPE, Byte.TYPE}); + PLAYER_MOVE = new Packet(new Class[]{Byte.TYPE, Byte.TYPE, Byte.TYPE, Byte.TYPE}); + PLAYER_ROTATE = new Packet(new Class[]{Byte.TYPE, Byte.TYPE, Byte.TYPE}); + PLAYER_DISCONNECT = new Packet(new Class[]{Byte.TYPE}); + CHAT_MESSAGE = new Packet(new Class[]{Byte.TYPE, String.class}); + KICK_PLAYER = new Packet(new Class[]{String.class}); + nextId = 0; + } +} diff --git a/src/main/java/com/mojang/minecraft/net/PlayerMove.java b/src/main/java/com/mojang/minecraft/net/PlayerMove.java new file mode 100644 index 0000000..da5fbb6 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/net/PlayerMove.java @@ -0,0 +1,36 @@ +package com.mojang.minecraft.net; + +public final class PlayerMove { + public float x; + public float y; + public float z; + public float yRot; + public float xRot; + public boolean rotating = false; + public boolean moving = false; + + public PlayerMove(float var1, float var2, float var3, float var4, float var5) { + this.x = var1; + this.y = var2; + this.z = var3; + this.yRot = var4; + this.xRot = var5; + this.rotating = true; + this.moving = true; + } + + public PlayerMove(float var1, float var2, float var3) { + this.x = var1; + this.y = var2; + this.z = var3; + this.moving = true; + this.rotating = false; + } + + public PlayerMove(float var1, float var2) { + this.yRot = var1; + this.xRot = var2; + this.rotating = true; + this.moving = false; + } +} diff --git a/src/main/java/com/mojang/minecraft/particle/Particle.java b/src/main/java/com/mojang/minecraft/particle/Particle.java new file mode 100644 index 0000000..24f03f8 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/particle/Particle.java @@ -0,0 +1,77 @@ +package com.mojang.minecraft.particle; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.renderer.Tesselator; + +public class Particle extends Entity { + private float xd; + private float yd; + private float zd; + public int tex; + private float uo; + private float vo; + private int age = 0; + private int lifetime = 0; + private float size; + private float gravity; + + public Particle(Level var1, float var2, float var3, float var4, float var5, float var6, float var7, Tile var8) { + super(var1); + this.tex = var8.tex; + this.gravity = var8.particleGravity; + this.setSize(0.2F, 0.2F); + this.heightOffset = this.bbHeight / 2.0F; + this.setPos(var2, var3, var4); + this.xd = var5 + (float)(Math.random() * 2.0D - 1.0D) * 0.4F; + this.yd = var6 + (float)(Math.random() * 2.0D - 1.0D) * 0.4F; + this.zd = var7 + (float)(Math.random() * 2.0D - 1.0D) * 0.4F; + float var9 = (float)(Math.random() + Math.random() + 1.0D) * 0.15F; + var2 = (float)Math.sqrt((double)(this.xd * this.xd + this.yd * this.yd + this.zd * this.zd)); + this.xd = this.xd / var2 * var9 * 0.4F; + this.yd = this.yd / var2 * var9 * 0.4F + 0.1F; + this.zd = this.zd / var2 * var9 * 0.4F; + this.uo = (float)Math.random() * 3.0F; + this.vo = (float)Math.random() * 3.0F; + this.size = (float)(Math.random() * 0.5D + 0.5D); + this.lifetime = (int)(4.0D / (Math.random() * 0.9D + 0.1D)); + this.age = 0; + this.makeStepSound = false; + } + + public void tick() { + this.xo = this.x; + this.yo = this.y; + this.zo = this.z; + if(this.age++ >= this.lifetime) { + this.remove(); + } + + this.yd = (float)((double)this.yd - 0.04D * (double)this.gravity); + this.move(this.xd, this.yd, this.zd); + this.xd *= 0.98F; + this.yd *= 0.98F; + this.zd *= 0.98F; + if(this.onGround) { + this.xd *= 0.7F; + this.zd *= 0.7F; + } + + } + + public void render(Tesselator var1, float var2, float var3, float var4, float var5, float var6, float var7) { + float var8 = ((float)(this.tex % 16) + this.uo / 4.0F) / 16.0F; + float var9 = var8 + 0.999F / 64.0F; + float var10 = ((float)(this.tex / 16) + this.vo / 4.0F) / 16.0F; + float var11 = var10 + 0.999F / 64.0F; + float var12 = 0.1F * this.size; + float var13 = this.xo + (this.x - this.xo) * var2; + float var14 = this.yo + (this.y - this.yo) * var2; + float var15 = this.zo + (this.z - this.zo) * var2; + var1.vertexUV(var13 - var3 * var12 - var6 * var12, var14 - var4 * var12, var15 - var5 * var12 - var7 * var12, var8, var11); + var1.vertexUV(var13 - var3 * var12 + var6 * var12, var14 + var4 * var12, var15 - var5 * var12 + var7 * var12, var8, var10); + var1.vertexUV(var13 + var3 * var12 + var6 * var12, var14 + var4 * var12, var15 + var5 * var12 + var7 * var12, var9, var10); + var1.vertexUV(var13 + var3 * var12 - var6 * var12, var14 - var4 * var12, var15 + var5 * var12 - var7 * var12, var9, var11); + } +} diff --git a/src/main/java/com/mojang/minecraft/particle/ParticleEngine.java b/src/main/java/com/mojang/minecraft/particle/ParticleEngine.java new file mode 100644 index 0000000..5d1a528 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/particle/ParticleEngine.java @@ -0,0 +1,54 @@ +package com.mojang.minecraft.particle; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.player.Player; +import com.mojang.minecraft.renderer.Tesselator; +import com.mojang.minecraft.renderer.Textures; +import java.util.ArrayList; +import java.util.List; +import org.lwjgl.opengl.GL11; + +public final class ParticleEngine { + public List particles = new ArrayList(); + private Textures textures; + + public ParticleEngine(Level var1, Textures var2) { + this.textures = var2; + } + + public final void tick() { + for(int var1 = 0; var1 < this.particles.size(); ++var1) { + Particle var2 = (Particle)this.particles.get(var1); + var2.tick(); + if(var2.removed) { + this.particles.remove(var1--); + } + } + + } + + public final void render(Player var1, float var2) { + if(this.particles.size() != 0) { + GL11.glEnable(GL11.GL_TEXTURE_2D); + int var3 = this.textures.getTextureId("/terrain.png"); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var3); + float var12 = -((float)Math.cos((double)var1.yRot * Math.PI / 180.0D)); + float var4 = -((float)Math.sin((double)var1.yRot * Math.PI / 180.0D)); + float var5 = -var4 * (float)Math.sin((double)var1.xRot * Math.PI / 180.0D); + float var6 = var12 * (float)Math.sin((double)var1.xRot * Math.PI / 180.0D); + float var11 = (float)Math.cos((double)var1.xRot * Math.PI / 180.0D); + Tesselator var7 = Tesselator.instance; + var7.begin(); + + for(int var8 = 0; var8 < this.particles.size(); ++var8) { + Particle var9 = (Particle)this.particles.get(var8); + float var10 = 0.8F * var9.getBrightness(); + var7.color(var10, var10, var10); + var9.render(var7, var2, var12, var11, var4, var5, var6); + } + + var7.end(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + } +} diff --git a/src/main/java/com/mojang/minecraft/phys/AABB.java b/src/main/java/com/mojang/minecraft/phys/AABB.java new file mode 100644 index 0000000..4206f5d --- /dev/null +++ b/src/main/java/com/mojang/minecraft/phys/AABB.java @@ -0,0 +1,165 @@ +package com.mojang.minecraft.phys; + +import java.io.Serializable; + +public class AABB implements Serializable { + public static final long serialVersionUID = 0L; + private float epsilon = 0.0F; + public float x0; + public float y0; + public float z0; + public float x1; + public float y1; + public float z1; + + public AABB(float var1, float var2, float var3, float var4, float var5, float var6) { + this.x0 = var1; + this.y0 = var2; + this.z0 = var3; + this.x1 = var4; + this.y1 = var5; + this.z1 = var6; + } + + public AABB expand(float var1, float var2, float var3) { + float var4 = this.x0; + float var5 = this.y0; + float var6 = this.z0; + float var7 = this.x1; + float var8 = this.y1; + float var9 = this.z1; + if(var1 < 0.0F) { + var4 += var1; + } + + if(var1 > 0.0F) { + var7 += var1; + } + + if(var2 < 0.0F) { + var5 += var2; + } + + if(var2 > 0.0F) { + var8 += var2; + } + + if(var3 < 0.0F) { + var6 += var3; + } + + if(var3 > 0.0F) { + var9 += var3; + } + + return new AABB(var4, var5, var6, var7, var8, var9); + } + + public AABB grow(float var1, float var2, float var3) { + float var4 = this.x0 - var1; + float var5 = this.y0 - var2; + float var6 = this.z0 - var3; + var1 += this.x1; + var2 += this.y1; + float var7 = this.z1 + var3; + return new AABB(var4, var5, var6, var1, var2, var7); + } + + public AABB cloneMove(float var1, float var2, float var3) { + return new AABB(this.x0 + var3, this.y0 + var2, this.z0 + var3, this.x1 + var1, this.y1 + var2, this.z1 + var3); + } + + public float clipXCollide(AABB var1, float var2) { + if(var1.y1 > this.y0 && var1.y0 < this.y1) { + if(var1.z1 > this.z0 && var1.z0 < this.z1) { + float var3; + if(var2 > 0.0F && var1.x1 <= this.x0) { + var3 = this.x0 - var1.x1 - this.epsilon; + if(var3 < var2) { + var2 = var3; + } + } + + if(var2 < 0.0F && var1.x0 >= this.x1) { + var3 = this.x1 - var1.x0 + this.epsilon; + if(var3 > var2) { + var2 = var3; + } + } + + return var2; + } else { + return var2; + } + } else { + return var2; + } + } + + public float clipYCollide(AABB var1, float var2) { + if(var1.x1 > this.x0 && var1.x0 < this.x1) { + if(var1.z1 > this.z0 && var1.z0 < this.z1) { + float var3; + if(var2 > 0.0F && var1.y1 <= this.y0) { + var3 = this.y0 - var1.y1 - this.epsilon; + if(var3 < var2) { + var2 = var3; + } + } + + if(var2 < 0.0F && var1.y0 >= this.y1) { + var3 = this.y1 - var1.y0 + this.epsilon; + if(var3 > var2) { + var2 = var3; + } + } + + return var2; + } else { + return var2; + } + } else { + return var2; + } + } + + public float clipZCollide(AABB var1, float var2) { + if(var1.x1 > this.x0 && var1.x0 < this.x1) { + if(var1.y1 > this.y0 && var1.y0 < this.y1) { + float var3; + if(var2 > 0.0F && var1.z1 <= this.z0) { + var3 = this.z0 - var1.z1 - this.epsilon; + if(var3 < var2) { + var2 = var3; + } + } + + if(var2 < 0.0F && var1.z0 >= this.z1) { + var3 = this.z1 - var1.z0 + this.epsilon; + if(var3 > var2) { + var2 = var3; + } + } + + return var2; + } else { + return var2; + } + } else { + return var2; + } + } + + public boolean intersects(AABB var1) { + return var1.x1 > this.x0 && var1.x0 < this.x1 ? (var1.y1 > this.y0 && var1.y0 < this.y1 ? var1.z1 > this.z0 && var1.z0 < this.z1 : false) : false; + } + + public void move(float var1, float var2, float var3) { + this.x0 += var1; + this.y0 += var2; + this.z0 += var3; + this.x1 += var1; + this.y1 += var2; + this.z1 += var3; + } +} diff --git a/src/main/java/com/mojang/minecraft/player/Inventory.java b/src/main/java/com/mojang/minecraft/player/Inventory.java new file mode 100644 index 0000000..a84cfb7 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/player/Inventory.java @@ -0,0 +1,60 @@ +package com.mojang.minecraft.player; + +import com.mojang.minecraft.User; +import com.mojang.minecraft.level.tile.Tile; + +public final class Inventory { + public int[] slots = new int[9]; + public int selectedSlot = 0; + + public Inventory() { + for(int var1 = 0; var1 < 9; ++var1) { + this.slots[var1] = ((Tile)User.creativeTiles.get(var1)).id; + } + + } + + public final int getSelected() { + return this.slots[this.selectedSlot]; + } + + public int containsTileAt(int var1) { + for(int var2 = 0; var2 < this.slots.length; ++var2) { + if(var1 == this.slots[var2]) { + return var2; + } + } + + return -1; + } + + public final void scrollHotbar(int var1) { + if(var1 > 0) { + var1 = 1; + } + + if(var1 < 0) { + var1 = -1; + } + + for(this.selectedSlot -= var1; this.selectedSlot < 0; this.selectedSlot += this.slots.length) { + } + + while(this.selectedSlot >= this.slots.length) { + this.selectedSlot -= this.slots.length; + } + + } + + public final void setTile(Tile var1) { + if(var1 != null) { + int var2 = this.containsTileAt(var1.id); + if(var2 >= 0) { + this.slots[var2] = this.slots[this.selectedSlot]; + } + + this.slots[this.selectedSlot] = var1.id; + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/player/MovementInput.java b/src/main/java/com/mojang/minecraft/player/MovementInput.java new file mode 100644 index 0000000..86d568f --- /dev/null +++ b/src/main/java/com/mojang/minecraft/player/MovementInput.java @@ -0,0 +1,17 @@ +package com.mojang.minecraft.player; + +public class MovementInput { + public float moveStrafe = 0.0F; + public float moveForward = 0.0F; + public boolean jump = false; + public boolean jumpHeld = false; + + public void updatePlayerMoveState() { + } + + public void releaseAllKeys() { + } + + public void setKey(int var1, boolean var2) { + } +} diff --git a/src/main/java/com/mojang/minecraft/player/MovementInputFromOptions.java b/src/main/java/com/mojang/minecraft/player/MovementInputFromOptions.java new file mode 100644 index 0000000..49f6274 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/player/MovementInputFromOptions.java @@ -0,0 +1,69 @@ +package com.mojang.minecraft.player; + +import com.mojang.minecraft.Options; + +public final class MovementInputFromOptions extends MovementInput { + private boolean[] keys = new boolean[10]; + private Options f; + + public MovementInputFromOptions(Options var1) { + this.f = var1; + } + + public final void setKey(int var1, boolean var2) { + byte var3 = -1; + if(var1 == this.f.forward.key) { + var3 = 0; + } + + if(var1 == this.f.back.key) { + var3 = 1; + } + + if(var1 == this.f.left.key) { + var3 = 2; + } + + if(var1 == this.f.right.key) { + var3 = 3; + } + + if(var1 == this.f.jump.key) { + var3 = 4; + } + + if(var3 >= 0) { + this.keys[var3] = var2; + } + + } + + public final void releaseAllKeys() { + for(int var1 = 0; var1 < 10; ++var1) { + this.keys[var1] = false; + } + + } + + public final void updatePlayerMoveState() { + this.moveStrafe = 0.0F; + this.moveForward = 0.0F; + if(this.keys[0]) { + --this.moveForward; + } + + if(this.keys[1]) { + ++this.moveForward; + } + + if(this.keys[2]) { + --this.moveStrafe; + } + + if(this.keys[3]) { + ++this.moveStrafe; + } + + this.jumpHeld = this.keys[4]; + } +} diff --git a/src/main/java/com/mojang/minecraft/player/Player.java b/src/main/java/com/mojang/minecraft/player/Player.java new file mode 100644 index 0000000..be53b56 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/player/Player.java @@ -0,0 +1,83 @@ +package com.mojang.minecraft.player; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.level.Level; + +public class Player extends Entity { + private MovementInput input; + public Inventory inventory = new Inventory(); + public byte userType = 0; + + public Player(Level var1, MovementInput var2) { + super(var1); + this.heightOffset = 1.62F; + this.input = var2; + } + + public void tick() { + super.tick(); + boolean var1 = this.isInWater(); + boolean var2 = this.isInLava(); + this.input.updatePlayerMoveState(); + if(this.input.jumpHeld) { + if(var1) { + this.yd += 0.04F; + } else if(var2) { + this.yd += 0.04F; + } else if(this.onGround && !this.input.jump) { + this.yd = 0.42F; + this.input.jump = true; + } + } else { + this.input.jump = false; + } + + float var3; + if(var1) { + var3 = this.y; + this.moveRelative(this.input.moveStrafe, this.input.moveForward, 0.02F); + this.move(this.xd, this.yd, this.zd); + this.xd *= 0.8F; + this.yd *= 0.8F; + this.zd *= 0.8F; + this.yd = (float)((double)this.yd - 0.02D); + if(this.horizontalCollision && this.isFree(this.xd, this.yd + 0.6F - this.y + var3, this.zd)) { + this.yd = 0.3F; + } + + } else if(var2) { + var3 = this.y; + this.moveRelative(this.input.moveStrafe, this.input.moveForward, 0.02F); + this.move(this.xd, this.yd, this.zd); + this.xd *= 0.5F; + this.yd *= 0.5F; + this.zd *= 0.5F; + this.yd = (float)((double)this.yd - 0.02D); + if(this.horizontalCollision && this.isFree(this.xd, this.yd + 0.6F - this.y + var3, this.zd)) { + this.yd = 0.3F; + } + + } else { + this.moveRelative(this.input.moveStrafe, this.input.moveForward, this.onGround ? 0.1F : 0.02F); + this.move(this.xd, this.yd, this.zd); + this.xd *= 0.91F; + this.yd *= 0.98F; + this.zd *= 0.91F; + this.yd = (float)((double)this.yd - 0.08D); + if(this.onGround) { + var3 = 0.6F; + this.xd *= var3; + this.zd *= var3; + } + + } + } + + public void releaseAllKeys() { + this.input.releaseAllKeys(); + } + + public void setKey(int var1, boolean var2) { + this.input.setKey(var1, var2); + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/Chunk.java b/src/main/java/com/mojang/minecraft/renderer/Chunk.java new file mode 100644 index 0000000..751aea2 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/Chunk.java @@ -0,0 +1,99 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.player.Player; +import java.nio.IntBuffer; +import org.lwjgl.opengl.GL11; + +public final class Chunk { + private Level level; + private int lists = -1; + private static Tesselator t = Tesselator.instance; + public static int updates = 0; + private int x0; + private int y0; + private int z0; + private int x1; + private int y1; + private int z1; + private boolean[] skipRenderPass = new boolean[2]; + public boolean isInFrustum = false; + + public Chunk(Level var1, int var2, int var3, int var4, int var5, int var6) { + this.level = var1; + this.x0 = var2; + this.y0 = var3; + this.z0 = var4; + this.x1 = this.y1 = this.z1 = 16; + Math.sqrt((double)(this.x1 * this.x1 + this.y1 * this.y1 + this.z1 * this.z1)); + this.lists = var6; + this.reset(); + } + + public final float a(Player var1) { + float var2 = var1.x - (float)this.x0; + float var3 = var1.y - (float)this.y0; + float var4 = var1.z - (float)this.z0; + return var2 * var2 + var3 * var3 + var4 * var4; + } + + private void reset() { + for(int var1 = 0; var1 < 2; ++var1) { + GL11.glNewList(this.lists + var1, GL11.GL_COMPILE); + GL11.glEndList(); + } + + } + + public final void clear() { + this.reset(); + this.level = null; + } + + public final void rebuild() { + ++updates; + + for(int var1 = 0; var1 < 2; ++var1) { + int var3 = var1; + Chunk var2 = this; + int var4 = this.x0; + int var5 = this.y0; + int var6 = this.z0; + int var7 = this.x0 + this.x1; + int var8 = this.y0 + this.y1; + int var9 = this.z0 + this.z1; + GL11.glNewList(this.lists + var1, GL11.GL_COMPILE); + t.begin(); + boolean var10 = false; + + for(var4 = var4; var4 < var7; ++var4) { + for(int var11 = var5; var11 < var8; ++var11) { + for(int var12 = var6; var12 < var9; ++var12) { + int var13 = var2.level.getTile(var4, var11, var12); + if(var13 > 0) { + var10 |= Tile.tiles[var13].render(t, var2.level, var3, var4, var11, var12); + } + } + } + } + + t.end(); + GL11.glEndList(); + if(var2.skipRenderPass[var3] != !var10) { + var2.skipRenderPass[var3] = !var10; + } + } + + } + + public final void render(IntBuffer var1, int var2) { + if(this.isInFrustum && !this.skipRenderPass[var2]) { + var1.put(this.lists + var2); + } + } + + public final void isInFrustum(Frustum var1) { + this.isInFrustum = var1.cubeInFrustum((float)this.x0, (float)this.y0, (float)this.z0, (float)(this.x0 + this.x1), (float)(this.y0 + this.y1), (float)(this.z0 + this.z1)); + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/DirtyChunkSorter.java b/src/main/java/com/mojang/minecraft/renderer/DirtyChunkSorter.java new file mode 100644 index 0000000..7763624 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/DirtyChunkSorter.java @@ -0,0 +1,21 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.player.Player; +import java.util.Comparator; + +public final class DirtyChunkSorter implements Comparator { + private Player player; + + public DirtyChunkSorter(Player var1) { + this.player = var1; + } + + public final int compare(Object var1, Object var2) { + Chunk var10001 = (Chunk)var1; + Chunk var6 = (Chunk)var2; + Chunk var5 = var10001; + boolean var3 = var5.isInFrustum; + boolean var4 = var6.isInFrustum; + return var3 && !var4 ? -1 : ((!var4 || var3) && var5.a(this.player) < var6.a(this.player) ? -1 : 1); + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/DistanceSorter.java b/src/main/java/com/mojang/minecraft/renderer/DistanceSorter.java new file mode 100644 index 0000000..8b1e61f --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/DistanceSorter.java @@ -0,0 +1,19 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.player.Player; +import java.util.Comparator; + +public final class DistanceSorter implements Comparator { + private Player player; + + public DistanceSorter(Player var1) { + this.player = var1; + } + + public final int compare(Object var1, Object var2) { + Chunk var10001 = (Chunk)var1; + Chunk var4 = (Chunk)var2; + Chunk var3 = var10001; + return var3.a(this.player) < var4.a(this.player) ? -1 : 1; + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/Frustum.java b/src/main/java/com/mojang/minecraft/renderer/Frustum.java new file mode 100644 index 0000000..1c84265 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/Frustum.java @@ -0,0 +1,99 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.phys.AABB; +import java.nio.FloatBuffer; +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.GL11; + +public final class Frustum { + private float[][] m_Frustum = new float[6][4]; + private static Frustum frustum = new Frustum(); + private FloatBuffer _proj = BufferUtils.createFloatBuffer(16); + private FloatBuffer _modl = BufferUtils.createFloatBuffer(16); + private FloatBuffer _clip = BufferUtils.createFloatBuffer(16); + private float[] proj = new float[16]; + private float[] modl = new float[16]; + private float[] clip = new float[16]; + + public static Frustum getFrustum() { + Frustum var0 = frustum; + var0._proj.clear(); + var0._modl.clear(); + var0._clip.clear(); + GL11.glGetFloat(GL11.GL_PROJECTION_MATRIX, var0._proj); + GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, var0._modl); + var0._proj.flip().limit(16); + var0._proj.get(var0.proj); + var0._modl.flip().limit(16); + var0._modl.get(var0.modl); + var0.clip[0] = var0.modl[0] * var0.proj[0] + var0.modl[1] * var0.proj[4] + var0.modl[2] * var0.proj[8] + var0.modl[3] * var0.proj[12]; + var0.clip[1] = var0.modl[0] * var0.proj[1] + var0.modl[1] * var0.proj[5] + var0.modl[2] * var0.proj[9] + var0.modl[3] * var0.proj[13]; + var0.clip[2] = var0.modl[0] * var0.proj[2] + var0.modl[1] * var0.proj[6] + var0.modl[2] * var0.proj[10] + var0.modl[3] * var0.proj[14]; + var0.clip[3] = var0.modl[0] * var0.proj[3] + var0.modl[1] * var0.proj[7] + var0.modl[2] * var0.proj[11] + var0.modl[3] * var0.proj[15]; + var0.clip[4] = var0.modl[4] * var0.proj[0] + var0.modl[5] * var0.proj[4] + var0.modl[6] * var0.proj[8] + var0.modl[7] * var0.proj[12]; + var0.clip[5] = var0.modl[4] * var0.proj[1] + var0.modl[5] * var0.proj[5] + var0.modl[6] * var0.proj[9] + var0.modl[7] * var0.proj[13]; + var0.clip[6] = var0.modl[4] * var0.proj[2] + var0.modl[5] * var0.proj[6] + var0.modl[6] * var0.proj[10] + var0.modl[7] * var0.proj[14]; + var0.clip[7] = var0.modl[4] * var0.proj[3] + var0.modl[5] * var0.proj[7] + var0.modl[6] * var0.proj[11] + var0.modl[7] * var0.proj[15]; + var0.clip[8] = var0.modl[8] * var0.proj[0] + var0.modl[9] * var0.proj[4] + var0.modl[10] * var0.proj[8] + var0.modl[11] * var0.proj[12]; + var0.clip[9] = var0.modl[8] * var0.proj[1] + var0.modl[9] * var0.proj[5] + var0.modl[10] * var0.proj[9] + var0.modl[11] * var0.proj[13]; + var0.clip[10] = var0.modl[8] * var0.proj[2] + var0.modl[9] * var0.proj[6] + var0.modl[10] * var0.proj[10] + var0.modl[11] * var0.proj[14]; + var0.clip[11] = var0.modl[8] * var0.proj[3] + var0.modl[9] * var0.proj[7] + var0.modl[10] * var0.proj[11] + var0.modl[11] * var0.proj[15]; + var0.clip[12] = var0.modl[12] * var0.proj[0] + var0.modl[13] * var0.proj[4] + var0.modl[14] * var0.proj[8] + var0.modl[15] * var0.proj[12]; + var0.clip[13] = var0.modl[12] * var0.proj[1] + var0.modl[13] * var0.proj[5] + var0.modl[14] * var0.proj[9] + var0.modl[15] * var0.proj[13]; + var0.clip[14] = var0.modl[12] * var0.proj[2] + var0.modl[13] * var0.proj[6] + var0.modl[14] * var0.proj[10] + var0.modl[15] * var0.proj[14]; + var0.clip[15] = var0.modl[12] * var0.proj[3] + var0.modl[13] * var0.proj[7] + var0.modl[14] * var0.proj[11] + var0.modl[15] * var0.proj[15]; + var0.m_Frustum[0][0] = var0.clip[3] - var0.clip[0]; + var0.m_Frustum[0][1] = var0.clip[7] - var0.clip[4]; + var0.m_Frustum[0][2] = var0.clip[11] - var0.clip[8]; + var0.m_Frustum[0][3] = var0.clip[15] - var0.clip[12]; + normalizePlane(var0.m_Frustum, 0); + var0.m_Frustum[1][0] = var0.clip[3] + var0.clip[0]; + var0.m_Frustum[1][1] = var0.clip[7] + var0.clip[4]; + var0.m_Frustum[1][2] = var0.clip[11] + var0.clip[8]; + var0.m_Frustum[1][3] = var0.clip[15] + var0.clip[12]; + normalizePlane(var0.m_Frustum, 1); + var0.m_Frustum[2][0] = var0.clip[3] + var0.clip[1]; + var0.m_Frustum[2][1] = var0.clip[7] + var0.clip[5]; + var0.m_Frustum[2][2] = var0.clip[11] + var0.clip[9]; + var0.m_Frustum[2][3] = var0.clip[15] + var0.clip[13]; + normalizePlane(var0.m_Frustum, 2); + var0.m_Frustum[3][0] = var0.clip[3] - var0.clip[1]; + var0.m_Frustum[3][1] = var0.clip[7] - var0.clip[5]; + var0.m_Frustum[3][2] = var0.clip[11] - var0.clip[9]; + var0.m_Frustum[3][3] = var0.clip[15] - var0.clip[13]; + normalizePlane(var0.m_Frustum, 3); + var0.m_Frustum[4][0] = var0.clip[3] - var0.clip[2]; + var0.m_Frustum[4][1] = var0.clip[7] - var0.clip[6]; + var0.m_Frustum[4][2] = var0.clip[11] - var0.clip[10]; + var0.m_Frustum[4][3] = var0.clip[15] - var0.clip[14]; + normalizePlane(var0.m_Frustum, 4); + var0.m_Frustum[5][0] = var0.clip[3] + var0.clip[2]; + var0.m_Frustum[5][1] = var0.clip[7] + var0.clip[6]; + var0.m_Frustum[5][2] = var0.clip[11] + var0.clip[10]; + var0.m_Frustum[5][3] = var0.clip[15] + var0.clip[14]; + normalizePlane(var0.m_Frustum, 5); + return frustum; + } + + private static void normalizePlane(float[][] var0, int var1) { + float var2 = (float)Math.sqrt((double)(var0[var1][0] * var0[var1][0] + var0[var1][1] * var0[var1][1] + var0[var1][2] * var0[var1][2])); + var0[var1][0] /= var2; + var0[var1][1] /= var2; + var0[var1][2] /= var2; + var0[var1][3] /= var2; + } + + public final boolean cubeInFrustum(float var1, float var2, float var3, float var4, float var5, float var6) { + for(int var7 = 0; var7 < 6; ++var7) { + if(this.m_Frustum[var7][0] * var1 + this.m_Frustum[var7][1] * var2 + this.m_Frustum[var7][2] * var3 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var4 + this.m_Frustum[var7][1] * var2 + this.m_Frustum[var7][2] * var3 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var1 + this.m_Frustum[var7][1] * var5 + this.m_Frustum[var7][2] * var3 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var4 + this.m_Frustum[var7][1] * var5 + this.m_Frustum[var7][2] * var3 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var1 + this.m_Frustum[var7][1] * var2 + this.m_Frustum[var7][2] * var6 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var4 + this.m_Frustum[var7][1] * var2 + this.m_Frustum[var7][2] * var6 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var1 + this.m_Frustum[var7][1] * var5 + this.m_Frustum[var7][2] * var6 + this.m_Frustum[var7][3] <= 0.0F && this.m_Frustum[var7][0] * var4 + this.m_Frustum[var7][1] * var5 + this.m_Frustum[var7][2] * var6 + this.m_Frustum[var7][3] <= 0.0F) { + return false; + } + } + + return true; + } + + public final boolean isVisible(AABB var1) { + return this.cubeInFrustum(var1.x0, var1.y0, var1.z0, var1.x1, var1.y1, var1.z1); + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/LevelRenderer.java b/src/main/java/com/mojang/minecraft/renderer/LevelRenderer.java new file mode 100644 index 0000000..1d9804b --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/LevelRenderer.java @@ -0,0 +1,448 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.Entity; +import com.mojang.minecraft.HitResult; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.player.Player; +import java.nio.IntBuffer; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.GL11; + +public final class LevelRenderer { + public Level level; + public Textures textures; + public int surroundLists; + public IntBuffer d = BufferUtils.createIntBuffer(65536); + public Set e = new HashSet(); + private Chunk[] h; + public Chunk[] f; + private int i; + private int xChunks; + private int yChunks; + private int zChunks; + public int cloudTickCounter = 0; + private float m = -9999.0F; + private float lX = -9999.0F; + private float lY = -9999.0F; + + public LevelRenderer(Textures var1) { + this.textures = var1; + this.surroundLists = GL11.glGenLists(2); + this.zChunks = GL11.glGenLists(4096 << 6 << 1); + } + + public final void compileSurroundingGround() { + int var1; + if(this.f != null) { + for(var1 = 0; var1 < this.f.length; ++var1) { + this.f[var1].clear(); + } + } + + this.i = this.level.width / 16; + this.xChunks = this.level.depth / 16; + this.yChunks = this.level.height / 16; + this.f = new Chunk[this.i * this.xChunks * this.yChunks]; + this.h = new Chunk[this.i * this.xChunks * this.yChunks]; + var1 = 0; + + int var4; + for(int var2 = 0; var2 < this.i; ++var2) { + for(int var3 = 0; var3 < this.xChunks; ++var3) { + for(var4 = 0; var4 < this.yChunks; ++var4) { + this.f[(var4 * this.xChunks + var3) * this.i + var2] = new Chunk(this.level, var2 << 4, var3 << 4, var4 << 4, 16, this.zChunks + var1); + this.h[(var4 * this.xChunks + var3) * this.i + var2] = this.f[(var4 * this.xChunks + var3) * this.i + var2]; + var1 += 2; + } + } + } + + this.e.clear(); + GL11.glNewList(this.surroundLists, GL11.GL_COMPILE); + LevelRenderer var9 = this; + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textures.getTextureId("/rock.png")); + float var10 = 0.5F; + GL11.glColor4f(var10, var10, var10, 1.0F); + Tesselator var11 = Tesselator.instance; + float var12 = this.level.getGroundLevel(); + int var5 = 128; + if(128 > this.level.width) { + var5 = this.level.width; + } + + if(var5 > this.level.height) { + var5 = this.level.height; + } + + int var6 = 2048 / var5; + var11.begin(); + + int var7; + for(var7 = -var5 * var6; var7 < var9.level.width + var5 * var6; var7 += var5) { + for(int var8 = -var5 * var6; var8 < var9.level.height + var5 * var6; var8 += var5) { + var10 = var12; + if(var7 >= 0 && var8 >= 0 && var7 < var9.level.width && var8 < var9.level.height) { + var10 = 0.0F; + } + + var11.vertexUV((float)var7, var10, (float)(var8 + var5), 0.0F, (float)var5); + var11.vertexUV((float)(var7 + var5), var10, (float)(var8 + var5), (float)var5, (float)var5); + var11.vertexUV((float)(var7 + var5), var10, (float)var8, (float)var5, 0.0F); + var11.vertexUV((float)var7, var10, (float)var8, 0.0F, 0.0F); + } + } + + var11.end(); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var9.textures.getTextureId("/rock.png")); + GL11.glColor3f(0.8F, 0.8F, 0.8F); + var11.begin(); + + for(var7 = 0; var7 < var9.level.width; var7 += var5) { + var11.vertexUV((float)var7, 0.0F, 0.0F, 0.0F, 0.0F); + var11.vertexUV((float)(var7 + var5), 0.0F, 0.0F, (float)var5, 0.0F); + var11.vertexUV((float)(var7 + var5), var12, 0.0F, (float)var5, var12); + var11.vertexUV((float)var7, var12, 0.0F, 0.0F, var12); + var11.vertexUV((float)var7, var12, (float)var9.level.height, 0.0F, var12); + var11.vertexUV((float)(var7 + var5), var12, (float)var9.level.height, (float)var5, var12); + var11.vertexUV((float)(var7 + var5), 0.0F, (float)var9.level.height, (float)var5, 0.0F); + var11.vertexUV((float)var7, 0.0F, (float)var9.level.height, 0.0F, 0.0F); + } + + GL11.glColor3f(0.6F, 0.6F, 0.6F); + + for(var7 = 0; var7 < var9.level.height; var7 += var5) { + var11.vertexUV(0.0F, var12, (float)var7, 0.0F, 0.0F); + var11.vertexUV(0.0F, var12, (float)(var7 + var5), (float)var5, 0.0F); + var11.vertexUV(0.0F, 0.0F, (float)(var7 + var5), (float)var5, var12); + var11.vertexUV(0.0F, 0.0F, (float)var7, 0.0F, var12); + var11.vertexUV((float)var9.level.width, 0.0F, (float)var7, 0.0F, var12); + var11.vertexUV((float)var9.level.width, 0.0F, (float)(var7 + var5), (float)var5, var12); + var11.vertexUV((float)var9.level.width, var12, (float)(var7 + var5), (float)var5, 0.0F); + var11.vertexUV((float)var9.level.width, var12, (float)var7, 0.0F, 0.0F); + } + + var11.end(); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEndList(); + GL11.glNewList(this.surroundLists + 1, GL11.GL_COMPILE); + var9 = this; + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glColor3f(1.0F, 1.0F, 1.0F); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textures.getTextureId("/water.png")); + var10 = this.level.getWaterLevel(); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + var11 = Tesselator.instance; + var4 = 128; + if(128 > this.level.width) { + var4 = this.level.width; + } + + if(var4 > this.level.height) { + var4 = this.level.height; + } + + var5 = 2048 / var4; + var11.begin(); + + for(var6 = -var4 * var5; var6 < var9.level.width + var4 * var5; var6 += var4) { + for(var7 = -var4 * var5; var7 < var9.level.height + var4 * var5; var7 += var4) { + float var13 = var10 - 0.1F; + if(var6 < 0 || var7 < 0 || var6 >= var9.level.width || var7 >= var9.level.height) { + var11.vertexUV((float)var6, var13, (float)(var7 + var4), 0.0F, (float)var4); + var11.vertexUV((float)(var6 + var4), var13, (float)(var7 + var4), (float)var4, (float)var4); + var11.vertexUV((float)(var6 + var4), var13, (float)var7, (float)var4, 0.0F); + var11.vertexUV((float)var6, var13, (float)var7, 0.0F, 0.0F); + var11.vertexUV((float)var6, var13, (float)var7, 0.0F, 0.0F); + var11.vertexUV((float)(var6 + var4), var13, (float)var7, (float)var4, 0.0F); + var11.vertexUV((float)(var6 + var4), var13, (float)(var7 + var4), (float)var4, (float)var4); + var11.vertexUV((float)var6, var13, (float)(var7 + var4), 0.0F, (float)var4); + } + } + } + + var11.end(); + GL11.glDisable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEndList(); + this.setDirty(0, 0, 0, this.level.width, this.level.depth, this.level.height); + } + + public final void renderEntities(Frustum var1, float var2) { + for(int var3 = 0; var3 < this.level.entities.size(); ++var3) { + Entity var4 = (Entity)this.level.entities.get(var3); + if(var1.isVisible(var4.bb)) { + ((Entity)this.level.entities.get(var3)).render(this.textures, var2); + } + } + + } + + public final int render(Player var1, int var2) { + float var3 = var1.x - this.m; + float var4 = var1.y - this.lX; + float var5 = var1.z - this.lY; + if(var3 * var3 + var4 * var4 + var5 * var5 > 64.0F) { + this.m = var1.x; + this.lX = var1.y; + this.lY = var1.z; + Arrays.sort(this.h, new DistanceSorter(var1)); + } + + this.d.clear(); + + for(int var6 = 0; var6 < this.h.length; ++var6) { + this.h[var6].render(this.d, var2); + } + + this.d.flip(); + if(this.d.remaining() > 0) { + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textures.getTextureId("/terrain.png")); + GL11.glCallLists(this.d); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + + return this.d.remaining(); + } + + public final void renderClouds(float var1) { + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.textures.getTextureId("/clouds.png")); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Tesselator var2 = Tesselator.instance; + float var3 = 0.0F; + float var4 = 0.5F / 1024.0F; + var3 = (float)(this.level.depth + 2); + var1 = ((float)this.cloudTickCounter + var1) * var4 * 0.03F; + float var5 = 0.0F; + var2.begin(); + + int var8; + for(var8 = -2048; var8 < this.level.width + 2048; var8 += 512) { + for(int var6 = -2048; var6 < this.level.height + 2048; var6 += 512) { + var2.vertexUV((float)var8, var3, (float)(var6 + 512), (float)var8 * var4 + var1, (float)(var6 + 512) * var4); + var2.vertexUV((float)(var8 + 512), var3, (float)(var6 + 512), (float)(var8 + 512) * var4 + var1, (float)(var6 + 512) * var4); + var2.vertexUV((float)(var8 + 512), var3, (float)var6, (float)(var8 + 512) * var4 + var1, (float)var6 * var4); + var2.vertexUV((float)var8, var3, (float)var6, (float)var8 * var4 + var1, (float)var6 * var4); + var2.vertexUV((float)var8, var3, (float)var6, (float)var8 * var4 + var1, (float)var6 * var4); + var2.vertexUV((float)(var8 + 512), var3, (float)var6, (float)(var8 + 512) * var4 + var1, (float)var6 * var4); + var2.vertexUV((float)(var8 + 512), var3, (float)(var6 + 512), (float)(var8 + 512) * var4 + var1, (float)(var6 + 512) * var4); + var2.vertexUV((float)var8, var3, (float)(var6 + 512), (float)var8 * var4 + var1, (float)(var6 + 512) * var4); + } + } + + var2.end(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + var2.begin(); + var2.color(0.5F, 0.8F, 1.0F); + var3 = (float)(this.level.depth + 10); + + for(int var7 = -2048; var7 < this.level.width + 2048; var7 += 512) { + for(var8 = -2048; var8 < this.level.height + 2048; var8 += 512) { + var2.vertex((float)var7, var3, (float)var8); + var2.vertex((float)(var7 + 512), var3, (float)var8); + var2.vertex((float)(var7 + 512), var3, (float)(var8 + 512)); + var2.vertex((float)var7, var3, (float)(var8 + 512)); + } + } + + var2.end(); + } + + public final void render(int var1, int var2, int var3) { + int var6 = this.level.getTile(var1, var2, var3); + if(var6 != 0 && Tile.tiles[var6].isSolid()) { + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glColor4f(0.2F, 0.2F, 0.2F, 1.0F); + GL11.glDepthFunc(GL11.GL_LESS); + Tesselator var4 = Tesselator.instance; + var4.begin(); + + int var5; + for(var5 = 0; var5 < 6; ++var5) { + Tile.tiles[var6].renderFace(var4, var1, var2, var3, var5); + } + + var4.end(); + GL11.glCullFace(GL11.GL_FRONT); + var4.begin(); + + for(var5 = 0; var5 < 6; ++var5) { + Tile.tiles[var6].renderFace(var4, var1, var2, var3, var5); + } + + var4.end(); + GL11.glCullFace(GL11.GL_BACK); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDepthFunc(GL11.GL_LEQUAL); + } + } + + public final void renderHit(Player var1, HitResult var2, int var3, int var4) { + Tesselator var5 = Tesselator.instance; + GL11.glEnable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + GL11.glColor4f(1.0F, 1.0F, 1.0F, ((float)Math.sin((double)System.currentTimeMillis() / 100.0D) * 0.2F + 0.4F) * 0.5F); + if(var3 == 0) { + var5.begin(); + + for(var3 = 0; var3 < 6; ++var3) { + Tile.renderFaceNoTexture(var1, var5, var2.x, var2.y, var2.z, var3); + } + + var5.end(); + } else { + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + float var8 = (float)Math.sin((double)System.currentTimeMillis() / 100.0D) * 0.2F + 0.8F; + GL11.glColor4f(var8, var8, var8, (float)Math.sin((double)System.currentTimeMillis() / 200.0D) * 0.2F + 0.5F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + int var7 = this.textures.getTextureId("/terrain.png"); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var7); + var7 = var2.x; + var3 = var2.y; + int var6 = var2.z; + if(var2.f == 0) { + --var3; + } + + if(var2.f == 1) { + ++var3; + } + + if(var2.f == 2) { + --var6; + } + + if(var2.f == 3) { + ++var6; + } + + if(var2.f == 4) { + --var7; + } + + if(var2.f == 5) { + ++var7; + } + + var5.begin(); + var5.noColor(); + Tile.tiles[var4].render(var5, this.level, 0, var7, var3, var6); + Tile.tiles[var4].render(var5, this.level, 1, var7, var3, var6); + var5.end(); + GL11.glDisable(GL11.GL_TEXTURE_2D); + } + + GL11.glDisable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_ALPHA_TEST); + } + + public static void renderHitOutline(HitResult var0, int var1) { + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F); + float var2 = (float)var0.x; + float var3 = (float)var0.y; + float var4 = (float)var0.z; + if(var1 == 1) { + if(var0.f == 0) { + --var3; + } + + if(var0.f == 1) { + ++var3; + } + + if(var0.f == 2) { + --var4; + } + + if(var0.f == 3) { + ++var4; + } + + if(var0.f == 4) { + --var2; + } + + if(var0.f == 5) { + ++var2; + } + } + + GL11.glBegin(GL11.GL_LINE_STRIP); + GL11.glVertex3f(var2, var3, var4); + GL11.glVertex3f(var2 + 1.0F, var3, var4); + GL11.glVertex3f(var2 + 1.0F, var3, var4 + 1.0F); + GL11.glVertex3f(var2, var3, var4 + 1.0F); + GL11.glVertex3f(var2, var3, var4); + GL11.glEnd(); + GL11.glBegin(GL11.GL_LINE_STRIP); + GL11.glVertex3f(var2, var3 + 1.0F, var4); + GL11.glVertex3f(var2 + 1.0F, var3 + 1.0F, var4); + GL11.glVertex3f(var2 + 1.0F, var3 + 1.0F, var4 + 1.0F); + GL11.glVertex3f(var2, var3 + 1.0F, var4 + 1.0F); + GL11.glVertex3f(var2, var3 + 1.0F, var4); + GL11.glEnd(); + GL11.glBegin(GL11.GL_LINES); + GL11.glVertex3f(var2, var3, var4); + GL11.glVertex3f(var2, var3 + 1.0F, var4); + GL11.glVertex3f(var2 + 1.0F, var3, var4); + GL11.glVertex3f(var2 + 1.0F, var3 + 1.0F, var4); + GL11.glVertex3f(var2 + 1.0F, var3, var4 + 1.0F); + GL11.glVertex3f(var2 + 1.0F, var3 + 1.0F, var4 + 1.0F); + GL11.glVertex3f(var2, var3, var4 + 1.0F); + GL11.glVertex3f(var2, var3 + 1.0F, var4 + 1.0F); + GL11.glEnd(); + GL11.glDisable(GL11.GL_BLEND); + } + + public final void setDirty(int var1, int var2, int var3, int var4, int var5, int var6) { + var1 /= 16; + var2 /= 16; + var3 /= 16; + var4 /= 16; + var5 /= 16; + var6 /= 16; + if(var1 < 0) { + var1 = 0; + } + + if(var2 < 0) { + var2 = 0; + } + + if(var3 < 0) { + var3 = 0; + } + + if(var4 > this.i - 1) { + var4 = this.i - 1; + } + + if(var5 > this.xChunks - 1) { + var5 = this.xChunks - 1; + } + + if(var6 > this.yChunks - 1) { + var6 = this.yChunks - 1; + } + + for(var1 = var1; var1 <= var4; ++var1) { + for(int var7 = var2; var7 <= var5; ++var7) { + for(int var8 = var3; var8 <= var6; ++var8) { + this.e.add(this.f[(var8 * this.xChunks + var7) * this.i + var1]); + } + } + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/RenderHelper.java b/src/main/java/com/mojang/minecraft/renderer/RenderHelper.java new file mode 100644 index 0000000..09a2690 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/RenderHelper.java @@ -0,0 +1,95 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.Minecraft; +import com.mojang.minecraft.character.Vec3; +import com.mojang.minecraft.level.Level; +import com.mojang.minecraft.level.liquid.Liquid; +import com.mojang.minecraft.level.tile.Tile; +import com.mojang.minecraft.player.Player; +import java.nio.FloatBuffer; +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.GL11; + +public final class RenderHelper { + public Minecraft a; + public float fogColorMultiplier = 1.0F; + public boolean displayActive = false; + public float fogColorRed = 0.5F; + public float fogColorGreen = 0.8F; + public float fogColorBlue = 1.0F; + public float renderDistance = 0.0F; + private volatile int unusedInt1 = 0; + private volatile int unusedInt2 = 0; + private FloatBuffer lb = BufferUtils.createFloatBuffer(16); + + public RenderHelper(Minecraft var1) { + this.a = var1; + } + + public void toggleLight(boolean var1) { + if(!var1) { + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_LIGHT0); + } else { + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_LIGHT0); + GL11.glEnable(GL11.GL_COLOR_MATERIAL); + GL11.glColorMaterial(GL11.GL_FRONT_AND_BACK, GL11.GL_AMBIENT_AND_DIFFUSE); + float var4 = 0.7F; + float var2 = 0.3F; + Vec3 var3 = (new Vec3(0.0F, -1.0F, 0.5F)).normalize(); + GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, this.getBuffer(var3.x, var3.y, var3.z, 0.0F)); + GL11.glLight(GL11.GL_LIGHT0, GL11.GL_DIFFUSE, this.getBuffer(var2, var2, var2, 1.0F)); + GL11.glLight(GL11.GL_LIGHT0, GL11.GL_AMBIENT, this.getBuffer(0.0F, 0.0F, 0.0F, 1.0F)); + GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, this.getBuffer(var4, var4, var4, 1.0F)); + } + } + + public final void initGui() { + int var1 = this.a.width * 240 / this.a.height; + int var2 = this.a.height * 240 / this.a.height; + GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); + GL11.glMatrixMode(GL11.GL_PROJECTION); + GL11.glLoadIdentity(); + GL11.glOrtho(0.0D, (double)var1, (double)var2, 0.0D, 100.0D, 300.0D); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glLoadIdentity(); + GL11.glTranslatef(0.0F, 0.0F, -200.0F); + } + + public void setupFog() { + Level var1 = this.a.level; + Player var2 = this.a.player; + GL11.glFog(GL11.GL_FOG_COLOR, this.getBuffer(this.fogColorRed, this.fogColorGreen, this.fogColorBlue, 1.0F)); + GL11.glNormal3f(0.0F, -1.0F, 0.0F); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Tile var3 = Tile.tiles[var1.getTile((int)var2.x, (int)(var2.y + 0.12F), (int)var2.z)]; + if(var3 != null && var3.getLiquidType() != Liquid.none) { + Liquid var4 = var3.getLiquidType(); + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + if(var4 == Liquid.water) { + GL11.glFogf(GL11.GL_FOG_DENSITY, 0.1F); + GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, this.getBuffer(0.4F, 0.4F, 0.9F, 1.0F)); + } else if(var4 == Liquid.lava) { + GL11.glFogf(GL11.GL_FOG_DENSITY, 2.0F); + GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, this.getBuffer(0.4F, 0.3F, 0.3F, 1.0F)); + } + } else { + GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_LINEAR); + GL11.glFogf(GL11.GL_FOG_START, 0.0F); + GL11.glFogf(GL11.GL_FOG_END, this.renderDistance); + GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, this.getBuffer(1.0F, 1.0F, 1.0F, 1.0F)); + } + + GL11.glEnable(GL11.GL_COLOR_MATERIAL); + GL11.glColorMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT); + GL11.glEnable(GL11.GL_LIGHTING); + } + + private FloatBuffer getBuffer(float var1, float var2, float var3, float var4) { + this.lb.clear(); + this.lb.put(var1).put(var2).put(var3).put(var4); + this.lb.flip(); + return this.lb; + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/Tesselator.java b/src/main/java/com/mojang/minecraft/renderer/Tesselator.java new file mode 100644 index 0000000..1f5b34c --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/Tesselator.java @@ -0,0 +1,149 @@ +package com.mojang.minecraft.renderer; + +import java.nio.FloatBuffer; +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.GL11; + +public final class Tesselator { + private FloatBuffer buffer = BufferUtils.createFloatBuffer(524288); + private float[] array = new float[524288]; + private int vertices = 0; + private float u; + private float v; + private float r; + private float g; + private float b; + private boolean hasColor = false; + private boolean hasTexture = false; + private int len = 3; + private int p = 0; + private boolean noColor = false; + public static Tesselator instance = new Tesselator(); + + public final void end() { + if(this.vertices > 0) { + this.buffer.clear(); + this.buffer.put(this.array, 0, this.p); + this.buffer.flip(); + if(this.hasTexture && this.hasColor) { + GL11.glInterleavedArrays(GL11.GL_T2F_C3F_V3F, 0, (FloatBuffer)this.buffer); + } else if(this.hasTexture) { + GL11.glInterleavedArrays(GL11.GL_T2F_V3F, 0, (FloatBuffer)this.buffer); + } else if(this.hasColor) { + GL11.glInterleavedArrays(GL11.GL_C3F_V3F, 0, (FloatBuffer)this.buffer); + } else { + GL11.glInterleavedArrays(GL11.GL_V3F, 0, (FloatBuffer)this.buffer); + } + + GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY); + if(this.hasTexture) { + GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY); + } + + if(this.hasColor) { + GL11.glEnableClientState(GL11.GL_COLOR_ARRAY); + } + + GL11.glDrawArrays(GL11.GL_QUADS, GL11.GL_POINTS, this.vertices); + GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY); + if(this.hasTexture) { + GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY); + } + + if(this.hasColor) { + GL11.glDisableClientState(GL11.GL_COLOR_ARRAY); + } + } + + this.clear(); + } + + private void clear() { + this.vertices = 0; + this.buffer.clear(); + this.p = 0; + } + + public final void begin() { + this.clear(); + this.hasColor = false; + this.hasTexture = false; + this.noColor = false; + } + + public final void color(float var1, float var2, float var3) { + if(!this.noColor) { + if(!this.hasColor) { + this.len += 3; + } + + this.hasColor = true; + this.r = var1; + this.g = var2; + this.b = var3; + } + } + + public final void color(int var1, int var2, int var3) { + byte var10001 = (byte)var1; + byte var10002 = (byte)var2; + byte var6 = (byte)var3; + byte var5 = var10002; + byte var4 = var10001; + if(!this.noColor) { + if(!this.hasColor) { + this.len += 3; + } + + this.hasColor = true; + this.r = (float)(var4 & 255) / 255.0F; + this.g = (float)(var5 & 255) / 255.0F; + this.b = (float)(var6 & 255) / 255.0F; + } + + } + + public final void vertexUV(float var1, float var2, float var3, float var4, float var5) { + if(!this.hasTexture) { + this.len += 2; + } + + this.hasTexture = true; + this.u = var4; + this.v = var5; + this.vertex(var1, var2, var3); + } + + public final void vertex(float var1, float var2, float var3) { + if(this.hasTexture) { + this.array[this.p++] = this.u; + this.array[this.p++] = this.v; + } + + if(this.hasColor) { + this.array[this.p++] = this.r; + this.array[this.p++] = this.g; + this.array[this.p++] = this.b; + } + + this.array[this.p++] = var1; + this.array[this.p++] = var2; + this.array[this.p++] = var3; + ++this.vertices; + if(this.vertices % 4 == 0 && this.p >= 524288 - (this.len << 2)) { + this.end(); + } + + } + + public final void color(int var1) { + int var2 = var1 >> 16 & 255; + int var3 = var1 >> 8 & 255; + var1 &= 255; + this.color(var2, var3, var1); + } + + public final void noColor() { + this.noColor = true; + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/Textures.java b/src/main/java/com/mojang/minecraft/renderer/Textures.java new file mode 100644 index 0000000..9e17cf0 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/Textures.java @@ -0,0 +1,70 @@ +package com.mojang.minecraft.renderer; + +import com.mojang.minecraft.renderer.texture.TextureFX; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.IntBuffer; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import javax.imageio.ImageIO; +import org.lwjgl.BufferUtils; +import org.lwjgl.opengl.GL11; + +public class Textures { + private HashMap idMap = new HashMap(); + public IntBuffer idBuffer = BufferUtils.createIntBuffer(1); + public ByteBuffer textureBuffer = BufferUtils.createByteBuffer(262144); + public List textureList = new ArrayList(); + + public final int getTextureId(String var1) { + try { + if(this.idMap.containsKey(var1)) { + return ((Integer)this.idMap.get(var1)).intValue(); + } else { + int var2 = this.addTexture(ImageIO.read(Textures.class.getResourceAsStream(var1))); + this.idMap.put(var1, Integer.valueOf(var2)); + return var2; + } + } catch (IOException var3) { + throw new RuntimeException("!!"); + } + } + + public final int addTexture(BufferedImage var1) { + this.idBuffer.clear(); + GL11.glGenTextures(this.idBuffer); + int var2 = this.idBuffer.get(0); + GL11.glBindTexture(GL11.GL_TEXTURE_2D, var2); + GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST); + GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST); + int var3 = var1.getWidth(); + int var4 = var1.getHeight(); + int[] var5 = new int[var3 * var4]; + byte[] var6 = new byte[var3 * var4 << 2]; + var1.getRGB(0, 0, var3, var4, var5, 0, var3); + + for(int var11 = 0; var11 < var5.length; ++var11) { + int var7 = var5[var11] >>> 24; + int var8 = var5[var11] >> 16 & 255; + int var9 = var5[var11] >> 8 & 255; + int var10 = var5[var11] & 255; + var6[var11 << 2] = (byte)var8; + var6[(var11 << 2) + 1] = (byte)var9; + var6[(var11 << 2) + 2] = (byte)var10; + var6[(var11 << 2) + 3] = (byte)var7; + } + + this.textureBuffer.clear(); + this.textureBuffer.put(var6); + this.textureBuffer.position(0).limit(var6.length); + GL11.glTexImage2D(GL11.GL_TEXTURE_2D, 0, GL11.GL_RGBA, var3, var4, 0, GL11.GL_RGBA, GL11.GL_UNSIGNED_BYTE, (ByteBuffer)this.textureBuffer); + return var2; + } + + public final void registerTextureFX(TextureFX var1) { + this.textureList.add(var1); + var1.onTick(); + } +} diff --git a/src/main/java/net/minecraft/src/TextureFX.java b/src/main/java/com/mojang/minecraft/renderer/texture/TextureFX.java similarity index 59% rename from src/main/java/net/minecraft/src/TextureFX.java rename to src/main/java/com/mojang/minecraft/renderer/texture/TextureFX.java index 0396745..e1bdf62 100644 --- a/src/main/java/net/minecraft/src/TextureFX.java +++ b/src/main/java/com/mojang/minecraft/renderer/texture/TextureFX.java @@ -1,11 +1,8 @@ -package net.minecraft.src; +package com.mojang.minecraft.renderer.texture; public class TextureFX { public byte[] imageData = new byte[1024]; public int iconIndex; - public boolean anaglyphEnabled = false; - public int textureId = 0; - public int tileSize = 1; public TextureFX(int var1) { this.iconIndex = var1; diff --git a/src/main/java/com/mojang/minecraft/renderer/texture/TextureLavaFX.java b/src/main/java/com/mojang/minecraft/renderer/texture/TextureLavaFX.java new file mode 100644 index 0000000..b6316c5 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/texture/TextureLavaFX.java @@ -0,0 +1,72 @@ +package com.mojang.minecraft.renderer.texture; + +import com.mojang.minecraft.level.tile.Tile; + +public final class TextureLavaFX extends TextureFX { + private float[] red = new float[256]; + private float[] green = new float[256]; + private float[] blue = new float[256]; + private float[] alpha = new float[256]; + + public TextureLavaFX() { + super(Tile.lava.tex); + } + + public final void onTick() { + int var2; + float var3; + int var5; + int var6; + int var7; + for(int var1 = 0; var1 < 16; ++var1) { + for(var2 = 0; var2 < 16; ++var2) { + var3 = 0.0F; + int var4 = (int)(Math.sin((double)var2 * Math.PI * 2.0D / 16.0D) * (double)1.2F); + var5 = (int)(Math.sin((double)var1 * Math.PI * 2.0D / 16.0D) * (double)1.2F); + + for(var6 = var1 - 1; var6 <= var1 + 1; ++var6) { + for(var7 = var2 - 1; var7 <= var2 + 1; ++var7) { + int var8 = var6 + var4 & 15; + int var9 = var7 + var5 & 15; + var3 += this.red[var8 + (var9 << 4)]; + } + } + + this.green[var1 + (var2 << 4)] = var3 / 10.0F + (this.blue[(var1 & 15) + ((var2 & 15) << 4)] + this.blue[(var1 + 1 & 15) + ((var2 & 15) << 4)] + this.blue[(var1 + 1 & 15) + ((var2 + 1 & 15) << 4)] + this.blue[(var1 & 15) + ((var2 + 1 & 15) << 4)]) / 4.0F * 0.8F; + this.blue[var1 + (var2 << 4)] += this.alpha[var1 + (var2 << 4)] * 0.01F; + if(this.blue[var1 + (var2 << 4)] < 0.0F) { + this.blue[var1 + (var2 << 4)] = 0.0F; + } + + this.alpha[var1 + (var2 << 4)] -= 0.06F; + if(Math.random() < 0.005D) { + this.alpha[var1 + (var2 << 4)] = 1.5F; + } + } + } + + float[] var10 = this.green; + this.green = this.red; + this.red = var10; + + for(var2 = 0; var2 < 256; ++var2) { + var3 = this.red[var2] * 2.0F; + if(var3 > 1.0F) { + var3 = 1.0F; + } + + if(var3 < 0.0F) { + var3 = 0.0F; + } + + var5 = (int)(var3 * 100.0F + 155.0F); + var6 = (int)(var3 * var3 * 255.0F); + var7 = (int)(var3 * var3 * var3 * var3 * 128.0F); + this.imageData[var2 << 2] = (byte)var5; + this.imageData[(var2 << 2) + 1] = (byte)var6; + this.imageData[(var2 << 2) + 2] = (byte)var7; + this.imageData[(var2 << 2) + 3] = -1; + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/renderer/texture/TextureWaterFX.java b/src/main/java/com/mojang/minecraft/renderer/texture/TextureWaterFX.java new file mode 100644 index 0000000..4ca2049 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/renderer/texture/TextureWaterFX.java @@ -0,0 +1,72 @@ +package com.mojang.minecraft.renderer.texture; + +import com.mojang.minecraft.level.tile.Tile; + +public final class TextureWaterFX extends TextureFX { + private float[] red = new float[256]; + private float[] green = new float[256]; + private float[] blue = new float[256]; + private float[] alpha = new float[256]; + private int tickCounter = 0; + + public TextureWaterFX() { + super(Tile.water.tex); + } + + public final void onTick() { + ++this.tickCounter; + + int var1; + int var2; + float var3; + for(var1 = 0; var1 < 16; ++var1) { + for(var2 = 0; var2 < 16; ++var2) { + var3 = 0.0F; + + for(int var4 = var1 - 1; var4 <= var1 + 1; ++var4) { + int var5 = var4 & 15; + int var6 = var2 & 15; + var3 += this.red[var5 + (var6 << 4)]; + } + + this.green[var1 + (var2 << 4)] = var3 / 3.3F + this.blue[var1 + (var2 << 4)] * 0.8F; + } + } + + for(var1 = 0; var1 < 16; ++var1) { + for(var2 = 0; var2 < 16; ++var2) { + this.blue[var1 + (var2 << 4)] += this.alpha[var1 + (var2 << 4)] * 0.05F; + if(this.blue[var1 + (var2 << 4)] < 0.0F) { + this.blue[var1 + (var2 << 4)] = 0.0F; + } + + this.alpha[var1 + (var2 << 4)] -= 0.1F; + if(Math.random() < 0.05D) { + this.alpha[var1 + (var2 << 4)] = 0.5F; + } + } + } + + float[] var7 = this.green; + this.green = this.red; + this.red = var7; + + for(var2 = 0; var2 < 256; ++var2) { + var3 = this.red[var2]; + if(var3 > 1.0F) { + var3 = 1.0F; + } + + if(var3 < 0.0F) { + var3 = 0.0F; + } + + float var8 = var3 * var3; + this.imageData[var2 << 2] = (byte)((int)(32.0F + var8 * 32.0F)); + this.imageData[(var2 << 2) + 1] = (byte)((int)(50.0F + var8 * 64.0F)); + this.imageData[(var2 << 2) + 2] = -1; + this.imageData[(var2 << 2) + 3] = (byte)((int)(146.0F + var8 * 50.0F)); + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/Audio.java b/src/main/java/com/mojang/minecraft/sound/Audio.java new file mode 100644 index 0000000..242ddb3 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/Audio.java @@ -0,0 +1,5 @@ +package com.mojang.minecraft.sound; + +public interface Audio { + boolean play(int[] var1, int[] var2, int var3); +} diff --git a/src/main/java/com/mojang/minecraft/sound/AudioInfo.java b/src/main/java/com/mojang/minecraft/sound/AudioInfo.java new file mode 100644 index 0000000..6cf13c4 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/AudioInfo.java @@ -0,0 +1,9 @@ +package com.mojang.minecraft.sound; + +public class AudioInfo { + public float volume = 1.0F; + + public int update(short[] var1, int var2) { + return 0; + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/BaseSoundPos.java b/src/main/java/com/mojang/minecraft/sound/BaseSoundPos.java new file mode 100644 index 0000000..6d0ed39 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/BaseSoundPos.java @@ -0,0 +1,40 @@ +package com.mojang.minecraft.sound; + +import com.mojang.minecraft.Entity; + +public abstract class BaseSoundPos implements SoundPos { + private Entity listener; + + public BaseSoundPos(Entity var1) { + this.listener = var1; + } + + public final float getRotationDiff(float var1, float var2) { + var1 -= this.listener.x; + var2 -= this.listener.z; + float var3 = (float)Math.sqrt((double)(var1 * var1 + var2 * var2)); + var1 /= var3; + var2 /= var3; + var3 /= 2.0F; + if(var3 > 1.0F) { + var3 = 1.0F; + } + + float var4 = (float)Math.cos((double)(-this.listener.yRot) * Math.PI / 180.0D + Math.PI); + float var5 = (float)Math.sin((double)(-this.listener.yRot) * Math.PI / 180.0D + Math.PI); + return (var5 * var2 - var4 * var1) * var3; + } + + public final float getDistanceSq(float var1, float var2, float var3) { + var1 -= this.listener.x; + var2 -= this.listener.y; + float var4 = var3 - this.listener.z; + var4 = (float)Math.sqrt((double)(var1 * var1 + var2 * var2 + var4 * var4)); + var4 = 1.0F - var4 / 32.0F; + if(var4 < 0.0F) { + var4 = 0.0F; + } + + return var4; + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/EntitySoundPos.java b/src/main/java/com/mojang/minecraft/sound/EntitySoundPos.java new file mode 100644 index 0000000..964e189 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/EntitySoundPos.java @@ -0,0 +1,20 @@ +package com.mojang.minecraft.sound; + +import com.mojang.minecraft.Entity; + +public final class EntitySoundPos extends BaseSoundPos { + private Entity source; + + public EntitySoundPos(Entity var1, Entity var2) { + super(var2); + this.source = var1; + } + + public final float getRotationDiff() { + return super.getRotationDiff(this.source.x, this.source.z); + } + + public final float getDistanceSq() { + return super.getDistanceSq(this.source.x, this.source.y, this.source.z); + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/LevelSoundPos.java b/src/main/java/com/mojang/minecraft/sound/LevelSoundPos.java new file mode 100644 index 0000000..8eabe18 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/LevelSoundPos.java @@ -0,0 +1,24 @@ +package com.mojang.minecraft.sound; + +import com.mojang.minecraft.Entity; + +public final class LevelSoundPos extends BaseSoundPos { + private float x; + private float y; + private float z; + + public LevelSoundPos(float var1, float var2, float var3, Entity var4) { + super(var4); + this.x = var1; + this.y = var2; + this.z = var3; + } + + public final float getRotationDiff() { + return super.getRotationDiff(this.x, this.z); + } + + public final float getDistanceSq() { + return super.getDistanceSq(this.x, this.y, this.z); + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/Music.java b/src/main/java/com/mojang/minecraft/sound/Music.java new file mode 100644 index 0000000..0e0fdc6 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/Music.java @@ -0,0 +1,66 @@ +package com.mojang.minecraft.sound; + +import de.jarnbjo.ogg.LogicalOggStreamImpl; +import de.jarnbjo.ogg.OnDemandUrlStream; +import de.jarnbjo.vorbis.VorbisStream; +import java.io.IOException; +import java.net.URL; +import java.nio.ByteBuffer; + +public final class Music implements Audio { + ByteBuffer playing = ByteBuffer.allocate(176400); + ByteBuffer current = ByteBuffer.allocate(176400); + private ByteBuffer processing = null; + ByteBuffer previous = null; + VorbisStream stream; + SoundPlayer player; + boolean finished = false; + boolean stopped = false; + + public Music(SoundPlayer var1, URL var2) throws IOException { + this.player = var1; + OnDemandUrlStream var3 = new OnDemandUrlStream(var2); + LogicalOggStreamImpl var4 = (LogicalOggStreamImpl)var3.logicalStreams.values().iterator().next(); + this.stream = new VorbisStream(var4); + (new MusicThread(this)).start(); + } + + public final boolean play(int[] var1, int[] var2, int var3) { + if(!this.player.options.music) { + this.stopped = true; + return false; + } else { + var3 = var3; + int var4 = 0; + + while(var3 > 0 && (this.processing != null || this.previous != null)) { + if(this.processing == null && this.previous != null) { + this.processing = this.previous; + this.previous = null; + } + + if(this.processing != null && this.processing.remaining() > 0) { + int var5 = this.processing.remaining() / 4; + if(var5 > var3) { + var5 = var3; + } + + for(int var6 = 0; var6 < var5; ++var6) { + var1[var4 + var6] += this.processing.getShort(); + var2[var4 + var6] += this.processing.getShort(); + } + + var4 += var5; + var3 -= var5; + } + + if(this.current == null && this.processing != null && this.processing.remaining() == 0) { + this.current = this.processing; + this.processing = null; + } + } + + return this.processing != null || this.previous != null || !this.finished; + } + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/MusicThread.java b/src/main/java/com/mojang/minecraft/sound/MusicThread.java new file mode 100644 index 0000000..0e4b688 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/MusicThread.java @@ -0,0 +1,98 @@ +package com.mojang.minecraft.sound; + +import de.jarnbjo.ogg.EndOfOggStreamException; +import de.jarnbjo.vorbis.VorbisStream; +import java.nio.ByteBuffer; + +final class MusicThread extends Thread { + private Music music; + + public MusicThread(Music var1) { + this.music = var1; + this.setPriority(10); + this.setDaemon(true); + } + + public final void run() { + try { + Music var1; + do { + if(this.music.stopped) { + return; + } + + var1 = this.music; + ByteBuffer var2; + if(var1.playing == null) { + var1 = this.music; + if(var1.current != null) { + var1 = this.music; + var2 = var1.current; + var1 = this.music; + var1.playing = var2; + var2 = null; + var1 = this.music; + var1.current = null; + var1 = this.music; + var1.playing.clear(); + } + } + + var1 = this.music; + if(var1.playing != null) { + var1 = this.music; + if(var1.playing.remaining() != 0) { + while(true) { + var1 = this.music; + if(var1.playing.remaining() == 0) { + break; + } + + var1 = this.music; + VorbisStream var10000 = var1.stream; + var1 = this.music; + var2 = var1.playing; + VorbisStream var9 = var10000; + int var10 = var9.readPcm(var2.array(), var2.position(), var2.remaining()); + var2.position(var2.position() + var10); + boolean var11 = var10 <= 0; + if(var11) { + this.music.finished = true; + this.music.stopped = true; + break; + } + } + } + } + + var1 = this.music; + if(var1.playing != null) { + var1 = this.music; + if(var1.previous == null) { + var1 = this.music; + var1.playing.flip(); + var1 = this.music; + var2 = var1.playing; + var1 = this.music; + var1.previous = var2; + var2 = null; + var1 = this.music; + var1.playing = var2; + } + } + + Thread.sleep(10L); + var1 = this.music; + } while(var1.player.running); + + return; + } catch (EndOfOggStreamException var6) { + return; + } catch (Exception var7) { + var7.printStackTrace(); + } finally { + this.music.finished = true; + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/Sound.java b/src/main/java/com/mojang/minecraft/sound/Sound.java new file mode 100644 index 0000000..d602067 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/Sound.java @@ -0,0 +1,58 @@ +package com.mojang.minecraft.sound; + +public final class Sound implements Audio { + private AudioInfo info; + private SoundPos pos; + private float pitch = 0.0F; + private float volume = 1.0F; + private static short[] data = new short[1]; + + public Sound(AudioInfo var1, SoundPos var2) { + this.info = var1; + this.pos = var2; + this.pitch = var2.getRotationDiff(); + this.volume = var2.getDistanceSq() * var1.volume; + } + + public final boolean play(int[] var1, int[] var2, int var3) { + if(data.length < var3) { + data = new short[var3]; + } + + int var4 = this.info.update(data, var3); + boolean var5 = var4 > 0; + float var6 = this.pos.getRotationDiff(); + float var7 = this.pos.getDistanceSq() * this.info.volume; + int var8 = (int)((this.pitch > 0.0F ? 1.0F - this.pitch : 1.0F) * this.volume * 65536.0F); + int var9 = (int)((this.pitch < 0.0F ? 1.0F + this.pitch : 1.0F) * this.volume * 65536.0F); + int var10 = (int)((var6 > 0.0F ? 1.0F - var6 : 1.0F) * var7 * 65536.0F); + int var11 = (int)((var6 < 0.0F ? var6 + 1.0F : 1.0F) * var7 * 65536.0F); + var10 -= var8; + var11 -= var9; + int var12; + int var13; + int var14; + if(var10 == 0 && var11 == 0) { + if(var8 >= 0 || var9 != 0) { + var12 = var8; + var13 = var9; + + for(var14 = 0; var14 < var4; ++var14) { + var1[var14] += data[var14] * var12 >> 16; + var2[var14] += data[var14] * var13 >> 16; + } + } + } else { + for(var12 = 0; var12 < var4; ++var12) { + var13 = var8 + var10 * var12 / var3; + var14 = var9 + var11 * var12 / var3; + var1[var12] += data[var12] * var13 >> 16; + var2[var12] += data[var12] * var14 >> 16; + } + } + + this.pitch = var6; + this.volume = var7; + return var5; + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/SoundData.java b/src/main/java/com/mojang/minecraft/sound/SoundData.java new file mode 100644 index 0000000..239428e --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/SoundData.java @@ -0,0 +1,11 @@ +package com.mojang.minecraft.sound; + +public final class SoundData { + public final short[] data; + public final float length; + + public SoundData(short[] var1, float var2) { + this.data = var1; + this.length = var2; + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/SoundInfo.java b/src/main/java/com/mojang/minecraft/sound/SoundInfo.java new file mode 100644 index 0000000..8374144 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/SoundInfo.java @@ -0,0 +1,32 @@ +package com.mojang.minecraft.sound; + +public final class SoundInfo extends AudioInfo { + private SoundData data; + private float seek = 0.0F; + private float pitch; + + public SoundInfo(SoundData var1, float var2, float var3) { + this.data = var1; + this.pitch = var2 * 44100.0F / var1.length; + this.volume = var3; + } + + public final int update(short[] var1, int var2) { + if(this.seek >= (float)this.data.data.length) { + return 0; + } else { + for(int var3 = 0; var3 < var2; ++var3) { + int var4 = (int)this.seek; + short var5 = this.data.data[var4]; + short var6 = var4 < this.data.data.length - 1 ? this.data.data[var4 + 1] : 0; + var1[var3] = (short)((int)((float)var5 + (float)(var6 - var5) * (this.seek - (float)var4))); + this.seek += this.pitch; + if(this.seek >= (float)this.data.data.length) { + return var3; + } + } + + return var2; + } + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/SoundManager.java b/src/main/java/com/mojang/minecraft/sound/SoundManager.java new file mode 100644 index 0000000..a937861 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/SoundManager.java @@ -0,0 +1,99 @@ +package com.mojang.minecraft.sound; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; + +public final class SoundManager { + private SoundReader reader = new SoundReader(); + public Map sounds = new HashMap(); + private Map music = new HashMap(); + public Random random = new Random(); + public long lastMusic = System.currentTimeMillis() + 60000L; + + public final AudioInfo getAudioInfo(String var1, float var2, float var3) { + List var4 = null; + Map var5 = this.sounds; + synchronized(var5) { + var4 = (List)this.sounds.get(var1); + } + + if(var4 == null) { + return null; + } else { + SoundData var7 = (SoundData)var4.get(this.random.nextInt(var4.size())); + return new SoundInfo(var7, var3, var2); + } + } + + public void registerSound(File var1, String var2) { + try { + var2 = var2.substring(0, var2.length() - 4); + + for(var2 = var2.replaceAll("/", "."); Character.isDigit(var2.charAt(var2.length() - 1)); var2 = var2.substring(0, var2.length() - 1)) { + } + + SoundData var7 = SoundReader.read(var1.toURI().toURL()); + Map var3 = this.sounds; + synchronized(var3) { + Object var4 = (List)this.sounds.get(var2); + if(var4 == null) { + var4 = new ArrayList(); + this.sounds.put(var2, var4); + } + + ((List)var4).add(var7); + } + } catch (Exception var6) { + var6.printStackTrace(); + } + + } + + public final void registerMusic(String var1, File var2) { + Map var3 = this.music; + synchronized(var3) { + var1 = var1.substring(0, var1.length() - 4); + + for(var1 = var1.replaceAll("/", "."); Character.isDigit(var1.charAt(var1.length() - 1)); var1 = var1.substring(0, var1.length() - 1)) { + } + + Object var4 = (List)this.music.get(var1); + if(var4 == null) { + var4 = new ArrayList(); + this.music.put(var1, var4); + } + + ((List)var4).add(var2); + } + } + + public boolean playMusic(SoundPlayer var1, String var2) { + List var3 = null; + Map var4 = this.music; + synchronized(var4) { + var3 = (List)this.music.get(var2); + } + + if(var3 == null) { + return false; + } else { + File var8 = (File)var3.get(this.random.nextInt(var3.size())); + + try { + var1.play(new Music(var1, var8.toURI().toURL())); + } catch (MalformedURLException var5) { + var5.printStackTrace(); + } catch (IOException var6) { + var6.printStackTrace(); + } + + return true; + } + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/SoundPlayer.java b/src/main/java/com/mojang/minecraft/sound/SoundPlayer.java new file mode 100644 index 0000000..965503b --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/SoundPlayer.java @@ -0,0 +1,104 @@ +package com.mojang.minecraft.sound; + +import com.mojang.minecraft.Options; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import javax.sound.sampled.SourceDataLine; + +public final class SoundPlayer implements Runnable { + public boolean running = false; + public SourceDataLine dataLine; + private List audioQueue = new ArrayList(); + public Options options; + + public SoundPlayer(Options var1) { + this.options = var1; + } + + public final void play(Audio var1) { + if(this.running) { + List var2 = this.audioQueue; + synchronized(var2) { + this.audioQueue.add(var1); + } + } + } + + public final void play(AudioInfo var1, SoundPos var2) { + this.play(new Sound(var1, var2)); + } + + public final void run() { + int[] var1 = new int[4410]; + int[] var2 = new int[4410]; + + for(byte[] var3 = new byte[17640]; this.running; this.dataLine.write(var3, 0, 17640)) { + try { + Thread.sleep(1L); + } catch (InterruptedException var10) { + var10.printStackTrace(); + } + + Arrays.fill(var1, 0, 4410, 0); + Arrays.fill(var2, 0, 4410, 0); + boolean var4 = true; + int[] var6 = var2; + int[] var5 = var1; + List var12 = this.audioQueue; + synchronized(var12) { + int var8 = 0; + + while(true) { + if(var8 >= var12.size()) { + break; + } + + Audio var9 = (Audio)var12.get(var8); + boolean var16 = var9.play(var5, var6, 4410); + if(!var16) { + var12.remove(var8--); + } + + ++var8; + } + } + + int var13; + if(!this.options.music && !this.options.sound) { + for(var13 = 0; var13 < 4410; ++var13) { + var3[var13 << 2] = 0; + var3[(var13 << 2) + 1] = 0; + var3[(var13 << 2) + 2] = 0; + var3[(var13 << 2) + 3] = 0; + } + } else { + for(var13 = 0; var13 < 4410; ++var13) { + int var14 = var1[var13]; + int var15 = var2[var13]; + if(var14 < -32000) { + var14 = -32000; + } + + if(var15 < -32000) { + var15 = -32000; + } + + if(var14 >= 32000) { + var14 = 32000; + } + + if(var15 >= 32000) { + var15 = 32000; + } + + var3[var13 << 2] = (byte)(var14 >> 8); + var3[(var13 << 2) + 1] = (byte)var14; + var3[(var13 << 2) + 2] = (byte)(var15 >> 8); + var3[(var13 << 2) + 3] = (byte)var15; + } + } + } + + } +} diff --git a/src/main/java/com/mojang/minecraft/sound/SoundPos.java b/src/main/java/com/mojang/minecraft/sound/SoundPos.java new file mode 100644 index 0000000..66c2579 --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/SoundPos.java @@ -0,0 +1,7 @@ +package com.mojang.minecraft.sound; + +public interface SoundPos { + float getRotationDiff(); + + float getDistanceSq(); +} diff --git a/src/main/java/com/mojang/minecraft/sound/SoundReader.java b/src/main/java/com/mojang/minecraft/sound/SoundReader.java new file mode 100644 index 0000000..b21ee8b --- /dev/null +++ b/src/main/java/com/mojang/minecraft/sound/SoundReader.java @@ -0,0 +1,72 @@ +package com.mojang.minecraft.sound; + +import de.jarnbjo.ogg.EndOfOggStreamException; +import de.jarnbjo.ogg.LogicalOggStreamImpl; +import de.jarnbjo.ogg.OnDemandUrlStream; +import de.jarnbjo.vorbis.IdentificationHeader; +import de.jarnbjo.vorbis.VorbisStream; +import java.io.IOException; +import java.net.URL; + +public final class SoundReader { + public static SoundData read(URL var0) throws IOException { + OnDemandUrlStream var11 = new OnDemandUrlStream(var0); + LogicalOggStreamImpl var12 = (LogicalOggStreamImpl)var11.logicalStreams.values().iterator().next(); + VorbisStream var13 = new VorbisStream(var12); + byte[] var1 = new byte[4096]; + int var2 = 0; + boolean var3 = false; + IdentificationHeader var15 = var13.identificationHeader; + int var4 = var15.channels; + short[] var5 = new short[4096]; + int var6 = 0; + + while(true) { + int var16; + do { + if(var2 < 0) { + if(var6 != var5.length) { + short[] var18 = var5; + var5 = new short[var6]; + System.arraycopy(var18, 0, var5, 0, var6); + } + + IdentificationHeader var14 = var13.identificationHeader; + return new SoundData(var5, (float)var14.sampleRate); + } + + var16 = 0; + + try { + while(var16 < var1.length) { + var2 = var13.readPcm(var1, var16, var1.length - var16); + if(var2 <= 0) { + break; + } + + var16 += var2; + } + } catch (EndOfOggStreamException var10) { + var2 = -1; + } + } while(var16 <= 0); + + boolean var7 = false; + + int var8; + for(int var17 = 0; var17 < var16; var5[var6++] = (short)(var8 / var4)) { + var8 = 0; + + for(int var9 = 0; var9 < var4; ++var9) { + var8 += var1[var17++] << 8 | var1[var17++] & 255; + } + + if(var6 == var5.length) { + short[] var19 = var5; + var5 = new short[var5.length << 1]; + System.arraycopy(var19, 0, var5, 0, var6); + } + } + } + } +} diff --git a/src/main/java/net/minecraft/src/AxisAlignedBB.java b/src/main/java/net/minecraft/src/AxisAlignedBB.java deleted file mode 100644 index e680fee..0000000 --- a/src/main/java/net/minecraft/src/AxisAlignedBB.java +++ /dev/null @@ -1,313 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; - -public class AxisAlignedBB { - private static List boundingBoxes = new ArrayList(); - private static int numBoundingBoxesInUse = 0; - public double minX; - public double minY; - public double minZ; - public double maxX; - public double maxY; - public double maxZ; - - public static AxisAlignedBB getBoundingBox(double var0, double var2, double var4, double var6, double var8, double var10) { - return new AxisAlignedBB(var0, var2, var4, var6, var8, var10); - } - - public static void clearBoundingBoxPool() { - numBoundingBoxesInUse = 0; - } - - public static AxisAlignedBB getBoundingBoxFromPool(double var0, double var2, double var4, double var6, double var8, double var10) { - if(numBoundingBoxesInUse >= boundingBoxes.size()) { - boundingBoxes.add(getBoundingBox(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D)); - } - - return ((AxisAlignedBB)boundingBoxes.get(numBoundingBoxesInUse++)).setBounds(var0, var2, var4, var6, var8, var10); - } - - private AxisAlignedBB(double var1, double var3, double var5, double var7, double var9, double var11) { - this.minX = var1; - this.minY = var3; - this.minZ = var5; - this.maxX = var7; - this.maxY = var9; - this.maxZ = var11; - } - - public AxisAlignedBB setBounds(double var1, double var3, double var5, double var7, double var9, double var11) { - this.minX = var1; - this.minY = var3; - this.minZ = var5; - this.maxX = var7; - this.maxY = var9; - this.maxZ = var11; - return this; - } - - public AxisAlignedBB addCoord(double var1, double var3, double var5) { - double var7 = this.minX; - double var9 = this.minY; - double var11 = this.minZ; - double var13 = this.maxX; - double var15 = this.maxY; - double var17 = this.maxZ; - if(var1 < 0.0D) { - var7 += var1; - } - - if(var1 > 0.0D) { - var13 += var1; - } - - if(var3 < 0.0D) { - var9 += var3; - } - - if(var3 > 0.0D) { - var15 += var3; - } - - if(var5 < 0.0D) { - var11 += var5; - } - - if(var5 > 0.0D) { - var17 += var5; - } - - return getBoundingBoxFromPool(var7, var9, var11, var13, var15, var17); - } - - public AxisAlignedBB expand(double var1, double var3, double var5) { - double var7 = this.minX - var1; - double var9 = this.minY - var3; - double var11 = this.minZ - var5; - double var13 = this.maxX + var1; - double var15 = this.maxY + var3; - double var17 = this.maxZ + var5; - return getBoundingBoxFromPool(var7, var9, var11, var13, var15, var17); - } - - public AxisAlignedBB getOffsetBoundingBox(double var1, double var3, double var5) { - return getBoundingBoxFromPool(this.minX + var1, this.minY + var3, this.minZ + var5, this.maxX + var1, this.maxY + var3, this.maxZ + var5); - } - - public double calculateXOffset(AxisAlignedBB var1, double var2) { - if(var1.maxY > this.minY && var1.minY < this.maxY) { - if(var1.maxZ > this.minZ && var1.minZ < this.maxZ) { - double var4; - if(var2 > 0.0D && var1.maxX <= this.minX) { - var4 = this.minX - var1.maxX; - if(var4 < var2) { - var2 = var4; - } - } - - if(var2 < 0.0D && var1.minX >= this.maxX) { - var4 = this.maxX - var1.minX; - if(var4 > var2) { - var2 = var4; - } - } - - return var2; - } else { - return var2; - } - } else { - return var2; - } - } - - public double calculateYOffset(AxisAlignedBB var1, double var2) { - if(var1.maxX > this.minX && var1.minX < this.maxX) { - if(var1.maxZ > this.minZ && var1.minZ < this.maxZ) { - double var4; - if(var2 > 0.0D && var1.maxY <= this.minY) { - var4 = this.minY - var1.maxY; - if(var4 < var2) { - var2 = var4; - } - } - - if(var2 < 0.0D && var1.minY >= this.maxY) { - var4 = this.maxY - var1.minY; - if(var4 > var2) { - var2 = var4; - } - } - - return var2; - } else { - return var2; - } - } else { - return var2; - } - } - - public double calculateZOffset(AxisAlignedBB var1, double var2) { - if(var1.maxX > this.minX && var1.minX < this.maxX) { - if(var1.maxY > this.minY && var1.minY < this.maxY) { - double var4; - if(var2 > 0.0D && var1.maxZ <= this.minZ) { - var4 = this.minZ - var1.maxZ; - if(var4 < var2) { - var2 = var4; - } - } - - if(var2 < 0.0D && var1.minZ >= this.maxZ) { - var4 = this.maxZ - var1.minZ; - if(var4 > var2) { - var2 = var4; - } - } - - return var2; - } else { - return var2; - } - } else { - return var2; - } - } - - public boolean intersectsWith(AxisAlignedBB var1) { - return var1.maxX > this.minX && var1.minX < this.maxX ? (var1.maxY > this.minY && var1.minY < this.maxY ? var1.maxZ > this.minZ && var1.minZ < this.maxZ : false) : false; - } - - public AxisAlignedBB offset(double var1, double var3, double var5) { - this.minX += var1; - this.minY += var3; - this.minZ += var5; - this.maxX += var1; - this.maxY += var3; - this.maxZ += var5; - return this; - } - - public double getAverageEdgeLength() { - double var1 = this.maxX - this.minX; - double var3 = this.maxY - this.minY; - double var5 = this.maxZ - this.minZ; - return (var1 + var3 + var5) / 3.0D; - } - - public AxisAlignedBB copy() { - return getBoundingBoxFromPool(this.minX, this.minY, this.minZ, this.maxX, this.maxY, this.maxZ); - } - - public MovingObjectPosition calculateIntercept(Vec3D var1, Vec3D var2) { - Vec3D var3 = var1.getIntermediateWithXValue(var2, this.minX); - Vec3D var4 = var1.getIntermediateWithXValue(var2, this.maxX); - Vec3D var5 = var1.getIntermediateWithYValue(var2, this.minY); - Vec3D var6 = var1.getIntermediateWithYValue(var2, this.maxY); - Vec3D var7 = var1.getIntermediateWithZValue(var2, this.minZ); - Vec3D var8 = var1.getIntermediateWithZValue(var2, this.maxZ); - if(!this.isVecInYZ(var3)) { - var3 = null; - } - - if(!this.isVecInYZ(var4)) { - var4 = null; - } - - if(!this.isVecInXZ(var5)) { - var5 = null; - } - - if(!this.isVecInXZ(var6)) { - var6 = null; - } - - if(!this.isVecInXY(var7)) { - var7 = null; - } - - if(!this.isVecInXY(var8)) { - var8 = null; - } - - Vec3D var9 = null; - if(var3 != null && (var9 == null || var1.squareDistanceTo(var3) < var1.squareDistanceTo(var9))) { - var9 = var3; - } - - if(var4 != null && (var9 == null || var1.squareDistanceTo(var4) < var1.squareDistanceTo(var9))) { - var9 = var4; - } - - if(var5 != null && (var9 == null || var1.squareDistanceTo(var5) < var1.squareDistanceTo(var9))) { - var9 = var5; - } - - if(var6 != null && (var9 == null || var1.squareDistanceTo(var6) < var1.squareDistanceTo(var9))) { - var9 = var6; - } - - if(var7 != null && (var9 == null || var1.squareDistanceTo(var7) < var1.squareDistanceTo(var9))) { - var9 = var7; - } - - if(var8 != null && (var9 == null || var1.squareDistanceTo(var8) < var1.squareDistanceTo(var9))) { - var9 = var8; - } - - if(var9 == null) { - return null; - } else { - byte var10 = -1; - if(var9 == var3) { - var10 = 4; - } - - if(var9 == var4) { - var10 = 5; - } - - if(var9 == var5) { - var10 = 0; - } - - if(var9 == var6) { - var10 = 1; - } - - if(var9 == var7) { - var10 = 2; - } - - if(var9 == var8) { - var10 = 3; - } - - return new MovingObjectPosition(0, 0, 0, var10, var9); - } - } - - private boolean isVecInYZ(Vec3D var1) { - return var1 == null ? false : var1.yCoord >= this.minY && var1.yCoord <= this.maxY && var1.zCoord >= this.minZ && var1.zCoord <= this.maxZ; - } - - private boolean isVecInXZ(Vec3D var1) { - return var1 == null ? false : var1.xCoord >= this.minX && var1.xCoord <= this.maxX && var1.zCoord >= this.minZ && var1.zCoord <= this.maxZ; - } - - private boolean isVecInXY(Vec3D var1) { - return var1 == null ? false : var1.xCoord >= this.minX && var1.xCoord <= this.maxX && var1.yCoord >= this.minY && var1.yCoord <= this.maxY; - } - - public void setBB(AxisAlignedBB var1) { - this.minX = var1.minX; - this.minY = var1.minY; - this.minZ = var1.minZ; - this.maxX = var1.maxX; - this.maxY = var1.maxY; - this.maxZ = var1.maxZ; - } -} diff --git a/src/main/java/net/minecraft/src/Block.java b/src/main/java/net/minecraft/src/Block.java deleted file mode 100644 index a962b9d..0000000 --- a/src/main/java/net/minecraft/src/Block.java +++ /dev/null @@ -1,432 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.Random; - -public class Block { - public static final StepSound soundPowderFootstep = new StepSound("stone", 1.0F, 1.0F); - public static final StepSound soundWoodFootstep = new StepSound("wood", 1.0F, 1.0F); - public static final StepSound soundGravelFootstep = new StepSound("gravel", 1.0F, 1.0F); - public static final StepSound soundGrassFootstep = new StepSound("grass", 1.0F, 1.0F); - public static final StepSound soundStoneFootstep = new StepSound("stone", 1.0F, 1.0F); - public static final StepSound soundMetalFootstep = new StepSound("stone", 1.0F, 1.5F); - public static final StepSound soundGlassFootstep = new StepSoundGlass("stone", 1.0F, 1.0F); - public static final StepSound soundClothFootstep = new StepSound("cloth", 1.0F, 1.0F); - public static final StepSound soundSandFootstep = new StepSoundSand("sand", 1.0F, 1.0F); - public static final Block[] blocksList = new Block[256]; - public static final boolean[] tickOnLoad = new boolean[256]; - public static final boolean[] opaqueCubeLookup = new boolean[256]; - public static final int[] lightOpacity = new int[256]; - public static final boolean[] canBlockGrass = new boolean[256]; - public static final int[] lightValue = new int[256]; - public static final Block stone = (new BlockStone(1, 1)).setHardness(1.5F).setResistance(10.0F).setStepSound(soundStoneFootstep); - public static final BlockGrass grass = (BlockGrass)(new BlockGrass(2)).setHardness(0.6F).setStepSound(soundGrassFootstep); - public static final Block dirt = (new BlockDirt(3, 2)).setHardness(0.5F).setStepSound(soundGravelFootstep); - public static final Block cobblestone = (new Block(4, 16, Material.rock)).setHardness(2.0F).setResistance(10.0F).setStepSound(soundStoneFootstep); - public static final Block planks = (new Block(5, 4, Material.wood)).setHardness(2.0F).setResistance(5.0F).setStepSound(soundWoodFootstep); - public static final Block sapling = (new BlockSapling(6, 15)).setHardness(0.0F).setStepSound(soundGrassFootstep); - public static final Block bedrock = (new Block(7, 17, Material.rock)).setHardness(-1.0F).setResistance(6000000.0F).setStepSound(soundStoneFootstep); - public static final Block waterMoving = (new BlockFlowing(8, Material.water)).setHardness(100.0F).setLightOpacity(3); - public static final Block waterStill = (new BlockStationary(9, Material.water)).setHardness(100.0F).setLightOpacity(3); - public static final Block lavaMoving = (new BlockFlowing(10, Material.lava)).setHardness(0.0F).setLightValue(1.0F).setLightOpacity(255); - public static final Block lavaStill = (new BlockStationary(11, Material.lava)).setHardness(100.0F).setLightValue(1.0F).setLightOpacity(255); - public static final Block sand = (new BlockSand(12, 18)).setHardness(0.5F).setStepSound(soundSandFootstep); - public static final Block gravel = (new BlockGravel(13, 19)).setHardness(0.6F).setStepSound(soundGravelFootstep); - public static final Block oreGold = (new BlockOre(14, 32)).setHardness(3.0F).setResistance(5.0F).setStepSound(soundStoneFootstep); - public static final Block oreIron = (new BlockOre(15, 33)).setHardness(3.0F).setResistance(5.0F).setStepSound(soundStoneFootstep); - public static final Block oreCoal = (new BlockOre(16, 34)).setHardness(3.0F).setResistance(5.0F).setStepSound(soundStoneFootstep); - public static final Block wood = (new BlockLog(17)).setHardness(2.0F).setStepSound(soundWoodFootstep); - public static final BlockLeaves leaves = (BlockLeaves)(new BlockLeaves(18, 52)).setHardness(0.2F).setLightOpacity(1).setStepSound(soundGrassFootstep); - public static final Block sponge = (new BlockSponge(19)).setHardness(0.6F).setStepSound(soundGrassFootstep); - public static final Block glass = (new BlockGlass(20, 49, Material.glass, false)).setHardness(0.3F).setStepSound(soundGlassFootstep); - public static final Block clothRed = null; - public static final Block clothOrange = null; - public static final Block clothYellow = null; - public static final Block clothChartreuse = null; - public static final Block clothGreen = null; - public static final Block clothSpringGreen = null; - public static final Block clothCyan = null; - public static final Block clothCapri = null; - public static final Block clothUltramarine = null; - public static final Block clothViolet = null; - public static final Block clothPurple = null; - public static final Block clothMagenta = null; - public static final Block clothRose = null; - public static final Block clothDarkGray = null; - public static final Block cloth = (new Block(35, 64, Material.cloth)).setHardness(0.8F).setStepSound(soundClothFootstep); - public static final Block clothWhite = null; - public static final BlockFlower plantYellow = (BlockFlower)(new BlockFlower(37, 13)).setHardness(0.0F).setStepSound(soundGrassFootstep); - public static final BlockFlower plantRed = (BlockFlower)(new BlockFlower(38, 12)).setHardness(0.0F).setStepSound(soundGrassFootstep); - public static final BlockFlower mushroomBrown = (BlockFlower)(new BlockMushroom(39, 29)).setHardness(0.0F).setStepSound(soundGrassFootstep).setLightValue(2.0F / 16.0F); - public static final BlockFlower mushroomRed = (BlockFlower)(new BlockMushroom(40, 28)).setHardness(0.0F).setStepSound(soundGrassFootstep); - public static final Block blockGold = (new BlockOreBlock(41, 39)).setHardness(3.0F).setResistance(10.0F).setStepSound(soundMetalFootstep); - public static final Block blockSteel = (new BlockOreBlock(42, 38)).setHardness(5.0F).setResistance(10.0F).setStepSound(soundMetalFootstep); - public static final Block stairDouble = (new BlockStep(43, true)).setHardness(2.0F).setResistance(10.0F).setStepSound(soundStoneFootstep); - public static final Block stairSingle = (new BlockStep(44, false)).setHardness(2.0F).setResistance(10.0F).setStepSound(soundStoneFootstep); - public static final Block brick = (new Block(45, 7, Material.rock)).setHardness(2.0F).setResistance(10.0F).setStepSound(soundStoneFootstep); - public static final Block tnt = (new BlockTNT(46, 8)).setHardness(0.0F).setStepSound(soundGrassFootstep); - public static final Block bookshelf = (new BlockBookshelf(47, 35)).setHardness(1.5F).setStepSound(soundWoodFootstep); - public static final Block cobblestoneMossy = (new Block(48, 36, Material.rock)).setHardness(2.0F).setResistance(10.0F).setStepSound(soundStoneFootstep); - public static final Block obsidian = (new BlockObsidian(49, 37)).setHardness(10.0F).setResistance(20.0F).setStepSound(soundStoneFootstep); - public static final Block torch = (new BlockTorch(50, 80)).setHardness(0.0F).setLightValue(15.0F / 16.0F).setStepSound(soundWoodFootstep); - public static final BlockFire fire = (BlockFire)((BlockFire)(new BlockFire(51, 31)).setHardness(0.0F).setLightValue(1.0F).setStepSound(soundWoodFootstep)); - public static final Block mobSpawner = (new BlockMobSpawner(52, 65)).setHardness(5.0F).setStepSound(soundMetalFootstep); - public static final Block stairCompactWood = new BlockStairs(53, planks); - public static final Block chest = (new BlockChest(54)).setHardness(2.5F).setStepSound(soundWoodFootstep); - public static final Block cog = (new BlockGears(55, 62)).setHardness(0.5F).setStepSound(soundMetalFootstep); - public static final Block oreDiamond = (new BlockOre(56, 50)).setHardness(3.0F).setResistance(5.0F).setStepSound(soundStoneFootstep); - public static final Block blockDiamond = (new BlockOreBlock(57, 40)).setHardness(5.0F).setResistance(10.0F).setStepSound(soundMetalFootstep); - public static final Block workbench = (new BlockWorkbench(58)).setHardness(2.5F).setStepSound(soundWoodFootstep); - public static final Block crops = (new BlockCrops(59, 88)).setHardness(0.0F).setStepSound(soundGrassFootstep); - public static final Block tilledField = (new BlockFarmland(60)).setHardness(0.6F).setStepSound(soundGravelFootstep); - public static final Block stoneOvenIdle = (new BlockFurnace(61, false)).setHardness(3.5F).setStepSound(soundStoneFootstep); - public static final Block stoneOvenActive = (new BlockFurnace(62, true)).setHardness(3.5F).setStepSound(soundStoneFootstep).setLightValue(14.0F / 16.0F); - public static final Block signStanding = (new BlockSign(63, TileEntitySign.class, Item.sign.shiftedIndex)).setHardness(1.0F).setStepSound(soundWoodFootstep); - public static final Block doorWood = (new BlockDoor(64)).setHardness(3.0F).setStepSound(soundWoodFootstep); - public static final Block ladder = (new BlockLadder(65, 83)).setHardness(0.4F).setStepSound(soundWoodFootstep); - public static final Block minecartTrack = (new BlockMinecartTrack(66, 128)).setHardness(1.0F).setStepSound(soundMetalFootstep); - public static final Block stairCompactStone = new BlockStairs(67, cobblestone); - public int blockIndexInTexture; - public final int blockID; - protected float blockHardness; - protected float blockResistance; - public double minX; - public double minY; - public double minZ; - public double maxX; - public double maxY; - public double maxZ; - public StepSound stepSound; - public float blockParticleGravity; - public final Material blockMaterial; - - protected Block(int var1, Material var2) { - this.stepSound = soundPowderFootstep; - this.blockParticleGravity = 1.0F; - if(blocksList[var1] != null) { - throw new IllegalArgumentException("Slot " + var1 + " is already occupied by " + blocksList[var1] + " when adding " + this); - } else { - this.blockMaterial = var2; - blocksList[var1] = this; - this.blockID = var1; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - opaqueCubeLookup[var1] = this.isOpaqueCube(); - lightOpacity[var1] = this.isOpaqueCube() ? 255 : 0; - canBlockGrass[var1] = this.getCanBlockGrass(); - } - } - - protected Block(int var1, int var2, Material var3) { - this(var1, var3); - this.blockIndexInTexture = var2; - } - - protected Block setStepSound(StepSound var1) { - this.stepSound = var1; - return this; - } - - protected Block setLightOpacity(int var1) { - lightOpacity[this.blockID] = var1; - return this; - } - - protected Block setLightValue(float var1) { - lightValue[this.blockID] = (int)(15.0F * var1); - return this; - } - - protected Block setResistance(float var1) { - this.blockResistance = var1 * 3.0F; - return this; - } - - private boolean getCanBlockGrass() { - return false; - } - - public boolean renderAsNormalBlock() { - return true; - } - - public int getRenderType() { - return 0; - } - - protected Block setHardness(float var1) { - this.blockHardness = var1; - if(this.blockResistance < var1 * 5.0F) { - this.blockResistance = var1 * 5.0F; - } - - return this; - } - - protected void setTickOnLoad(boolean var1) { - tickOnLoad[this.blockID] = var1; - } - - public void setBlockBounds(float var1, float var2, float var3, float var4, float var5, float var6) { - this.minX = (double)var1; - this.minY = (double)var2; - this.minZ = (double)var3; - this.maxX = (double)var4; - this.maxY = (double)var5; - this.maxZ = (double)var6; - } - - public float getBlockBrightness(IBlockAccess var1, int var2, int var3, int var4) { - return var1.getBrightness(var2, var3, var4); - } - - public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { - return var5 == 0 && this.minY > 0.0D ? true : (var5 == 1 && this.maxY < 1.0D ? true : (var5 == 2 && this.minZ > 0.0D ? true : (var5 == 3 && this.maxZ < 1.0D ? true : (var5 == 4 && this.minX > 0.0D ? true : (var5 == 5 && this.maxX < 1.0D ? true : !var1.isBlockNormalCube(var2, var3, var4)))))); - } - - public int getBlockTextureGeneric(IBlockAccess var1, int var2, int var3, int var4, int var5) { - return this.getBlockTextureFromSideAndMetadata(var5, var1.getBlockMetadata(var2, var3, var4)); - } - - public int getBlockTextureFromSideAndMetadata(int var1, int var2) { - return this.getBlockTextureFromSide(var1); - } - - public int getBlockTextureFromSide(int var1) { - return this.blockIndexInTexture; - } - - public AxisAlignedBB getSelectedBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return AxisAlignedBB.getBoundingBoxFromPool((double)var2 + this.minX, (double)var3 + this.minY, (double)var4 + this.minZ, (double)var2 + this.maxX, (double)var3 + this.maxY, (double)var4 + this.maxZ); - } - - public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) { - AxisAlignedBB var7 = this.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); - if(var7 != null && var5.intersectsWith(var7)) { - var6.add(var7); - } - - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return AxisAlignedBB.getBoundingBoxFromPool((double)var2 + this.minX, (double)var3 + this.minY, (double)var4 + this.minZ, (double)var2 + this.maxX, (double)var3 + this.maxY, (double)var4 + this.maxZ); - } - - public boolean isOpaqueCube() { - return true; - } - - public boolean canCollideCheck(int var1, boolean var2) { - return this.isCollidable(); - } - - public boolean isCollidable() { - return true; - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - } - - public void randomDisplayTick(World var1, int var2, int var3, int var4, Random var5) { - } - - public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) { - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - } - - public int tickRate() { - return 10; - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - } - - public void onBlockRemoval(World var1, int var2, int var3, int var4) { - } - - public int quantityDropped(Random var1) { - return 1; - } - - public int idDropped(int var1, Random var2) { - return this.blockID; - } - - public float blockStrength(EntityPlayer var1) { - return this.blockHardness < 0.0F ? 0.0F : (!var1.canHarvestBlock(this) ? 1.0F / this.blockHardness / 100.0F : var1.getCurrentPlayerStrVsBlock(this) / this.blockHardness / 30.0F); - } - - public void dropBlockAsItem(World var1, int var2, int var3, int var4, int var5) { - this.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, 1.0F); - } - - public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { - int var7 = this.quantityDropped(var1.rand); - - for(int var8 = 0; var8 < var7; ++var8) { - if(var1.rand.nextFloat() <= var6) { - int var9 = this.idDropped(var5, var1.rand); - if(var9 > 0) { - float var10 = 0.7F; - double var11 = (double)(var1.rand.nextFloat() * var10) + (double)(1.0F - var10) * 0.5D; - double var13 = (double)(var1.rand.nextFloat() * var10) + (double)(1.0F - var10) * 0.5D; - double var15 = (double)(var1.rand.nextFloat() * var10) + (double)(1.0F - var10) * 0.5D; - EntityItem var17 = new EntityItem(var1, (double)var2 + var11, (double)var3 + var13, (double)var4 + var15, new ItemStack(var9)); - var17.delayBeforeCanPickup = 10; - var1.spawnEntityInWorld(var17); - } - } - } - - } - - public float getExplosionResistance(Entity var1) { - return this.blockResistance / 5.0F; - } - - public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { - var5 = var5.addVector((double)(-var2), (double)(-var3), (double)(-var4)); - var6 = var6.addVector((double)(-var2), (double)(-var3), (double)(-var4)); - Vec3D var7 = var5.getIntermediateWithXValue(var6, this.minX); - Vec3D var8 = var5.getIntermediateWithXValue(var6, this.maxX); - Vec3D var9 = var5.getIntermediateWithYValue(var6, this.minY); - Vec3D var10 = var5.getIntermediateWithYValue(var6, this.maxY); - Vec3D var11 = var5.getIntermediateWithZValue(var6, this.minZ); - Vec3D var12 = var5.getIntermediateWithZValue(var6, this.maxZ); - if(!this.isVecInsideYZBounds(var7)) { - var7 = null; - } - - if(!this.isVecInsideYZBounds(var8)) { - var8 = null; - } - - if(!this.isVecInsideXZBounds(var9)) { - var9 = null; - } - - if(!this.isVecInsideXZBounds(var10)) { - var10 = null; - } - - if(!this.isVecInsideXYBounds(var11)) { - var11 = null; - } - - if(!this.isVecInsideXYBounds(var12)) { - var12 = null; - } - - Vec3D var13 = null; - if(var7 != null && (var13 == null || var5.distanceTo(var7) < var5.distanceTo(var13))) { - var13 = var7; - } - - if(var8 != null && (var13 == null || var5.distanceTo(var8) < var5.distanceTo(var13))) { - var13 = var8; - } - - if(var9 != null && (var13 == null || var5.distanceTo(var9) < var5.distanceTo(var13))) { - var13 = var9; - } - - if(var10 != null && (var13 == null || var5.distanceTo(var10) < var5.distanceTo(var13))) { - var13 = var10; - } - - if(var11 != null && (var13 == null || var5.distanceTo(var11) < var5.distanceTo(var13))) { - var13 = var11; - } - - if(var12 != null && (var13 == null || var5.distanceTo(var12) < var5.distanceTo(var13))) { - var13 = var12; - } - - if(var13 == null) { - return null; - } else { - byte var14 = -1; - if(var13 == var7) { - var14 = 4; - } - - if(var13 == var8) { - var14 = 5; - } - - if(var13 == var9) { - var14 = 0; - } - - if(var13 == var10) { - var14 = 1; - } - - if(var13 == var11) { - var14 = 2; - } - - if(var13 == var12) { - var14 = 3; - } - - return new MovingObjectPosition(var2, var3, var4, var14, var13.addVector((double)var2, (double)var3, (double)var4)); - } - } - - private boolean isVecInsideYZBounds(Vec3D var1) { - return var1 == null ? false : var1.yCoord >= this.minY && var1.yCoord <= this.maxY && var1.zCoord >= this.minZ && var1.zCoord <= this.maxZ; - } - - private boolean isVecInsideXZBounds(Vec3D var1) { - return var1 == null ? false : var1.xCoord >= this.minX && var1.xCoord <= this.maxX && var1.zCoord >= this.minZ && var1.zCoord <= this.maxZ; - } - - private boolean isVecInsideXYBounds(Vec3D var1) { - return var1 == null ? false : var1.xCoord >= this.minX && var1.xCoord <= this.maxX && var1.yCoord >= this.minY && var1.yCoord <= this.maxY; - } - - public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) { - } - - public int getRenderBlockPass() { - return 0; - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return true; - } - - public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { - return false; - } - - public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { - } - - public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) { - } - - public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { - } - - public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) { - } - - public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { - } - - public int getRenderColor(IBlockAccess var1, int var2, int var3, int var4) { - return 16777215; - } - - static { - for(int var0 = 0; var0 < 256; ++var0) { - if(blocksList[var0] != null) { - Item.itemsList[var0] = new ItemBlock(var0 - 256); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockBookshelf.java b/src/main/java/net/minecraft/src/BlockBookshelf.java deleted file mode 100644 index e91f8a9..0000000 --- a/src/main/java/net/minecraft/src/BlockBookshelf.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockBookshelf extends Block { - public BlockBookshelf(int var1, int var2) { - super(var1, var2, Material.wood); - } - - public int getBlockTextureFromSide(int var1) { - return var1 <= 1 ? 4 : this.blockIndexInTexture; - } - - public int quantityDropped(Random var1) { - return 0; - } -} diff --git a/src/main/java/net/minecraft/src/BlockBreakable.java b/src/main/java/net/minecraft/src/BlockBreakable.java deleted file mode 100644 index a037862..0000000 --- a/src/main/java/net/minecraft/src/BlockBreakable.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.minecraft.src; - -public class BlockBreakable extends Block { - private boolean localFlag; - - protected BlockBreakable(int var1, int var2, Material var3, boolean var4) { - super(var1, var2, var3); - this.localFlag = var4; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockId(var2, var3, var4); - return !this.localFlag && var6 == this.blockID ? false : super.shouldSideBeRendered(var1, var2, var3, var4, var5); - } -} diff --git a/src/main/java/net/minecraft/src/BlockChest.java b/src/main/java/net/minecraft/src/BlockChest.java deleted file mode 100644 index 9807507..0000000 --- a/src/main/java/net/minecraft/src/BlockChest.java +++ /dev/null @@ -1,196 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockChest extends BlockContainer { - private Random random = new Random(); - - protected BlockChest(int var1) { - super(var1, Material.wood); - this.blockIndexInTexture = 26; - } - - public int getBlockTextureGeneric(IBlockAccess var1, int var2, int var3, int var4, int var5) { - if(var5 == 1) { - return this.blockIndexInTexture - 1; - } else if(var5 == 0) { - return this.blockIndexInTexture - 1; - } else { - int var6 = var1.getBlockId(var2, var3, var4 - 1); - int var7 = var1.getBlockId(var2, var3, var4 + 1); - int var8 = var1.getBlockId(var2 - 1, var3, var4); - int var9 = var1.getBlockId(var2 + 1, var3, var4); - int var10; - int var11; - int var12; - byte var13; - if(var6 != this.blockID && var7 != this.blockID) { - if(var8 != this.blockID && var9 != this.blockID) { - byte var14 = 3; - if(Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var7]) { - var14 = 3; - } - - if(Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var6]) { - var14 = 2; - } - - if(Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var9]) { - var14 = 5; - } - - if(Block.opaqueCubeLookup[var9] && !Block.opaqueCubeLookup[var8]) { - var14 = 4; - } - - return var5 == var14 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture; - } else if(var5 != 4 && var5 != 5) { - var10 = 0; - if(var8 == this.blockID) { - var10 = -1; - } - - var11 = var1.getBlockId(var8 == this.blockID ? var2 - 1 : var2 + 1, var3, var4 - 1); - var12 = var1.getBlockId(var8 == this.blockID ? var2 - 1 : var2 + 1, var3, var4 + 1); - if(var5 == 3) { - var10 = -1 - var10; - } - - var13 = 3; - if((Block.opaqueCubeLookup[var6] || Block.opaqueCubeLookup[var11]) && !Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var12]) { - var13 = 3; - } - - if((Block.opaqueCubeLookup[var7] || Block.opaqueCubeLookup[var12]) && !Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var11]) { - var13 = 2; - } - - return (var5 == var13 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture + 32) + var10; - } else { - return this.blockIndexInTexture; - } - } else if(var5 != 2 && var5 != 3) { - var10 = 0; - if(var6 == this.blockID) { - var10 = -1; - } - - var11 = var1.getBlockId(var2 - 1, var3, var6 == this.blockID ? var4 - 1 : var4 + 1); - var12 = var1.getBlockId(var2 + 1, var3, var6 == this.blockID ? var4 - 1 : var4 + 1); - if(var5 == 4) { - var10 = -1 - var10; - } - - var13 = 5; - if((Block.opaqueCubeLookup[var8] || Block.opaqueCubeLookup[var11]) && !Block.opaqueCubeLookup[var9] && !Block.opaqueCubeLookup[var12]) { - var13 = 5; - } - - if((Block.opaqueCubeLookup[var9] || Block.opaqueCubeLookup[var12]) && !Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var11]) { - var13 = 4; - } - - return (var5 == var13 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture + 32) + var10; - } else { - return this.blockIndexInTexture; - } - } - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture)); - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - int var5 = 0; - if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID) { - ++var5; - } - - if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID) { - ++var5; - } - - if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID) { - ++var5; - } - - if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID) { - ++var5; - } - - return var5 > 1 ? false : (this.isThereANeighborChest(var1, var2 - 1, var3, var4) ? false : (this.isThereANeighborChest(var1, var2 + 1, var3, var4) ? false : (this.isThereANeighborChest(var1, var2, var3, var4 - 1) ? false : !this.isThereANeighborChest(var1, var2, var3, var4 + 1)))); - } - - private boolean isThereANeighborChest(World var1, int var2, int var3, int var4) { - return var1.getBlockId(var2, var3, var4) != this.blockID ? false : (var1.getBlockId(var2 - 1, var3, var4) == this.blockID ? true : (var1.getBlockId(var2 + 1, var3, var4) == this.blockID ? true : (var1.getBlockId(var2, var3, var4 - 1) == this.blockID ? true : var1.getBlockId(var2, var3, var4 + 1) == this.blockID))); - } - - public void onBlockRemoval(World var1, int var2, int var3, int var4) { - TileEntityChest var5 = (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4); - - for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) { - ItemStack var7 = var5.getStackInSlot(var6); - if(var7 != null) { - float var8 = this.random.nextFloat() * 0.8F + 0.1F; - float var9 = this.random.nextFloat() * 0.8F + 0.1F; - float var10 = this.random.nextFloat() * 0.8F + 0.1F; - - while(var7.stackSize > 0) { - int var11 = this.random.nextInt(21) + 10; - if(var11 > var7.stackSize) { - var11 = var7.stackSize; - } - - var7.stackSize -= var11; - EntityItem var12 = new EntityItem(var1, (double)((float)var2 + var8), (double)((float)var3 + var9), (double)((float)var4 + var10), new ItemStack(var7.itemID, var11, var7.itemDmg)); - float var13 = 0.05F; - var12.motionX = (double)((float)this.random.nextGaussian() * var13); - var12.motionY = (double)((float)this.random.nextGaussian() * var13 + 0.2F); - var12.motionZ = (double)((float)this.random.nextGaussian() * var13); - var1.spawnEntityInWorld(var12); - } - } - } - - super.onBlockRemoval(var1, var2, var3, var4); - } - - public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { - Object var6 = (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4); - if(var1.isBlockNormalCube(var2, var3 + 1, var4)) { - return true; - } else if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 - 1, var3 + 1, var4)) { - return true; - } else if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 + 1, var3 + 1, var4)) { - return true; - } else if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 - 1)) { - return true; - } else if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 + 1)) { - return true; - } else { - if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID) { - var6 = new InventoryLargeChest("Large chest", (TileEntityChest)var1.getBlockTileEntity(var2 - 1, var3, var4), (IInventory)var6); - } - - if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID) { - var6 = new InventoryLargeChest("Large chest", (IInventory)var6, (TileEntityChest)var1.getBlockTileEntity(var2 + 1, var3, var4)); - } - - if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID) { - var6 = new InventoryLargeChest("Large chest", (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4 - 1), (IInventory)var6); - } - - if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID) { - var6 = new InventoryLargeChest("Large chest", (IInventory)var6, (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4 + 1)); - } - - var5.displayGUIChest((IInventory)var6); - return true; - } - } - - protected TileEntity getBlockEntity() { - return new TileEntityChest(); - } -} diff --git a/src/main/java/net/minecraft/src/BlockContainer.java b/src/main/java/net/minecraft/src/BlockContainer.java deleted file mode 100644 index 6b5cee0..0000000 --- a/src/main/java/net/minecraft/src/BlockContainer.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.minecraft.src; - -public abstract class BlockContainer extends Block { - protected BlockContainer(int var1, Material var2) { - super(var1, var2); - } - - protected BlockContainer(int var1, int var2, Material var3) { - super(var1, var2, var3); - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - super.onBlockAdded(var1, var2, var3, var4); - var1.setBlockTileEntity(var2, var3, var4, this.getBlockEntity()); - } - - public void onBlockRemoval(World var1, int var2, int var3, int var4) { - super.onBlockRemoval(var1, var2, var3, var4); - var1.removeBlockTileEntity(var2, var3, var4); - } - - protected abstract TileEntity getBlockEntity(); -} diff --git a/src/main/java/net/minecraft/src/BlockCrops.java b/src/main/java/net/minecraft/src/BlockCrops.java deleted file mode 100644 index 9cb6741..0000000 --- a/src/main/java/net/minecraft/src/BlockCrops.java +++ /dev/null @@ -1,110 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockCrops extends BlockFlower { - protected BlockCrops(int var1, int var2) { - super(var1, var2); - this.blockIndexInTexture = var2; - this.setTickOnLoad(true); - float var3 = 0.5F; - this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.25F, 0.5F + var3); - } - - protected boolean canThisPlantGrowOnThisBlockID(int var1) { - return var1 == Block.tilledField.blockID; - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - super.updateTick(var1, var2, var3, var4, var5); - if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var6 < 7) { - float var7 = this.updateTick(var1, var2, var3, var4); - if(var5.nextInt((int)(100.0F / var7)) == 0) { - ++var6; - var1.setBlockMetadataWithNotify(var2, var3, var4, var6); - } - } - } - - } - - private float updateTick(World var1, int var2, int var3, int var4) { - float var5 = 1.0F; - int var6 = var1.getBlockId(var2, var3, var4 - 1); - int var7 = var1.getBlockId(var2, var3, var4 + 1); - int var8 = var1.getBlockId(var2 - 1, var3, var4); - int var9 = var1.getBlockId(var2 + 1, var3, var4); - int var10 = var1.getBlockId(var2 - 1, var3, var4 - 1); - int var11 = var1.getBlockId(var2 + 1, var3, var4 - 1); - int var12 = var1.getBlockId(var2 + 1, var3, var4 + 1); - int var13 = var1.getBlockId(var2 - 1, var3, var4 + 1); - boolean var14 = var8 == this.blockID || var9 == this.blockID; - boolean var15 = var6 == this.blockID || var7 == this.blockID; - boolean var16 = var10 == this.blockID || var11 == this.blockID || var12 == this.blockID || var13 == this.blockID; - - for(int var17 = var2 - 1; var17 <= var2 + 1; ++var17) { - for(int var18 = var4 - 1; var18 <= var4 + 1; ++var18) { - int var19 = var1.getBlockId(var17, var3 - 1, var18); - float var20 = 0.0F; - if(var19 == Block.tilledField.blockID) { - var20 = 1.0F; - if(var1.getBlockMetadata(var17, var3 - 1, var18) > 0) { - var20 = 3.0F; - } - } - - if(var17 != var2 || var18 != var4) { - var20 /= 4.0F; - } - - var5 += var20; - } - } - - if(var16 || var14 && var15) { - var5 /= 2.0F; - } - - return var5; - } - - public int getBlockTextureFromSideAndMetadata(int var1, int var2) { - if(var2 < 0) { - var2 = 7; - } - - return this.blockIndexInTexture + var2; - } - - public int getRenderType() { - return 6; - } - - public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) { - super.onBlockDestroyedByPlayer(var1, var2, var3, var4, var5); - - for(int var6 = 0; var6 < 3; ++var6) { - if(var1.rand.nextInt(15) <= var5) { - float var7 = 0.7F; - float var8 = var1.rand.nextFloat() * var7 + (1.0F - var7) * 0.5F; - float var9 = var1.rand.nextFloat() * var7 + (1.0F - var7) * 0.5F; - float var10 = var1.rand.nextFloat() * var7 + (1.0F - var7) * 0.5F; - EntityItem var11 = new EntityItem(var1, (double)((float)var2 + var8), (double)((float)var3 + var9), (double)((float)var4 + var10), new ItemStack(Item.seeds)); - var11.delayBeforeCanPickup = 10; - var1.spawnEntityInWorld(var11); - } - } - - } - - public int idDropped(int var1, Random var2) { - System.out.println("Get resource: " + var1); - return var1 == 7 ? Item.wheat.shiftedIndex : -1; - } - - public int quantityDropped(Random var1) { - return 1; - } -} diff --git a/src/main/java/net/minecraft/src/BlockDirt.java b/src/main/java/net/minecraft/src/BlockDirt.java deleted file mode 100644 index d3b8a7a..0000000 --- a/src/main/java/net/minecraft/src/BlockDirt.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.minecraft.src; - -public class BlockDirt extends Block { - protected BlockDirt(int var1, int var2) { - super(var1, var2, Material.ground); - } -} diff --git a/src/main/java/net/minecraft/src/BlockDoor.java b/src/main/java/net/minecraft/src/BlockDoor.java deleted file mode 100644 index 25b2c67..0000000 --- a/src/main/java/net/minecraft/src/BlockDoor.java +++ /dev/null @@ -1,154 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockDoor extends Block { - protected BlockDoor(int var1) { - super(var1, Material.wood); - this.blockIndexInTexture = 97; - float var2 = 0.5F; - float var3 = 1.0F; - this.setBlockBounds(0.5F - var2, 0.0F, 0.5F - var2, 0.5F + var2, var3, 0.5F + var2); - } - - public int getBlockTextureFromSideAndMetadata(int var1, int var2) { - if(var1 != 0 && var1 != 1) { - int var3 = this.getState(var2); - if((var3 == 0 || var3 == 2) ^ var1 <= 3) { - return this.blockIndexInTexture; - } else { - int var4 = var3 / 2 + (var1 & 1 ^ var3); - var4 += (var2 & 4) / 4; - int var5 = this.blockIndexInTexture - (var2 & 8) * 2; - if((var4 & 1) != 0) { - var5 = -var5; - } - - return var5; - } - } else { - return this.blockIndexInTexture; - } - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 7; - } - - public AxisAlignedBB getSelectedBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - this.setBlockBoundsBasedOnState(var1, var2, var3, var4); - return super.getSelectedBoundingBoxFromPool(var1, var2, var3, var4); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - this.setBlockBoundsBasedOnState(var1, var2, var3, var4); - return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); - } - - public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { - this.setDoorRotation(this.getState(var1.getBlockMetadata(var2, var3, var4))); - } - - public void setDoorRotation(int var1) { - float var2 = 3.0F / 16.0F; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F); - if(var1 == 0) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2); - } - - if(var1 == 1) { - this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - if(var1 == 2) { - this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F); - } - - if(var1 == 3) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F); - } - - } - - public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { - this.blockActivated(var1, var2, var3, var4, var5); - } - - public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if((var6 & 8) != 0) { - if(var1.getBlockId(var2, var3 - 1, var4) == this.blockID) { - this.blockActivated(var1, var2, var3 - 1, var4, var5); - } - - return true; - } else { - if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) { - var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8); - } - - var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4); - var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4); - if(Math.random() < 0.5D) { - var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "random.door_open", 1.0F, var1.rand.nextFloat() * 0.1F + 0.9F); - } else { - var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "random.door_close", 1.0F, var1.rand.nextFloat() * 0.1F + 0.9F); - } - - return true; - } - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if((var6 & 8) != 0) { - if(var1.getBlockId(var2, var3 - 1, var4) != this.blockID) { - var1.setBlockWithNotify(var2, var3, var4, 0); - } - } else { - boolean var7 = false; - if(var1.getBlockId(var2, var3 + 1, var4) != this.blockID) { - var1.setBlockWithNotify(var2, var3, var4, 0); - var7 = true; - } - - if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) { - var1.setBlockWithNotify(var2, var3, var4, 0); - var7 = true; - if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) { - var1.setBlockWithNotify(var2, var3 + 1, var4, 0); - } - } - - if(var7) { - this.dropBlockAsItem(var1, var2, var3, var4, var6); - } - } - - } - - public int idDropped(int var1, Random var2) { - return (var1 & 8) != 0 ? 0 : Item.door.shiftedIndex; - } - - public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { - this.setBlockBoundsBasedOnState(var1, var2, var3, var4); - return super.collisionRayTrace(var1, var2, var3, var4, var5, var6); - } - - public int getState(int var1) { - return (var1 & 4) == 0 ? var1 - 1 & 3 : var1 & 3; - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return var3 >= 127 ? false : var1.isBlockNormalCube(var2, var3 - 1, var4) && super.canPlaceBlockAt(var1, var2, var3, var4) && super.canPlaceBlockAt(var1, var2, var3 + 1, var4); - } -} diff --git a/src/main/java/net/minecraft/src/BlockFarmland.java b/src/main/java/net/minecraft/src/BlockFarmland.java deleted file mode 100644 index 790d39c..0000000 --- a/src/main/java/net/minecraft/src/BlockFarmland.java +++ /dev/null @@ -1,93 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockFarmland extends Block { - protected BlockFarmland(int var1) { - super(var1, Material.ground); - this.blockIndexInTexture = 87; - this.setTickOnLoad(true); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 15.0F / 16.0F, 1.0F); - this.setLightOpacity(255); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return AxisAlignedBB.getBoundingBoxFromPool((double)(var2 + 0), (double)(var3 + 0), (double)(var4 + 0), (double)(var2 + 1), (double)(var3 + 1), (double)(var4 + 1)); - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getBlockTextureFromSideAndMetadata(int var1, int var2) { - return var1 == 1 && var2 > 0 ? this.blockIndexInTexture - 1 : (var1 == 1 ? this.blockIndexInTexture : 2); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - if(var5.nextInt(5) == 0) { - if(this.isWaterNearby(var1, var2, var3, var4)) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 7); - } else { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var6 > 0) { - var1.setBlockMetadataWithNotify(var2, var3, var4, var6 - 1); - } else if(!this.isCropsNearby(var1, var2, var3, var4)) { - var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); - } - } - } - - } - - public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { - if(var1.rand.nextInt(4) == 0) { - var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); - } - - } - - private boolean isCropsNearby(World var1, int var2, int var3, int var4) { - byte var5 = 0; - - for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) { - for(int var7 = var4 - var5; var7 <= var4 + var5; ++var7) { - if(var1.getBlockId(var6, var3 + 1, var7) == Block.crops.blockID) { - return true; - } - } - } - - return false; - } - - private boolean isWaterNearby(World var1, int var2, int var3, int var4) { - for(int var5 = var2 - 4; var5 <= var2 + 4; ++var5) { - for(int var6 = var3; var6 <= var3 + 1; ++var6) { - for(int var7 = var4 - 4; var7 <= var4 + 4; ++var7) { - if(var1.getBlockMaterial(var5, var6, var7) == Material.water) { - return true; - } - } - } - } - - return false; - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - super.onNeighborBlockChange(var1, var2, var3, var4, var5); - Material var6 = var1.getBlockMaterial(var2, var3 + 1, var4); - if(var6.isSolid()) { - var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); - } - - } - - public int idDropped(int var1, Random var2) { - return Block.dirt.idDropped(0, var2); - } -} diff --git a/src/main/java/net/minecraft/src/BlockFire.java b/src/main/java/net/minecraft/src/BlockFire.java deleted file mode 100644 index 594e81e..0000000 --- a/src/main/java/net/minecraft/src/BlockFire.java +++ /dev/null @@ -1,225 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockFire extends Block { - private int[] chanceToEncourageFire = new int[256]; - private int[] abilityToCatchFire = new int[256]; - - protected BlockFire(int var1, int var2) { - super(var1, var2, Material.fire); - this.setBurnRate(Block.planks.blockID, 5, 20); - this.setBurnRate(Block.wood.blockID, 5, 5); - this.setBurnRate(Block.leaves.blockID, 30, 60); - this.setBurnRate(Block.bookshelf.blockID, 30, 20); - this.setBurnRate(Block.tnt.blockID, 15, 100); - this.setBurnRate(Block.cloth.blockID, 30, 60); - this.setTickOnLoad(true); - } - - private void setBurnRate(int var1, int var2, int var3) { - this.chanceToEncourageFire[var1] = var2; - this.abilityToCatchFire[var1] = var3; - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return null; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 3; - } - - public int quantityDropped(Random var1) { - return 0; - } - - public int tickRate() { - return 20; - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var6 < 15) { - var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + 1); - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID); - } - - if(!this.canNeighborCatchFire(var1, var2, var3, var4)) { - if(!var1.isBlockNormalCube(var2, var3 - 1, var4) || var6 > 3) { - var1.setBlockWithNotify(var2, var3, var4, 0); - } - - } else if(!this.canBlockCatchFire(var1, var2, var3 - 1, var4) && var6 == 15 && var5.nextInt(4) == 0) { - var1.setBlockWithNotify(var2, var3, var4, 0); - } else { - if(var6 % 5 == 0 && var6 > 5) { - this.tryToCatchBlockOnFire(var1, var2 + 1, var3, var4, 300, var5); - this.tryToCatchBlockOnFire(var1, var2 - 1, var3, var4, 300, var5); - this.tryToCatchBlockOnFire(var1, var2, var3 - 1, var4, 100, var5); - this.tryToCatchBlockOnFire(var1, var2, var3 + 1, var4, 200, var5); - this.tryToCatchBlockOnFire(var1, var2, var3, var4 - 1, 300, var5); - this.tryToCatchBlockOnFire(var1, var2, var3, var4 + 1, 300, var5); - - for(int var7 = var2 - 1; var7 <= var2 + 1; ++var7) { - for(int var8 = var4 - 1; var8 <= var4 + 1; ++var8) { - for(int var9 = var3 - 1; var9 <= var3 + 4; ++var9) { - if(var7 != var2 || var9 != var3 || var8 != var4) { - int var10 = 100; - if(var9 > var3 + 1) { - var10 += (var9 - (var3 + 1)) * 100; - } - - int var11 = this.getChanceOfNeighborsEncouragingFire(var1, var7, var9, var8); - if(var11 > 0 && var5.nextInt(var10) <= var11) { - var1.setBlockWithNotify(var7, var9, var8, this.blockID); - } - } - } - } - } - } - - } - } - - private void tryToCatchBlockOnFire(World var1, int var2, int var3, int var4, int var5, Random var6) { - int var7 = this.abilityToCatchFire[var1.getBlockId(var2, var3, var4)]; - if(var6.nextInt(var5) < var7) { - boolean var8 = var1.getBlockId(var2, var3, var4) == Block.tnt.blockID; - if(var6.nextInt(2) == 0) { - var1.setBlockWithNotify(var2, var3, var4, this.blockID); - } else { - var1.setBlockWithNotify(var2, var3, var4, 0); - } - - if(var8) { - Block.tnt.onBlockDestroyedByPlayer(var1, var2, var3, var4, 0); - } - } - - } - - private boolean canNeighborCatchFire(World var1, int var2, int var3, int var4) { - return this.canBlockCatchFire(var1, var2 + 1, var3, var4) ? true : (this.canBlockCatchFire(var1, var2 - 1, var3, var4) ? true : (this.canBlockCatchFire(var1, var2, var3 - 1, var4) ? true : (this.canBlockCatchFire(var1, var2, var3 + 1, var4) ? true : (this.canBlockCatchFire(var1, var2, var3, var4 - 1) ? true : this.canBlockCatchFire(var1, var2, var3, var4 + 1))))); - } - - private int getChanceOfNeighborsEncouragingFire(World var1, int var2, int var3, int var4) { - byte var5 = 0; - if(var1.getBlockId(var2, var3, var4) != 0) { - return 0; - } else { - int var6 = this.getChanceToEncourageFire(var1, var2 + 1, var3, var4, var5); - var6 = this.getChanceToEncourageFire(var1, var2 - 1, var3, var4, var6); - var6 = this.getChanceToEncourageFire(var1, var2, var3 - 1, var4, var6); - var6 = this.getChanceToEncourageFire(var1, var2, var3 + 1, var4, var6); - var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 - 1, var6); - var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 + 1, var6); - return var6; - } - } - - public boolean isCollidable() { - return false; - } - - public boolean canBlockCatchFire(IBlockAccess var1, int var2, int var3, int var4) { - return this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)] > 0; - } - - public int getChanceToEncourageFire(World var1, int var2, int var3, int var4, int var5) { - int var6 = this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)]; - return var6 > var5 ? var6 : var5; - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return var1.isBlockNormalCube(var2, var3 - 1, var4) || this.canNeighborCatchFire(var1, var2, var3, var4); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && !this.canNeighborCatchFire(var1, var2, var3, var4)) { - var1.setBlockWithNotify(var2, var3, var4, 0); - } - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && !this.canNeighborCatchFire(var1, var2, var3, var4)) { - var1.setBlockWithNotify(var2, var3, var4, 0); - } else { - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID); - } - } - - public void randomDisplayTick(World var1, int var2, int var3, int var4, Random var5) { - if(var5.nextInt(24) == 0) { - var1.playSoundEffect((double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), "fire.fire", 1.0F + var5.nextFloat(), var5.nextFloat() * 0.7F + 0.3F); - } - - int var6; - float var7; - float var8; - float var9; - if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && !Block.fire.canBlockCatchFire(var1, var2, var3 - 1, var4)) { - if(Block.fire.canBlockCatchFire(var1, var2 - 1, var3, var4)) { - for(var6 = 0; var6 < 2; ++var6) { - var7 = (float)var2 + var5.nextFloat() * 0.1F; - var8 = (float)var3 + var5.nextFloat(); - var9 = (float)var4 + var5.nextFloat(); - var1.spawnParticle("largesmoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - } - - if(Block.fire.canBlockCatchFire(var1, var2 + 1, var3, var4)) { - for(var6 = 0; var6 < 2; ++var6) { - var7 = (float)(var2 + 1) - var5.nextFloat() * 0.1F; - var8 = (float)var3 + var5.nextFloat(); - var9 = (float)var4 + var5.nextFloat(); - var1.spawnParticle("largesmoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - } - - if(Block.fire.canBlockCatchFire(var1, var2, var3, var4 - 1)) { - for(var6 = 0; var6 < 2; ++var6) { - var7 = (float)var2 + var5.nextFloat(); - var8 = (float)var3 + var5.nextFloat(); - var9 = (float)var4 + var5.nextFloat() * 0.1F; - var1.spawnParticle("largesmoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - } - - if(Block.fire.canBlockCatchFire(var1, var2, var3, var4 + 1)) { - for(var6 = 0; var6 < 2; ++var6) { - var7 = (float)var2 + var5.nextFloat(); - var8 = (float)var3 + var5.nextFloat(); - var9 = (float)(var4 + 1) - var5.nextFloat() * 0.1F; - var1.spawnParticle("largesmoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - } - - if(Block.fire.canBlockCatchFire(var1, var2, var3 + 1, var4)) { - for(var6 = 0; var6 < 2; ++var6) { - var7 = (float)var2 + var5.nextFloat(); - var8 = (float)(var3 + 1) - var5.nextFloat() * 0.1F; - var9 = (float)var4 + var5.nextFloat(); - var1.spawnParticle("largesmoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - } - } else { - for(var6 = 0; var6 < 3; ++var6) { - var7 = (float)var2 + var5.nextFloat(); - var8 = (float)var3 + var5.nextFloat() * 0.5F + 0.5F; - var9 = (float)var4 + var5.nextFloat(); - var1.spawnParticle("largesmoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockFlower.java b/src/main/java/net/minecraft/src/BlockFlower.java deleted file mode 100644 index 8551ad0..0000000 --- a/src/main/java/net/minecraft/src/BlockFlower.java +++ /dev/null @@ -1,58 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockFlower extends Block { - protected BlockFlower(int var1, int var2) { - super(var1, Material.plants); - this.blockIndexInTexture = var2; - this.setTickOnLoad(true); - float var3 = 0.2F; - this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 3.0F, 0.5F + var3); - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)); - } - - protected boolean canThisPlantGrowOnThisBlockID(int var1) { - return var1 == Block.grass.blockID || var1 == Block.dirt.blockID || var1 == Block.tilledField.blockID; - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - super.onNeighborBlockChange(var1, var2, var3, var4, var5); - this.checkFlowerChange(var1, var2, var3, var4); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - this.checkFlowerChange(var1, var2, var3, var4); - } - - protected final void checkFlowerChange(World var1, int var2, int var3, int var4) { - if(!this.canBlockStay(var1, var2, var3, var4)) { - this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - var1.setBlockWithNotify(var2, var3, var4, 0); - } - - } - - public boolean canBlockStay(World var1, int var2, int var3, int var4) { - return (var1.getBlockLightValue(var2, var3, var4) >= 8 || var1.canBlockSeeTheSky(var2, var3, var4)) && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return null; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 1; - } -} diff --git a/src/main/java/net/minecraft/src/BlockFlowing.java b/src/main/java/net/minecraft/src/BlockFlowing.java deleted file mode 100644 index 7052e0c..0000000 --- a/src/main/java/net/minecraft/src/BlockFlowing.java +++ /dev/null @@ -1,253 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockFlowing extends BlockFluid { - int numAdjacentSources = 0; - boolean[] isOptimalFlowDirection = new boolean[4]; - int[] flowCost = new int[4]; - - protected BlockFlowing(int var1, Material var2) { - super(var1, var2); - } - - private void updateFlow(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockMetadata(var2, var3, var4); - var1.setBlockAndMetadata(var2, var3, var4, this.blockID + 1, var5); - var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - int var6 = this.getFlowDecay(var1, var2, var3, var4); - boolean var7 = true; - int var9; - if(var6 > 0) { - byte var8 = -100; - this.numAdjacentSources = 0; - int var11 = this.getSmallestFlowDecay(var1, var2 - 1, var3, var4, var8); - var11 = this.getSmallestFlowDecay(var1, var2 + 1, var3, var4, var11); - var11 = this.getSmallestFlowDecay(var1, var2, var3, var4 - 1, var11); - var11 = this.getSmallestFlowDecay(var1, var2, var3, var4 + 1, var11); - var9 = var11 + this.fluidType; - if(var9 >= 8 || var11 < 0) { - var9 = -1; - } - - if(this.getFlowDecay(var1, var2, var3 + 1, var4) >= 0) { - int var10 = this.getFlowDecay(var1, var2, var3 + 1, var4); - if(var10 >= 8) { - var9 = var10; - } else { - var9 = var10 + 8; - } - } - - if(this.numAdjacentSources >= 2 && this.blockMaterial == Material.water) { - var9 = 0; - } - - if(this.blockMaterial == Material.lava && var6 < 8 && var9 < 8 && var9 > var6 && var5.nextInt(4) != 0) { - var9 = var6; - var7 = false; - } - - if(var9 != var6) { - var6 = var9; - if(var9 < 0) { - var1.setBlockWithNotify(var2, var3, var4, 0); - } else { - var1.setBlockMetadataWithNotify(var2, var3, var4, var9); - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID); - var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); - } - } else if(var7) { - this.updateFlow(var1, var2, var3, var4); - } - } else { - this.updateFlow(var1, var2, var3, var4); - } - - if(this.liquidCanDisplaceBlock(var1, var2, var3 - 1, var4)) { - if(var6 >= 8) { - var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6); - } else { - var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6 + 8); - } - } else if(var6 >= 0 && (var6 == 0 || this.blockBlocksFlow(var1, var2, var3 - 1, var4))) { - boolean[] var12 = this.getOptimalFlowDirections(var1, var2, var3, var4); - var9 = var6 + this.fluidType; - if(var6 >= 8) { - var9 = 1; - } - - if(var9 >= 8) { - return; - } - - if(var12[0]) { - this.flowIntoBlock(var1, var2 - 1, var3, var4, var9); - } - - if(var12[1]) { - this.flowIntoBlock(var1, var2 + 1, var3, var4, var9); - } - - if(var12[2]) { - this.flowIntoBlock(var1, var2, var3, var4 - 1, var9); - } - - if(var12[3]) { - this.flowIntoBlock(var1, var2, var3, var4 + 1, var9); - } - } - - } - - private void flowIntoBlock(World var1, int var2, int var3, int var4, int var5) { - if(this.liquidCanDisplaceBlock(var1, var2, var3, var4)) { - int var6 = var1.getBlockId(var2, var3, var4); - if(var6 > 0) { - if(this.blockMaterial == Material.lava) { - this.triggerLavaMixEffects(var1, var2, var3, var4); - } else { - Block.blocksList[var6].dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - } - } - - var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var5); - } - - } - - private int calculateFlowCost(World var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = 1000; - - for(int var8 = 0; var8 < 4; ++var8) { - if((var8 != 0 || var6 != 1) && (var8 != 1 || var6 != 0) && (var8 != 2 || var6 != 3) && (var8 != 3 || var6 != 2)) { - int var9 = var2; - int var11 = var4; - if(var8 == 0) { - var9 = var2 - 1; - } - - if(var8 == 1) { - ++var9; - } - - if(var8 == 2) { - var11 = var4 - 1; - } - - if(var8 == 3) { - ++var11; - } - - if(!this.blockBlocksFlow(var1, var9, var3, var11) && (var1.getBlockMaterial(var9, var3, var11) != this.blockMaterial || var1.getBlockMetadata(var9, var3, var11) != 0)) { - if(!this.blockBlocksFlow(var1, var9, var3 - 1, var11)) { - return var5; - } - - if(var5 < 4) { - int var12 = this.calculateFlowCost(var1, var9, var3, var11, var5 + 1, var8); - if(var12 < var7) { - var7 = var12; - } - } - } - } - } - - return var7; - } - - private boolean[] getOptimalFlowDirections(World var1, int var2, int var3, int var4) { - int var5; - int var6; - for(var5 = 0; var5 < 4; ++var5) { - this.flowCost[var5] = 1000; - var6 = var2; - int var8 = var4; - if(var5 == 0) { - var6 = var2 - 1; - } - - if(var5 == 1) { - ++var6; - } - - if(var5 == 2) { - var8 = var4 - 1; - } - - if(var5 == 3) { - ++var8; - } - - if(!this.blockBlocksFlow(var1, var6, var3, var8) && (var1.getBlockMaterial(var6, var3, var8) != this.blockMaterial || var1.getBlockMetadata(var6, var3, var8) != 0)) { - if(!this.blockBlocksFlow(var1, var6, var3 - 1, var8)) { - this.flowCost[var5] = 0; - } else { - this.flowCost[var5] = this.calculateFlowCost(var1, var6, var3, var8, 1, var5); - } - } - } - - var5 = this.flowCost[0]; - - for(var6 = 1; var6 < 4; ++var6) { - if(this.flowCost[var6] < var5) { - var5 = this.flowCost[var6]; - } - } - - for(var6 = 0; var6 < 4; ++var6) { - this.isOptimalFlowDirection[var6] = this.flowCost[var6] == var5; - } - - return this.isOptimalFlowDirection; - } - - private boolean blockBlocksFlow(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockId(var2, var3, var4); - if(var5 != Block.doorWood.blockID && var5 != Block.signStanding.blockID && var5 != Block.ladder.blockID) { - if(var5 == 0) { - return false; - } else { - Material var6 = Block.blocksList[var5].blockMaterial; - return var6.isSolid(); - } - } else { - return true; - } - } - - protected int getSmallestFlowDecay(World var1, int var2, int var3, int var4, int var5) { - int var6 = this.getFlowDecay(var1, var2, var3, var4); - if(var6 < 0) { - return var5; - } else { - if(var6 == 0) { - ++this.numAdjacentSources; - } - - if(var6 >= 8) { - var6 = 0; - } - - return var5 >= 0 && var6 >= var5 ? var5 : var6; - } - } - - private boolean liquidCanDisplaceBlock(World var1, int var2, int var3, int var4) { - Material var5 = var1.getBlockMaterial(var2, var3, var4); - return var5 == this.blockMaterial ? false : (var5 == Material.lava ? false : !this.blockBlocksFlow(var1, var2, var3, var4)); - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - super.onBlockAdded(var1, var2, var3, var4); - if(var1.getBlockId(var2, var3, var4) == this.blockID) { - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID); - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockFluid.java b/src/main/java/net/minecraft/src/BlockFluid.java deleted file mode 100644 index cb56215..0000000 --- a/src/main/java/net/minecraft/src/BlockFluid.java +++ /dev/null @@ -1,273 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public abstract class BlockFluid extends Block { - protected int fluidType = 1; - - protected BlockFluid(int var1, Material var2) { - super(var1, (var2 == Material.lava ? 14 : 12) * 16 + 13, var2); - float var3 = 0.0F; - float var4 = 0.0F; - if(var2 == Material.lava) { - this.fluidType = 2; - } - - this.setBlockBounds(0.0F + var4, 0.0F + var3, 0.0F + var4, 1.0F + var4, 1.0F + var3, 1.0F + var4); - this.setTickOnLoad(true); - } - - public static float getPercentAir(int var0) { - if(var0 >= 8) { - var0 = 0; - } - - float var1 = (float)(var0 + 1) / 9.0F; - return var1; - } - - public int getBlockTextureFromSide(int var1) { - return var1 != 0 && var1 != 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture; - } - - protected int getFlowDecay(World var1, int var2, int var3, int var4) { - return var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial ? -1 : var1.getBlockMetadata(var2, var3, var4); - } - - protected int getEffectiveFlowDecay(IBlockAccess var1, int var2, int var3, int var4) { - if(var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial) { - return -1; - } else { - int var5 = var1.getBlockMetadata(var2, var3, var4); - if(var5 >= 8) { - var5 = 0; - } - - return var5; - } - } - - public boolean renderAsNormalBlock() { - return false; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean canCollideCheck(int var1, boolean var2) { - return var2 && var1 == 0; - } - - public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { - Material var6 = var1.getBlockMaterial(var2, var3, var4); - return var6 == this.blockMaterial ? false : (var5 == 1 ? true : super.shouldSideBeRendered(var1, var2, var3, var4, var5)); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return null; - } - - public int getRenderType() { - return 4; - } - - public int idDropped(int var1, Random var2) { - return 0; - } - - public int quantityDropped(Random var1) { - return 0; - } - - private Vec3D getFlowVector(IBlockAccess var1, int var2, int var3, int var4) { - Vec3D var5 = Vec3D.createVector(0.0D, 0.0D, 0.0D); - int var6 = this.getEffectiveFlowDecay(var1, var2, var3, var4); - - for(int var7 = 0; var7 < 4; ++var7) { - int var8 = var2; - int var10 = var4; - if(var7 == 0) { - var8 = var2 - 1; - } - - if(var7 == 1) { - var10 = var4 - 1; - } - - if(var7 == 2) { - ++var8; - } - - if(var7 == 3) { - ++var10; - } - - int var11 = this.getEffectiveFlowDecay(var1, var8, var3, var10); - int var12; - if(var11 < 0) { - var11 = this.getEffectiveFlowDecay(var1, var8, var3 - 1, var10); - if(var11 >= 0) { - var12 = var11 - (var6 - 8); - var5 = var5.addVector((double)((var8 - var2) * var12), (double)((var3 - var3) * var12), (double)((var10 - var4) * var12)); - } - } else if(var11 >= 0) { - var12 = var11 - var6; - var5 = var5.addVector((double)((var8 - var2) * var12), (double)((var3 - var3) * var12), (double)((var10 - var4) * var12)); - } - } - - if(var1.getBlockMetadata(var2, var3, var4) >= 8) { - boolean var13 = false; - if(var13 || this.shouldSideBeRendered(var1, var2, var3, var4 - 1, 2)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2, var3, var4 + 1, 3)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2 - 1, var3, var4, 4)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2 + 1, var3, var4, 5)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 - 1, 2)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 + 1, 3)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2 - 1, var3 + 1, var4, 4)) { - var13 = true; - } - - if(var13 || this.shouldSideBeRendered(var1, var2 + 1, var3 + 1, var4, 5)) { - var13 = true; - } - - if(var13) { - var5 = var5.normalize().addVector(0.0D, -6.0D, 0.0D); - } - } - - var5 = var5.normalize(); - return var5; - } - - public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) { - Vec3D var7 = this.getFlowVector(var1, var2, var3, var4); - var6.xCoord += var7.xCoord; - var6.yCoord += var7.yCoord; - var6.zCoord += var7.zCoord; - } - - public int tickRate() { - return this.blockMaterial == Material.water ? 5 : (this.blockMaterial == Material.lava ? 30 : 0); - } - - public float getBlockBrightness(IBlockAccess var1, int var2, int var3, int var4) { - float var5 = var1.getBrightness(var2, var3, var4); - float var6 = var1.getBrightness(var2, var3 + 1, var4); - return var5 > var6 ? var5 : var6; - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - super.updateTick(var1, var2, var3, var4, var5); - } - - public int getRenderBlockPass() { - return this.blockMaterial == Material.water ? 1 : 0; - } - - public void randomDisplayTick(World var1, int var2, int var3, int var4, Random var5) { - if(this.blockMaterial == Material.water && var5.nextInt(64) == 0) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var6 > 0 && var6 < 8) { - var1.playSoundEffect((double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), "liquid.water", var5.nextFloat() * 0.25F + 12.0F / 16.0F, var5.nextFloat() * 1.0F + 0.5F); - } - } - - if(this.blockMaterial == Material.lava && var1.getBlockMaterial(var2, var3 + 1, var4) == Material.air && !var1.isBlockNormalCube(var2, var3 + 1, var4) && var5.nextInt(100) == 0) { - double var12 = (double)((float)var2 + var5.nextFloat()); - double var8 = (double)var3 + this.maxY; - double var10 = (double)((float)var4 + var5.nextFloat()); - var1.spawnParticle("lava", var12, var8, var10, 0.0D, 0.0D, 0.0D); - } - - } - - public static double getFlowDirection(IBlockAccess var0, int var1, int var2, int var3, Material var4) { - Vec3D var5 = null; - if(var4 == Material.water) { - var5 = ((BlockFluid)Block.waterMoving).getFlowVector(var0, var1, var2, var3); - } - - if(var4 == Material.lava) { - var5 = ((BlockFluid)Block.lavaMoving).getFlowVector(var0, var1, var2, var3); - } - - return var5.xCoord == 0.0D && var5.zCoord == 0.0D ? -1000.0D : Math.atan2(var5.zCoord, var5.xCoord) - Math.PI * 0.5D; - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - this.checkForHarden(var1, var2, var3, var4); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - this.checkForHarden(var1, var2, var3, var4); - } - - private void checkForHarden(World var1, int var2, int var3, int var4) { - if(var1.getBlockId(var2, var3, var4) == this.blockID) { - if(this.blockMaterial == Material.lava) { - boolean var5 = false; - if(var5 || var1.getBlockMaterial(var2, var3, var4 - 1) == Material.water) { - var5 = true; - } - - if(var5 || var1.getBlockMaterial(var2, var3, var4 + 1) == Material.water) { - var5 = true; - } - - if(var5 || var1.getBlockMaterial(var2 - 1, var3, var4) == Material.water) { - var5 = true; - } - - if(var5 || var1.getBlockMaterial(var2 + 1, var3, var4) == Material.water) { - var5 = true; - } - - if(var5 || var1.getBlockMaterial(var2, var3 + 1, var4) == Material.water) { - var5 = true; - } - - if(var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var6 == 0) { - var1.setBlockWithNotify(var2, var3, var4, Block.obsidian.blockID); - } else if(var6 <= 4) { - var1.setBlockWithNotify(var2, var3, var4, Block.cobblestone.blockID); - } - - this.triggerLavaMixEffects(var1, var2, var3, var4); - } - } - - } - } - - protected void triggerLavaMixEffects(World var1, int var2, int var3, int var4) { - var1.playSoundEffect((double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), "random.fizz", 0.5F, 2.6F + (var1.rand.nextFloat() - var1.rand.nextFloat()) * 0.8F); - - for(int var5 = 0; var5 < 8; ++var5) { - var1.spawnParticle("largesmoke", (double)var2 + Math.random(), (double)var3 + 1.2D, (double)var4 + Math.random(), 0.0D, 0.0D, 0.0D); - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockFurnace.java b/src/main/java/net/minecraft/src/BlockFurnace.java deleted file mode 100644 index 69a78c5..0000000 --- a/src/main/java/net/minecraft/src/BlockFurnace.java +++ /dev/null @@ -1,106 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockFurnace extends BlockContainer { - private final boolean isActive; - - protected BlockFurnace(int var1, boolean var2) { - super(var1, Material.rock); - this.isActive = var2; - this.blockIndexInTexture = 45; - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - super.onBlockAdded(var1, var2, var3, var4); - this.setDefaultDirection(var1, var2, var3, var4); - } - - private void setDefaultDirection(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockId(var2, var3, var4 - 1); - int var6 = var1.getBlockId(var2, var3, var4 + 1); - int var7 = var1.getBlockId(var2 - 1, var3, var4); - int var8 = var1.getBlockId(var2 + 1, var3, var4); - byte var9 = 3; - if(Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) { - var9 = 3; - } - - if(Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) { - var9 = 2; - } - - if(Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) { - var9 = 5; - } - - if(Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) { - var9 = 4; - } - - var1.setBlockMetadataWithNotify(var2, var3, var4, var9); - } - - public int getBlockTextureGeneric(IBlockAccess var1, int var2, int var3, int var4, int var5) { - if(var5 == 1) { - return Block.stone.blockIndexInTexture; - } else if(var5 == 0) { - return Block.stone.blockIndexInTexture; - } else { - int var6 = var1.getBlockMetadata(var2, var3, var4); - return var5 != var6 ? this.blockIndexInTexture : (this.isActive ? this.blockIndexInTexture + 16 : this.blockIndexInTexture - 1); - } - } - - public void randomDisplayTick(World var1, int var2, int var3, int var4, Random var5) { - if(this.isActive) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - float var7 = (float)var2 + 0.5F; - float var8 = (float)var3 + 0.0F + var5.nextFloat() * 6.0F / 16.0F; - float var9 = (float)var4 + 0.5F; - float var10 = 0.52F; - float var11 = var5.nextFloat() * 0.6F - 0.3F; - if(var6 == 4) { - var1.spawnParticle("smoke", (double)(var7 - var10), (double)var8, (double)(var9 + var11), 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)(var7 - var10), (double)var8, (double)(var9 + var11), 0.0D, 0.0D, 0.0D); - } else if(var6 == 5) { - var1.spawnParticle("smoke", (double)(var7 + var10), (double)var8, (double)(var9 + var11), 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)(var7 + var10), (double)var8, (double)(var9 + var11), 0.0D, 0.0D, 0.0D); - } else if(var6 == 2) { - var1.spawnParticle("smoke", (double)(var7 + var11), (double)var8, (double)(var9 - var10), 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)(var7 + var11), (double)var8, (double)(var9 - var10), 0.0D, 0.0D, 0.0D); - } else if(var6 == 3) { - var1.spawnParticle("smoke", (double)(var7 + var11), (double)var8, (double)(var9 + var10), 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)(var7 + var11), (double)var8, (double)(var9 + var10), 0.0D, 0.0D, 0.0D); - } - - } - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 1 ? Block.stone.blockID : (var1 == 0 ? Block.stone.blockID : (var1 == 3 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture)); - } - - public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { - TileEntityFurnace var6 = (TileEntityFurnace)var1.getBlockTileEntity(var2, var3, var4); - var5.displayGUIFurnace(var6); - return true; - } - - public static void updateFurnaceBlockState(boolean var0, World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockMetadata(var2, var3, var4); - TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4); - if(var0) { - var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenActive.blockID); - } else { - var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenIdle.blockID); - } - - var1.setBlockMetadataWithNotify(var2, var3, var4, var5); - var1.setBlockTileEntity(var2, var3, var4, var6); - } - - protected TileEntity getBlockEntity() { - return new TileEntityFurnace(); - } -} diff --git a/src/main/java/net/minecraft/src/BlockGears.java b/src/main/java/net/minecraft/src/BlockGears.java deleted file mode 100644 index a58762f..0000000 --- a/src/main/java/net/minecraft/src/BlockGears.java +++ /dev/null @@ -1,33 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockGears extends Block { - protected BlockGears(int var1, int var2) { - super(var1, var2, Material.circuits); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return null; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 5; - } - - public int quantityDropped(Random var1) { - return 1; - } - - public boolean isCollidable() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/BlockGlass.java b/src/main/java/net/minecraft/src/BlockGlass.java deleted file mode 100644 index c2672d1..0000000 --- a/src/main/java/net/minecraft/src/BlockGlass.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockGlass extends BlockBreakable { - public BlockGlass(int var1, int var2, Material var3, boolean var4) { - super(var1, var2, var3, var4); - } - - public int quantityDropped(Random var1) { - return 0; - } -} diff --git a/src/main/java/net/minecraft/src/BlockGrass.java b/src/main/java/net/minecraft/src/BlockGrass.java deleted file mode 100644 index f9bff22..0000000 --- a/src/main/java/net/minecraft/src/BlockGrass.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockGrass extends Block { - protected BlockGrass(int var1) { - super(var1, Material.ground); - this.blockIndexInTexture = 3; - this.setTickOnLoad(true); - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 1 ? 0 : (var1 == 0 ? 2 : 3); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - if(var1.getBlockLightValue(var2, var3 + 1, var4) < 4 && var1.getBlockMaterial(var2, var3 + 1, var4).getCanBlockGrass()) { - if(var5.nextInt(4) != 0) { - return; - } - - var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); - } else if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) { - int var6 = var2 + var5.nextInt(3) - 1; - int var7 = var3 + var5.nextInt(5) - 3; - int var8 = var4 + var5.nextInt(3) - 1; - if(var1.getBlockId(var6, var7, var8) == Block.dirt.blockID && var1.getBlockLightValue(var6, var7 + 1, var8) >= 4 && !var1.getBlockMaterial(var6, var7 + 1, var8).getCanBlockGrass()) { - var1.setBlockWithNotify(var6, var7, var8, Block.grass.blockID); - } - } - - } - - public int idDropped(int var1, Random var2) { - return Block.dirt.idDropped(0, var2); - } -} diff --git a/src/main/java/net/minecraft/src/BlockGravel.java b/src/main/java/net/minecraft/src/BlockGravel.java deleted file mode 100644 index c0fd641..0000000 --- a/src/main/java/net/minecraft/src/BlockGravel.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockGravel extends BlockSand { - public BlockGravel(int var1, int var2) { - super(var1, var2); - } - - public int idDropped(int var1, Random var2) { - return var2.nextInt(10) == 0 ? Item.flint.shiftedIndex : this.blockID; - } -} diff --git a/src/main/java/net/minecraft/src/BlockLadder.java b/src/main/java/net/minecraft/src/BlockLadder.java deleted file mode 100644 index dfcce6f..0000000 --- a/src/main/java/net/minecraft/src/BlockLadder.java +++ /dev/null @@ -1,121 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockLadder extends Block { - protected BlockLadder(int var1, int var2) { - super(var1, var2, Material.circuits); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockMetadata(var2, var3, var4); - float var6 = 2.0F / 16.0F; - if(var5 == 2) { - this.setBlockBounds(0.0F, 0.0F, 1.0F - var6, 1.0F, 1.0F, 1.0F); - } - - if(var5 == 3) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var6); - } - - if(var5 == 4) { - this.setBlockBounds(1.0F - var6, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - if(var5 == 5) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, var6, 1.0F, 1.0F); - } - - return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); - } - - public AxisAlignedBB getSelectedBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockMetadata(var2, var3, var4); - float var6 = 2.0F / 16.0F; - if(var5 == 2) { - this.setBlockBounds(0.0F, 0.0F, 1.0F - var6, 1.0F, 1.0F, 1.0F); - } - - if(var5 == 3) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var6); - } - - if(var5 == 4) { - this.setBlockBounds(1.0F - var6, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - if(var5 == 5) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, var6, 1.0F, 1.0F); - } - - return super.getSelectedBoundingBoxFromPool(var1, var2, var3, var4); - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 8; - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : var1.isBlockNormalCube(var2, var3, var4 + 1))); - } - - public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if((var6 == 0 || var5 == 2) && var1.isBlockNormalCube(var2, var3, var4 + 1)) { - var6 = 2; - } - - if((var6 == 0 || var5 == 3) && var1.isBlockNormalCube(var2, var3, var4 - 1)) { - var6 = 3; - } - - if((var6 == 0 || var5 == 4) && var1.isBlockNormalCube(var2 + 1, var3, var4)) { - var6 = 4; - } - - if((var6 == 0 || var5 == 5) && var1.isBlockNormalCube(var2 - 1, var3, var4)) { - var6 = 5; - } - - var1.setBlockMetadataWithNotify(var2, var3, var4, var6); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - boolean var7 = false; - if(var6 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) { - var7 = true; - } - - if(var6 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) { - var7 = true; - } - - if(var6 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) { - var7 = true; - } - - if(var6 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) { - var7 = true; - } - - if(!var7) { - this.dropBlockAsItem(var1, var2, var3, var4, var6); - var1.setBlockWithNotify(var2, var3, var4, 0); - } - - super.onNeighborBlockChange(var1, var2, var3, var4, var5); - } - - public int quantityDropped(Random var1) { - return 1; - } -} diff --git a/src/main/java/net/minecraft/src/BlockLeaves.java b/src/main/java/net/minecraft/src/BlockLeaves.java deleted file mode 100644 index d79b80e..0000000 --- a/src/main/java/net/minecraft/src/BlockLeaves.java +++ /dev/null @@ -1,53 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockLeaves extends BlockLeavesBase { - private int leafTexIndex; - - protected BlockLeaves(int var1, int var2) { - super(var1, var2, Material.leaves, false); - this.leafTexIndex = var2; - this.setTickOnLoad(true); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - if(!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) { - byte var6 = 2; - - for(int var7 = var2 - var6; var7 <= var2 + var6; ++var7) { - for(int var8 = var3 - 1; var8 <= var3 + 1; ++var8) { - for(int var9 = var4 - var6; var9 <= var4 + var6; ++var9) { - if(var1.getBlockId(var7, var8, var9) == Block.wood.blockID) { - return; - } - } - } - } - - this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - var1.setBlockWithNotify(var2, var3, var4, 0); - } - } - - public int quantityDropped(Random var1) { - return var1.nextInt(10) == 0 ? 1 : 0; - } - - public int idDropped(int var1, Random var2) { - return Block.sapling.blockID; - } - - public boolean isOpaqueCube() { - return !this.graphicsLevel; - } - - public void setGraphicsLevel(boolean var1) { - this.graphicsLevel = var1; - this.blockIndexInTexture = this.leafTexIndex + (var1 ? 0 : 1); - } - - public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { - super.onEntityWalking(var1, var2, var3, var4, var5); - } -} diff --git a/src/main/java/net/minecraft/src/BlockLeavesBase.java b/src/main/java/net/minecraft/src/BlockLeavesBase.java deleted file mode 100644 index c719d88..0000000 --- a/src/main/java/net/minecraft/src/BlockLeavesBase.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.minecraft.src; - -public class BlockLeavesBase extends Block { - protected boolean graphicsLevel; - - protected BlockLeavesBase(int var1, int var2, Material var3, boolean var4) { - super(var1, var2, var3); - this.graphicsLevel = var4; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockId(var2, var3, var4); - return !this.graphicsLevel && var6 == this.blockID ? false : super.shouldSideBeRendered(var1, var2, var3, var4, var5); - } -} diff --git a/src/main/java/net/minecraft/src/BlockLog.java b/src/main/java/net/minecraft/src/BlockLog.java deleted file mode 100644 index 357e5a0..0000000 --- a/src/main/java/net/minecraft/src/BlockLog.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockLog extends Block { - protected BlockLog(int var1) { - super(var1, Material.wood); - this.blockIndexInTexture = 20; - } - - public int quantityDropped(Random var1) { - return 1; - } - - public int idDropped(int var1, Random var2) { - return Block.wood.blockID; - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 1 ? 21 : (var1 == 0 ? 21 : 20); - } -} diff --git a/src/main/java/net/minecraft/src/BlockMinecartTrack.java b/src/main/java/net/minecraft/src/BlockMinecartTrack.java deleted file mode 100644 index 6566102..0000000 --- a/src/main/java/net/minecraft/src/BlockMinecartTrack.java +++ /dev/null @@ -1,92 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockMinecartTrack extends Block { - protected BlockMinecartTrack(int var1, int var2) { - super(var1, var2, Material.circuits); - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return null; - } - - public boolean isOpaqueCube() { - return false; - } - - public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { - this.setBlockBoundsBasedOnState(var1, var2, var3, var4); - return super.collisionRayTrace(var1, var2, var3, var4, var5, var6); - } - - public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { - int var5 = var1.getBlockMetadata(var2, var3, var4); - if(var5 >= 2 && var5 <= 5) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 10.0F / 16.0F, 1.0F); - } else { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F); - } - - } - - public int getBlockTextureFromSideAndMetadata(int var1, int var2) { - return var2 >= 6 ? this.blockIndexInTexture - 16 : this.blockIndexInTexture; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 9; - } - - public int quantityDropped(Random var1) { - return 1; - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return var1.isBlockNormalCube(var2, var3 - 1, var4); - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 15); - this.refreshTrackShape(var1, var2, var3, var4); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - boolean var7 = false; - if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) { - var7 = true; - } - - if(var6 == 2 && !var1.isBlockNormalCube(var2 + 1, var3, var4)) { - var7 = true; - } - - if(var6 == 3 && !var1.isBlockNormalCube(var2 - 1, var3, var4)) { - var7 = true; - } - - if(var6 == 4 && !var1.isBlockNormalCube(var2, var3, var4 - 1)) { - var7 = true; - } - - if(var6 == 5 && !var1.isBlockNormalCube(var2, var3, var4 + 1)) { - var7 = true; - } - - if(var7) { - this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - var1.setBlockWithNotify(var2, var3, var4, 0); - } - - } - - private void refreshTrackShape(World var1, int var2, int var3, int var4) { - (new MinecartTrackLogic(this, var1, var2, var3, var4)).place(); - } -} diff --git a/src/main/java/net/minecraft/src/BlockMobSpawner.java b/src/main/java/net/minecraft/src/BlockMobSpawner.java deleted file mode 100644 index b845263..0000000 --- a/src/main/java/net/minecraft/src/BlockMobSpawner.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public class BlockMobSpawner extends BlockContainer { - protected BlockMobSpawner(int var1, int var2) { - super(var1, var2, Material.rock); - } - - protected TileEntity getBlockEntity() { - return new TileEntityMobSpawner(); - } - - public boolean isOpaqueCube() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/BlockMushroom.java b/src/main/java/net/minecraft/src/BlockMushroom.java deleted file mode 100644 index f129b7b..0000000 --- a/src/main/java/net/minecraft/src/BlockMushroom.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class BlockMushroom extends BlockFlower { - protected BlockMushroom(int var1, int var2) { - super(var1, var2); - float var3 = 0.2F; - this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3); - } - - protected boolean canThisPlantGrowOnThisBlockID(int var1) { - return Block.opaqueCubeLookup[var1]; - } - - public boolean canBlockStay(World var1, int var2, int var3, int var4) { - return var1.getBlockLightValue(var2, var3, var4) <= 13 && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)); - } -} diff --git a/src/main/java/net/minecraft/src/BlockObsidian.java b/src/main/java/net/minecraft/src/BlockObsidian.java deleted file mode 100644 index c75b227..0000000 --- a/src/main/java/net/minecraft/src/BlockObsidian.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockObsidian extends BlockStone { - public BlockObsidian(int var1, int var2) { - super(var1, var2); - } - - public int quantityDropped(Random var1) { - return 1; - } - - public int idDropped(int var1, Random var2) { - return Block.obsidian.blockID; - } -} diff --git a/src/main/java/net/minecraft/src/BlockOre.java b/src/main/java/net/minecraft/src/BlockOre.java deleted file mode 100644 index a66fd91..0000000 --- a/src/main/java/net/minecraft/src/BlockOre.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockOre extends Block { - public BlockOre(int var1, int var2) { - super(var1, var2, Material.rock); - } - - public int idDropped(int var1, Random var2) { - return this.blockID == Block.oreCoal.blockID ? Item.coal.shiftedIndex : (this.blockID == Block.oreDiamond.blockID ? Item.diamond.shiftedIndex : this.blockID); - } - - public int quantityDropped(Random var1) { - return 1; - } -} diff --git a/src/main/java/net/minecraft/src/BlockOreBlock.java b/src/main/java/net/minecraft/src/BlockOreBlock.java deleted file mode 100644 index 5655234..0000000 --- a/src/main/java/net/minecraft/src/BlockOreBlock.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.minecraft.src; - -public class BlockOreBlock extends Block { - public BlockOreBlock(int var1, int var2) { - super(var1, Material.iron); - this.blockIndexInTexture = var2; - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture); - } -} diff --git a/src/main/java/net/minecraft/src/BlockSand.java b/src/main/java/net/minecraft/src/BlockSand.java deleted file mode 100644 index 451a32e..0000000 --- a/src/main/java/net/minecraft/src/BlockSand.java +++ /dev/null @@ -1,53 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockSand extends Block { - public static boolean fallInstantly = false; - - public BlockSand(int var1, int var2) { - super(var1, var2, Material.sand); - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - this.tryToFall(var1, var2, var3, var4); - } - - private void tryToFall(World var1, int var2, int var3, int var4) { - if(canFallBelow(var1, var2, var3 - 1, var4) && var3 >= 0) { - EntityFallingSand var8 = new EntityFallingSand(var1, (float)var2 + 0.5F, (float)var3 + 0.5F, (float)var4 + 0.5F, this.blockID); - if(fallInstantly) { - while(!var8.isDead) { - var8.onUpdate(); - } - } else { - var1.spawnEntityInWorld(var8); - } - } - - } - - public int tickRate() { - return 3; - } - - public static boolean canFallBelow(World var0, int var1, int var2, int var3) { - int var4 = var0.getBlockId(var1, var2, var3); - if(var4 == 0) { - return true; - } else if(var4 == Block.fire.blockID) { - return true; - } else { - Material var5 = Block.blocksList[var4].blockMaterial; - return var5 == Material.water ? true : var5 == Material.lava; - } - } -} diff --git a/src/main/java/net/minecraft/src/BlockSapling.java b/src/main/java/net/minecraft/src/BlockSapling.java deleted file mode 100644 index 7d13f83..0000000 --- a/src/main/java/net/minecraft/src/BlockSapling.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockSapling extends BlockFlower { - protected BlockSapling(int var1, int var2) { - super(var1, var2); - float var3 = 0.4F; - this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - super.updateTick(var1, var2, var3, var4, var5); - if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9 && var5.nextInt(5) == 0) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var6 < 15) { - var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + 1); - } else { - var1.setBlock(var2, var3, var4, 0); - WorldGenTrees var7 = new WorldGenTrees(); - if(!var7.generate(var1, var5, var2, var3, var4)) { - var1.setBlock(var2, var3, var4, this.blockID); - } - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockSign.java b/src/main/java/net/minecraft/src/BlockSign.java deleted file mode 100644 index 03b8536..0000000 --- a/src/main/java/net/minecraft/src/BlockSign.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockSign extends BlockContainer { - private Class signEntityClass; - private int itemDropID; - - protected BlockSign(int var1, Class var2, int var3) { - super(var1, Material.wood); - this.blockIndexInTexture = 4; - this.signEntityClass = var2; - float var4 = 0.25F; - float var5 = 1.625F; - this.setBlockBounds(0.5F - var4, 0.0F, 0.5F - var4, 0.5F + var4, var5, 0.5F + var4); - this.itemDropID = var3; - } - - public int getRenderType() { - return -1; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public boolean isOpaqueCube() { - return false; - } - - protected TileEntity getBlockEntity() { - try { - return (TileEntity)this.signEntityClass.newInstance(); - } catch (Exception var2) { - throw new RuntimeException(var2); - } - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return super.canPlaceBlockAt(var1, var2, var3, var4) && super.canPlaceBlockAt(var1, var2, var3 + 1, var4); - } - - public int idDropped(int var1, Random var2) { - return this.itemDropID; - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) { - this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - var1.setBlockWithNotify(var2, var3, var4, 0); - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockSponge.java b/src/main/java/net/minecraft/src/BlockSponge.java deleted file mode 100644 index d8a441d..0000000 --- a/src/main/java/net/minecraft/src/BlockSponge.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.minecraft.src; - -public class BlockSponge extends Block { - protected BlockSponge(int var1) { - super(var1, Material.sponge); - this.blockIndexInTexture = 48; - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - byte var5 = 2; - - for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) { - for(int var7 = var3 - var5; var7 <= var3 + var5; ++var7) { - for(int var8 = var4 - var5; var8 <= var4 + var5; ++var8) { - if(var1.getBlockMaterial(var6, var7, var8) == Material.water) { - } - } - } - } - - } - - public void onBlockRemoval(World var1, int var2, int var3, int var4) { - byte var5 = 2; - - for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) { - for(int var7 = var3 - var5; var7 <= var3 + var5; ++var7) { - for(int var8 = var4 - var5; var8 <= var4 + var5; ++var8) { - var1.notifyBlocksOfNeighborChange(var6, var7, var8, var1.getBlockId(var6, var7, var8)); - } - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockStairs.java b/src/main/java/net/minecraft/src/BlockStairs.java deleted file mode 100644 index aec58f7..0000000 --- a/src/main/java/net/minecraft/src/BlockStairs.java +++ /dev/null @@ -1,249 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.Random; - -public class BlockStairs extends Block { - private Block modelBlock; - - protected BlockStairs(int var1, Block var2) { - super(var1, var2.blockIndexInTexture, var2.blockMaterial); - this.modelBlock = var2; - this.setHardness(var2.blockHardness); - this.setResistance(var2.blockResistance / 3.0F); - this.setStepSound(var2.stepSound); - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 10; - } - - public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { - return super.shouldSideBeRendered(var1, var2, var3, var4, var5); - } - - public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) { - int var7 = var1.getBlockMetadata(var2, var3, var4); - if(var7 == 0) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - } else if(var7 == 1) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - } else if(var7 == 2) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - } else if(var7 == 3) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F); - super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); - } - - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - if(var1.getBlockMaterial(var2, var3 + 1, var4).isSolid()) { - var1.setBlockWithNotify(var2, var3, var4, this.modelBlock.blockID); - } else { - this.updateState(var1, var2, var3, var4); - this.updateState(var1, var2 + 1, var3 - 1, var4); - this.updateState(var1, var2 - 1, var3 - 1, var4); - this.updateState(var1, var2, var3 - 1, var4 - 1); - this.updateState(var1, var2, var3 - 1, var4 + 1); - this.updateState(var1, var2 + 1, var3 + 1, var4); - this.updateState(var1, var2 - 1, var3 + 1, var4); - this.updateState(var1, var2, var3 + 1, var4 - 1); - this.updateState(var1, var2, var3 + 1, var4 + 1); - } - - this.modelBlock.onNeighborBlockChange(var1, var2, var3, var4, var5); - } - - private void updateState(World var1, int var2, int var3, int var4) { - if(this.isBlockStair(var1, var2, var3, var4)) { - byte var5 = -1; - if(this.isBlockStair(var1, var2 + 1, var3 + 1, var4)) { - var5 = 0; - } - - if(this.isBlockStair(var1, var2 - 1, var3 + 1, var4)) { - var5 = 1; - } - - if(this.isBlockStair(var1, var2, var3 + 1, var4 + 1)) { - var5 = 2; - } - - if(this.isBlockStair(var1, var2, var3 + 1, var4 - 1)) { - var5 = 3; - } - - if(var5 < 0) { - if(this.isBlockSolid(var1, var2 + 1, var3, var4) && !this.isBlockSolid(var1, var2 - 1, var3, var4)) { - var5 = 0; - } - - if(this.isBlockSolid(var1, var2 - 1, var3, var4) && !this.isBlockSolid(var1, var2 + 1, var3, var4)) { - var5 = 1; - } - - if(this.isBlockSolid(var1, var2, var3, var4 + 1) && !this.isBlockSolid(var1, var2, var3, var4 - 1)) { - var5 = 2; - } - - if(this.isBlockSolid(var1, var2, var3, var4 - 1) && !this.isBlockSolid(var1, var2, var3, var4 + 1)) { - var5 = 3; - } - } - - if(var5 < 0) { - if(this.isBlockStair(var1, var2 - 1, var3 - 1, var4)) { - var5 = 0; - } - - if(this.isBlockStair(var1, var2 + 1, var3 - 1, var4)) { - var5 = 1; - } - - if(this.isBlockStair(var1, var2, var3 - 1, var4 - 1)) { - var5 = 2; - } - - if(this.isBlockStair(var1, var2, var3 - 1, var4 + 1)) { - var5 = 3; - } - } - - if(var5 >= 0) { - var1.setBlockMetadataWithNotify(var2, var3, var4, var5); - } - - } - } - - private boolean isBlockSolid(World var1, int var2, int var3, int var4) { - return var1.getBlockMaterial(var2, var3, var4).isSolid(); - } - - private boolean isBlockStair(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockId(var2, var3, var4); - return var5 == 0 ? false : Block.blocksList[var5].getRenderType() == 10; - } - - public void randomDisplayTick(World var1, int var2, int var3, int var4, Random var5) { - this.modelBlock.randomDisplayTick(var1, var2, var3, var4, var5); - } - - public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { - this.modelBlock.onBlockClicked(var1, var2, var3, var4, var5); - } - - public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) { - this.modelBlock.onBlockDestroyedByPlayer(var1, var2, var3, var4, var5); - } - - public float getBlockBrightness(IBlockAccess var1, int var2, int var3, int var4) { - return this.modelBlock.getBlockBrightness(var1, var2, var3, var4); - } - - public float getExplosionResistance(Entity var1) { - return this.modelBlock.getExplosionResistance(var1); - } - - public int getRenderBlockPass() { - return this.modelBlock.getRenderBlockPass(); - } - - public int idDropped(int var1, Random var2) { - return this.modelBlock.idDropped(var1, var2); - } - - public int quantityDropped(Random var1) { - return this.modelBlock.quantityDropped(var1); - } - - public int getBlockTextureFromSideAndMetadata(int var1, int var2) { - return this.modelBlock.getBlockTextureFromSideAndMetadata(var1, var2); - } - - public int getBlockTextureFromSide(int var1) { - return this.modelBlock.getBlockTextureFromSide(var1); - } - - public int getBlockTextureGeneric(IBlockAccess var1, int var2, int var3, int var4, int var5) { - return this.modelBlock.getBlockTextureGeneric(var1, var2, var3, var4, var5); - } - - public int tickRate() { - return this.modelBlock.tickRate(); - } - - public AxisAlignedBB getSelectedBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return this.modelBlock.getSelectedBoundingBoxFromPool(var1, var2, var3, var4); - } - - public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) { - this.modelBlock.velocityToAddToEntity(var1, var2, var3, var4, var5, var6); - } - - public boolean isCollidable() { - return this.modelBlock.isCollidable(); - } - - public boolean canCollideCheck(int var1, boolean var2) { - return this.modelBlock.canCollideCheck(var1, var2); - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return this.modelBlock.canPlaceBlockAt(var1, var2, var3, var4); - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - this.onNeighborBlockChange(var1, var2, var3, var4, 0); - this.modelBlock.onBlockAdded(var1, var2, var3, var4); - } - - public void onBlockRemoval(World var1, int var2, int var3, int var4) { - this.modelBlock.onBlockRemoval(var1, var2, var3, var4); - } - - public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { - this.modelBlock.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6); - } - - public void dropBlockAsItem(World var1, int var2, int var3, int var4, int var5) { - this.modelBlock.dropBlockAsItem(var1, var2, var3, var4, var5); - } - - public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { - this.modelBlock.onEntityWalking(var1, var2, var3, var4, var5); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - this.modelBlock.updateTick(var1, var2, var3, var4, var5); - } - - public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { - return this.modelBlock.blockActivated(var1, var2, var3, var4, var5); - } - - public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) { - this.modelBlock.onBlockDestroyedByExplosion(var1, var2, var3, var4); - } -} diff --git a/src/main/java/net/minecraft/src/BlockStationary.java b/src/main/java/net/minecraft/src/BlockStationary.java deleted file mode 100644 index 12332ea..0000000 --- a/src/main/java/net/minecraft/src/BlockStationary.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.minecraft.src; - -public class BlockStationary extends BlockFluid { - protected BlockStationary(int var1, Material var2) { - super(var1, var2); - this.setTickOnLoad(false); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - super.onNeighborBlockChange(var1, var2, var3, var4, var5); - if(var1.getBlockId(var2, var3, var4) == this.blockID) { - this.updateTick(var1, var2, var3, var4); - } - - } - - private void updateTick(World var1, int var2, int var3, int var4) { - int var5 = var1.getBlockMetadata(var2, var3, var4); - var1.editingBlocks = true; - var1.setBlockAndMetadata(var2, var3, var4, this.blockID - 1, var5); - var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); - var1.scheduleBlockUpdate(var2, var3, var4, this.blockID - 1); - var1.editingBlocks = false; - } -} diff --git a/src/main/java/net/minecraft/src/BlockStep.java b/src/main/java/net/minecraft/src/BlockStep.java deleted file mode 100644 index c9e7fce..0000000 --- a/src/main/java/net/minecraft/src/BlockStep.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockStep extends Block { - private boolean blockType; - - public BlockStep(int var1, boolean var2) { - super(var1, 6, Material.rock); - this.blockType = var2; - if(!var2) { - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - } - - this.setLightOpacity(255); - } - - public int getBlockTextureFromSide(int var1) { - return var1 <= 1 ? 6 : 5; - } - - public boolean isOpaqueCube() { - return this.blockType; - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - if(this == Block.stairSingle) { - } - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - if(this != Block.stairSingle) { - super.onBlockAdded(var1, var2, var3, var4); - } - - int var5 = var1.getBlockId(var2, var3 - 1, var4); - if(var5 == stairSingle.blockID) { - var1.setBlockWithNotify(var2, var3, var4, 0); - var1.setBlockWithNotify(var2, var3 - 1, var4, Block.stairDouble.blockID); - } - - } - - public int idDropped(int var1, Random var2) { - return Block.stairSingle.blockID; - } - - public boolean renderAsNormalBlock() { - return this.blockType; - } - - public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { - if(this != Block.stairSingle) { - super.shouldSideBeRendered(var1, var2, var3, var4, var5); - } - - return var5 == 1 ? true : (!super.shouldSideBeRendered(var1, var2, var3, var4, var5) ? false : (var5 == 0 ? true : var1.getBlockId(var2, var3, var4) != this.blockID)); - } -} diff --git a/src/main/java/net/minecraft/src/BlockStone.java b/src/main/java/net/minecraft/src/BlockStone.java deleted file mode 100644 index eae4ecd..0000000 --- a/src/main/java/net/minecraft/src/BlockStone.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockStone extends Block { - public BlockStone(int var1, int var2) { - super(var1, var2, Material.rock); - } - - public int idDropped(int var1, Random var2) { - return Block.cobblestone.blockID; - } -} diff --git a/src/main/java/net/minecraft/src/BlockTNT.java b/src/main/java/net/minecraft/src/BlockTNT.java deleted file mode 100644 index aa103d5..0000000 --- a/src/main/java/net/minecraft/src/BlockTNT.java +++ /dev/null @@ -1,29 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockTNT extends Block { - public BlockTNT(int var1, int var2) { - super(var1, var2, Material.tnt); - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 0 ? this.blockIndexInTexture + 2 : (var1 == 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture); - } - - public int quantityDropped(Random var1) { - return 0; - } - - public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) { - EntityTNTPrimed var5 = new EntityTNTPrimed(var1, (float)var2 + 0.5F, (float)var3 + 0.5F, (float)var4 + 0.5F); - var5.fuse = var1.rand.nextInt(var5.fuse / 4) + var5.fuse / 8; - var1.spawnEntityInWorld(var5); - } - - public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) { - EntityTNTPrimed var6 = new EntityTNTPrimed(var1, (float)var2 + 0.5F, (float)var3 + 0.5F, (float)var4 + 0.5F); - var1.spawnEntityInWorld(var6); - var1.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F); - } -} diff --git a/src/main/java/net/minecraft/src/BlockTorch.java b/src/main/java/net/minecraft/src/BlockTorch.java deleted file mode 100644 index a099e4a..0000000 --- a/src/main/java/net/minecraft/src/BlockTorch.java +++ /dev/null @@ -1,166 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class BlockTorch extends Block { - protected BlockTorch(int var1, int var2) { - super(var1, var2, Material.circuits); - this.setTickOnLoad(true); - } - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { - return null; - } - - public boolean isOpaqueCube() { - return false; - } - - public boolean renderAsNormalBlock() { - return false; - } - - public int getRenderType() { - return 2; - } - - public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { - return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : var1.isBlockNormalCube(var2, var3 - 1, var4)))); - } - - public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - if(var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4)) { - var6 = 5; - } - - if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) { - var6 = 4; - } - - if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) { - var6 = 3; - } - - if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) { - var6 = 2; - } - - if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) { - var6 = 1; - } - - var1.setBlockMetadataWithNotify(var2, var3, var4, var6); - } - - public void updateTick(World var1, int var2, int var3, int var4, Random var5) { - super.updateTick(var1, var2, var3, var4, var5); - if(var1.getBlockMetadata(var2, var3, var4) == 0) { - this.onBlockAdded(var1, var2, var3, var4); - } - - } - - public void onBlockAdded(World var1, int var2, int var3, int var4) { - if(var1.isBlockNormalCube(var2 - 1, var3, var4)) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 1); - } else if(var1.isBlockNormalCube(var2 + 1, var3, var4)) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 2); - } else if(var1.isBlockNormalCube(var2, var3, var4 - 1)) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 3); - } else if(var1.isBlockNormalCube(var2, var3, var4 + 1)) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 4); - } else if(var1.isBlockNormalCube(var2, var3 - 1, var4)) { - var1.setBlockMetadataWithNotify(var2, var3, var4, 5); - } - - this.dropTorchIfCantStay(var1, var2, var3, var4); - } - - public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { - if(this.dropTorchIfCantStay(var1, var2, var3, var4)) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - boolean var7 = false; - if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) { - var7 = true; - } - - if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) { - var7 = true; - } - - if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) { - var7 = true; - } - - if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) { - var7 = true; - } - - if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 5) { - var7 = true; - } - - if(var7) { - this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - var1.setBlockWithNotify(var2, var3, var4, 0); - } - } - - } - - private boolean dropTorchIfCantStay(World var1, int var2, int var3, int var4) { - if(!this.canPlaceBlockAt(var1, var2, var3, var4)) { - this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); - var1.setBlockWithNotify(var2, var3, var4, 0); - return false; - } else { - return true; - } - } - - public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { - int var7 = var1.getBlockMetadata(var2, var3, var4); - float var8 = 0.15F; - if(var7 == 1) { - this.setBlockBounds(0.0F, 0.2F, 0.5F - var8, var8 * 2.0F, 0.8F, 0.5F + var8); - } else if(var7 == 2) { - this.setBlockBounds(1.0F - var8 * 2.0F, 0.2F, 0.5F - var8, 1.0F, 0.8F, 0.5F + var8); - } else if(var7 == 3) { - this.setBlockBounds(0.5F - var8, 0.2F, 0.0F, 0.5F + var8, 0.8F, var8 * 2.0F); - } else if(var7 == 4) { - this.setBlockBounds(0.5F - var8, 0.2F, 1.0F - var8 * 2.0F, 0.5F + var8, 0.8F, 1.0F); - } else { - var8 = 0.1F; - this.setBlockBounds(0.5F - var8, 0.0F, 0.5F - var8, 0.5F + var8, 0.6F, 0.5F + var8); - } - - return super.collisionRayTrace(var1, var2, var3, var4, var5, var6); - } - - public void randomDisplayTick(World var1, int var2, int var3, int var4, Random var5) { - int var6 = var1.getBlockMetadata(var2, var3, var4); - float var7 = (float)var2 + 0.5F; - float var8 = (float)var3 + 0.7F; - float var9 = (float)var4 + 0.5F; - float var10 = 0.22F; - float var11 = 0.27F; - if(var6 == 1) { - var1.spawnParticle("smoke", (double)(var7 - var11), (double)(var8 + var10), (double)var9, 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)(var7 - var11), (double)(var8 + var10), (double)var9, 0.0D, 0.0D, 0.0D); - } else if(var6 == 2) { - var1.spawnParticle("smoke", (double)(var7 + var11), (double)(var8 + var10), (double)var9, 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)(var7 + var11), (double)(var8 + var10), (double)var9, 0.0D, 0.0D, 0.0D); - } else if(var6 == 3) { - var1.spawnParticle("smoke", (double)var7, (double)(var8 + var10), (double)(var9 - var11), 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)var7, (double)(var8 + var10), (double)(var9 - var11), 0.0D, 0.0D, 0.0D); - } else if(var6 == 4) { - var1.spawnParticle("smoke", (double)var7, (double)(var8 + var10), (double)(var9 + var11), 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)var7, (double)(var8 + var10), (double)(var9 + var11), 0.0D, 0.0D, 0.0D); - } else { - var1.spawnParticle("smoke", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - var1.spawnParticle("flame", (double)var7, (double)var8, (double)var9, 0.0D, 0.0D, 0.0D); - } - - } -} diff --git a/src/main/java/net/minecraft/src/BlockWorkbench.java b/src/main/java/net/minecraft/src/BlockWorkbench.java deleted file mode 100644 index 8b02c5f..0000000 --- a/src/main/java/net/minecraft/src/BlockWorkbench.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class BlockWorkbench extends Block { - protected BlockWorkbench(int var1) { - super(var1, Material.wood); - this.blockIndexInTexture = 59; - } - - public int getBlockTextureFromSide(int var1) { - return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? Block.planks.getBlockTextureFromSide(0) : (var1 != 2 && var1 != 4 ? this.blockIndexInTexture : this.blockIndexInTexture + 1)); - } - - public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { - var5.displayWorkbenchGUI(); - return true; - } -} diff --git a/src/main/java/net/minecraft/src/ChatLine.java b/src/main/java/net/minecraft/src/ChatLine.java deleted file mode 100644 index 98635da..0000000 --- a/src/main/java/net/minecraft/src/ChatLine.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -public class ChatLine { - public String message; - public int updateCounter; - - public ChatLine(String var1) { - this.message = var1; - this.updateCounter = 0; - } -} diff --git a/src/main/java/net/minecraft/src/Chunk.java b/src/main/java/net/minecraft/src/Chunk.java deleted file mode 100644 index 56f534b..0000000 --- a/src/main/java/net/minecraft/src/Chunk.java +++ /dev/null @@ -1,473 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class Chunk { - public static boolean isLit; - public byte[] blocks; - public boolean isChunkLoaded; - public World worldObj; - public NibbleArray data; - public NibbleArray skylightMap; - public NibbleArray blocklightMap; - public byte[] heightMap; - public int height; - public final int xPosition; - public final int zPosition; - public Map chunkTileEntityMap; - public List[] entities; - public boolean isTerrainPopulated; - public boolean isModified; - public boolean neverSave; - public boolean isChunkRendered; - public boolean hasEntities; - public long lastSaveTime; - - public Chunk(World var1, int var2, int var3) { - this.chunkTileEntityMap = new HashMap(); - this.entities = new List[8]; - this.isTerrainPopulated = false; - this.isModified = false; - this.isChunkRendered = false; - this.hasEntities = false; - this.lastSaveTime = 0L; - this.worldObj = var1; - this.xPosition = var2; - this.zPosition = var3; - this.heightMap = new byte[256]; - - for(int var4 = 0; var4 < this.entities.length; ++var4) { - this.entities[var4] = new ArrayList(); - } - - } - - public Chunk(World var1, byte[] var2, int var3, int var4) { - this(var1, var3, var4); - this.blocks = var2; - this.data = new NibbleArray(var2.length); - this.skylightMap = new NibbleArray(var2.length); - this.blocklightMap = new NibbleArray(var2.length); - } - - public boolean isAtLocation(int var1, int var2) { - return var1 == this.xPosition && var2 == this.zPosition; - } - - public int getHeightValue(int var1, int var2) { - return this.heightMap[var2 << 4 | var1] & 255; - } - - public void doNothing() { - } - - public void generateHeightMap() { - int var1 = 127; - - int var2; - int var3; - for(var2 = 0; var2 < 16; ++var2) { - for(var3 = 0; var3 < 16; ++var3) { - this.heightMap[var3 << 4 | var2] = -128; - this.relightBlock(var2, 127, var3); - if((this.heightMap[var3 << 4 | var2] & 255) < var1) { - var1 = this.heightMap[var3 << 4 | var2] & 255; - } - } - } - - this.height = var1; - - for(var2 = 0; var2 < 16; ++var2) { - for(var3 = 0; var3 < 16; ++var3) { - this.updateSkylight_do(var2, var3); - } - } - - this.isModified = true; - } - - private void updateSkylight_do(int var1, int var2) { - int var3 = this.getHeightValue(var1, var2); - int var4 = this.xPosition * 16 + var1; - int var5 = this.zPosition * 16 + var2; - this.checkSkylightNeighborHeight(var4 - 1, var5, var3); - this.checkSkylightNeighborHeight(var4 + 1, var5, var3); - this.checkSkylightNeighborHeight(var4, var5 - 1, var3); - this.checkSkylightNeighborHeight(var4, var5 + 1, var3); - } - - private void checkSkylightNeighborHeight(int var1, int var2, int var3) { - int var4 = this.worldObj.getHeightValue(var1, var2); - if(var4 > var3) { - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Sky, var1, var3, var2, var1, var4, var2); - } else if(var4 < var3) { - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Sky, var1, var4, var2, var1, var3, var2); - } - - this.isModified = true; - } - - private void relightBlock(int var1, int var2, int var3) { - int var4 = this.heightMap[var3 << 4 | var1] & 255; - int var5 = var4; - if(var2 > var4) { - var5 = var2; - } - - while(var5 > 0 && Block.lightOpacity[this.getBlockID(var1, var5 - 1, var3)] == 0) { - --var5; - } - - if(var5 != var4) { - this.worldObj.markBlockAsNeedsUpdate(var1, var3, var5, var4); - this.heightMap[var3 << 4 | var1] = (byte)var5; - int var6; - int var7; - int var8; - if(var5 < this.height) { - this.height = var5; - } else { - var6 = 127; - - for(var7 = 0; var7 < 16; ++var7) { - for(var8 = 0; var8 < 16; ++var8) { - if((this.heightMap[var8 << 4 | var7] & 255) < var6) { - var6 = this.heightMap[var8 << 4 | var7] & 255; - } - } - } - - this.height = var6; - } - - var6 = this.xPosition * 16 + var1; - var7 = this.zPosition * 16 + var3; - if(var5 < var4) { - for(var8 = var5; var8 < var4; ++var8) { - this.skylightMap.set(var1, var8, var3, 15); - } - } else { - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Sky, var6, var4, var7, var6, var5, var7); - - for(var8 = var4; var8 < var5; ++var8) { - this.skylightMap.set(var1, var8, var3, 0); - } - } - - var8 = 15; - - int var9; - for(var9 = var5; var5 > 0 && var8 > 0; this.skylightMap.set(var1, var5, var3, var8)) { - --var5; - int var10 = Block.lightOpacity[this.getBlockID(var1, var5, var3)]; - if(var10 == 0) { - var10 = 1; - } - - var8 -= var10; - if(var8 < 0) { - var8 = 0; - } - } - - while(var5 > 0 && Block.lightOpacity[this.getBlockID(var1, var5 - 1, var3)] == 0) { - --var5; - } - - if(var5 != var9) { - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Sky, var6 - 1, var5, var7 - 1, var6 + 1, var9, var7 + 1); - } - - this.isModified = true; - } - } - - public int getBlockID(int var1, int var2, int var3) { - return this.blocks[var1 << 11 | var3 << 7 | var2]; - } - - public boolean setBlockIDWithMetadata(int var1, int var2, int var3, int var4, int var5) { - byte var6 = (byte)var4; - int var7 = this.heightMap[var3 << 4 | var1] & 255; - int var8 = this.blocks[var1 << 11 | var3 << 7 | var2] & 255; - if(var8 == var4) { - return false; - } else { - int var9 = this.xPosition * 16 + var1; - int var10 = this.zPosition * 16 + var3; - this.blocks[var1 << 11 | var3 << 7 | var2] = var6; - if(var8 != 0) { - Block.blocksList[var8].onBlockRemoval(this.worldObj, var9, var2, var10); - } - - this.data.set(var1, var2, var3, var5); - if(Block.lightOpacity[var6] != 0) { - if(var2 >= var7) { - this.relightBlock(var1, var2 + 1, var3); - } - } else if(var2 == var7 - 1) { - this.relightBlock(var1, var2, var3); - } - - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Sky, var9, var2, var10, var9, var2, var10); - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Block, var9, var2, var10, var9, var2, var10); - this.updateSkylight_do(var1, var3); - if(var4 != 0) { - Block.blocksList[var4].onBlockAdded(this.worldObj, var9, var2, var10); - } - - this.isModified = true; - return true; - } - } - - public boolean setBlockID(int var1, int var2, int var3, int var4) { - byte var5 = (byte)var4; - int var6 = this.heightMap[var3 << 4 | var1] & 255; - int var7 = this.blocks[var1 << 11 | var3 << 7 | var2] & 255; - if(var7 == var4) { - return false; - } else { - int var8 = this.xPosition * 16 + var1; - int var9 = this.zPosition * 16 + var3; - this.blocks[var1 << 11 | var3 << 7 | var2] = var5; - if(var7 != 0) { - Block.blocksList[var7].onBlockRemoval(this.worldObj, var8, var2, var9); - } - - this.data.set(var1, var2, var3, 0); - if(Block.lightOpacity[var5] != 0) { - if(var2 >= var6) { - this.relightBlock(var1, var2 + 1, var3); - } - } else if(var2 == var6 - 1) { - this.relightBlock(var1, var2, var3); - } - - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Sky, var8, var2, var9, var8, var2, var9); - this.worldObj.scheduleLightingUpdate(EnumSkyBlock.Block, var8, var2, var9, var8, var2, var9); - this.updateSkylight_do(var1, var3); - if(var4 != 0) { - Block.blocksList[var4].onBlockAdded(this.worldObj, var8, var2, var9); - } - - this.isModified = true; - return true; - } - } - - public int getBlockMetadata(int var1, int var2, int var3) { - return this.data.get(var1, var2, var3); - } - - public void setBlockMetadata(int var1, int var2, int var3, int var4) { - this.isModified = true; - this.data.set(var1, var2, var3, var4); - } - - public int getSavedLightValue(EnumSkyBlock var1, int var2, int var3, int var4) { - return var1 == EnumSkyBlock.Sky ? this.skylightMap.get(var2, var3, var4) : (var1 == EnumSkyBlock.Block ? this.blocklightMap.get(var2, var3, var4) : 0); - } - - public void setLightValue(EnumSkyBlock var1, int var2, int var3, int var4, int var5) { - this.isModified = true; - if(var1 == EnumSkyBlock.Sky) { - this.skylightMap.set(var2, var3, var4, var5); - } else { - if(var1 != EnumSkyBlock.Block) { - return; - } - - this.blocklightMap.set(var2, var3, var4, var5); - } - - } - - public int getBlockLightValue(int var1, int var2, int var3, int var4) { - int var5 = this.skylightMap.get(var1, var2, var3); - if(var5 > 0) { - isLit = true; - } - - var5 -= var4; - int var6 = this.blocklightMap.get(var1, var2, var3); - if(var6 > var5) { - var5 = var6; - } - - return var5; - } - - public void addEntity(Entity var1) { - this.hasEntities = true; - int var2 = MathHelper.floor_double(var1.posX / 16.0D); - int var3 = MathHelper.floor_double(var1.posZ / 16.0D); - if(var2 != this.xPosition || var3 != this.zPosition) { - System.out.println("Wrong location! " + var1); - } - - int var4 = MathHelper.floor_double(var1.posY / 16.0D); - if(var4 < 0) { - var4 = 0; - } - - if(var4 >= this.entities.length) { - var4 = this.entities.length - 1; - } - - this.entities[var4].add(var1); - } - - public void removeEntity(Entity var1) { - this.removeEntityAtIndex(var1, MathHelper.floor_double(var1.posY / 16.0D)); - } - - public void removeEntityAtIndex(Entity var1, int var2) { - if(var2 < 0) { - var2 = 0; - } - - if(var2 >= this.entities.length) { - var2 = this.entities.length - 1; - } - - if(!this.entities[var2].contains(var1)) { - System.out.println("There\'s no such entity to remove: " + var1); - } - - this.entities[var2].remove(var1); - } - - public boolean canBlockSeeTheSky(int var1, int var2, int var3) { - return var2 >= (this.heightMap[var3 << 4 | var1] & 255); - } - - public TileEntity getChunkBlockTileEntity(int var1, int var2, int var3) { - int var4 = var1 + var2 * 1024 + var3 * 1024 * 1024; - TileEntity var5 = (TileEntity)this.chunkTileEntityMap.get(Integer.valueOf(var4)); - if(var5 == null) { - int var6 = this.getBlockID(var1, var2, var3); - BlockContainer var7 = (BlockContainer)Block.blocksList[var6]; - var7.onBlockAdded(this.worldObj, this.xPosition * 16 + var1, var2, this.zPosition * 16 + var3); - var5 = (TileEntity)this.chunkTileEntityMap.get(Integer.valueOf(var4)); - } - - return var5; - } - - public void addTileEntity(TileEntity var1) { - int var2 = var1.xCoord - this.xPosition * 16; - int var3 = var1.yCoord; - int var4 = var1.zCoord - this.zPosition * 16; - this.setChunkBlockTileEntity(var2, var3, var4, var1); - } - - public void setChunkBlockTileEntity(int var1, int var2, int var3, TileEntity var4) { - int var5 = var1 + var2 * 1024 + var3 * 1024 * 1024; - var4.worldObj = this.worldObj; - var4.xCoord = this.xPosition * 16 + var1; - var4.yCoord = var2; - var4.zCoord = this.zPosition * 16 + var3; - if(this.getBlockID(var1, var2, var3) != 0 && Block.blocksList[this.getBlockID(var1, var2, var3)] instanceof BlockContainer) { - if(this.isChunkLoaded) { - if(this.chunkTileEntityMap.get(Integer.valueOf(var5)) != null) { - this.worldObj.loadedTileEntityList.remove(this.chunkTileEntityMap.get(Integer.valueOf(var5))); - } - - this.worldObj.loadedTileEntityList.add(var4); - } - - this.chunkTileEntityMap.put(Integer.valueOf(var5), var4); - } else { - System.out.println("Attempted to place a tile entity where there was no entity tile!"); - } - } - - public void removeChunkBlockTileEntity(int var1, int var2, int var3) { - int var4 = var1 + var2 * 1024 + var3 * 1024 * 1024; - if(this.isChunkLoaded) { - this.worldObj.loadedTileEntityList.remove(this.chunkTileEntityMap.remove(Integer.valueOf(var4))); - } - - } - - public void onChunkLoad() { - this.isChunkLoaded = true; - this.worldObj.loadedTileEntityList.addAll(this.chunkTileEntityMap.values()); - - for(int var1 = 0; var1 < this.entities.length; ++var1) { - this.worldObj.addLoadedEntities(this.entities[var1]); - } - - } - - public void onChunkUnload() { - this.isChunkLoaded = false; - this.worldObj.loadedTileEntityList.removeAll(this.chunkTileEntityMap.values()); - - for(int var1 = 0; var1 < this.entities.length; ++var1) { - this.worldObj.unloadEntities(this.entities[var1]); - } - - } - - public void setChunkModified() { - this.isModified = true; - } - - public void getEntitiesWithinAABBForEntity(Entity var1, AxisAlignedBB var2, List var3) { - int var4 = MathHelper.floor_double((var2.minY - 2.0D) / 16.0D); - int var5 = MathHelper.floor_double((var2.maxY + 2.0D) / 16.0D); - if(var4 < 0) { - var4 = 0; - } - - if(var5 >= this.entities.length) { - var5 = this.entities.length - 1; - } - - for(int var6 = var4; var6 <= var5; ++var6) { - List var7 = this.entities[var6]; - - for(int var8 = 0; var8 < var7.size(); ++var8) { - Entity var9 = (Entity)var7.get(var8); - if(var9 != var1 && var9.boundingBox.intersectsWith(var2)) { - var3.add(var9); - } - } - } - - } - - public void getEntitiesOfTypeWithinAAAB(Class var1, AxisAlignedBB var2, List var3) { - int var4 = MathHelper.floor_double((var2.minY - 2.0D) / 16.0D); - int var5 = MathHelper.floor_double((var2.maxY + 2.0D) / 16.0D); - if(var4 < 0) { - var4 = 0; - } - - if(var5 >= this.entities.length) { - var5 = this.entities.length - 1; - } - - for(int var6 = var4; var6 <= var5; ++var6) { - List var7 = this.entities[var6]; - - for(int var8 = 0; var8 < var7.size(); ++var8) { - Entity var9 = (Entity)var7.get(var8); - if(var1.isAssignableFrom(var9.getClass()) && var9.boundingBox.intersectsWith(var2)) { - var3.add(var9); - } - } - } - - } - - public boolean needsSaving(boolean var1) { - return this.neverSave ? false : (this.hasEntities && this.worldObj.worldTime != this.lastSaveTime ? true : this.isModified); - } -} diff --git a/src/main/java/net/minecraft/src/ChunkCache.java b/src/main/java/net/minecraft/src/ChunkCache.java deleted file mode 100644 index 8856be6..0000000 --- a/src/main/java/net/minecraft/src/ChunkCache.java +++ /dev/null @@ -1,123 +0,0 @@ -package net.minecraft.src; - -public class ChunkCache implements IBlockAccess { - private int chunkX; - private int chunkZ; - private Chunk[][] chunkArray; - private World worldObj; - - public ChunkCache(World var1, int var2, int var3, int var4, int var5, int var6, int var7) { - this.worldObj = var1; - this.chunkX = var2 >> 4; - this.chunkZ = var4 >> 4; - int var8 = var5 >> 4; - int var9 = var7 >> 4; - this.chunkArray = new Chunk[var8 - this.chunkX + 1][var9 - this.chunkZ + 1]; - - for(int var10 = this.chunkX; var10 <= var8; ++var10) { - for(int var11 = this.chunkZ; var11 <= var9; ++var11) { - this.chunkArray[var10 - this.chunkX][var11 - this.chunkZ] = var1.getChunkFromChunkCoords(var10, var11); - } - } - - } - - public int getBlockId(int var1, int var2, int var3) { - if(var2 < 0) { - return 0; - } else if(var2 >= 128) { - return 0; - } else { - int var4 = (var1 >> 4) - this.chunkX; - int var5 = (var3 >> 4) - this.chunkZ; - return this.chunkArray[var4][var5].getBlockID(var1 & 15, var2, var3 & 15); - } - } - - public TileEntity getBlockTileEntity(int var1, int var2, int var3) { - int var4 = (var1 >> 4) - this.chunkX; - int var5 = (var3 >> 4) - this.chunkZ; - return this.chunkArray[var4][var5].getChunkBlockTileEntity(var1 & 15, var2, var3 & 15); - } - - public float getBrightness(int var1, int var2, int var3) { - return World.lightBrightnessTable[this.getLightValue(var1, var2, var3)]; - } - - public int getLightValue(int var1, int var2, int var3) { - return this.getLightValueExt(var1, var2, var3, true); - } - - public int getLightValueExt(int var1, int var2, int var3, boolean var4) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - int var5; - int var6; - if(var4) { - var5 = this.getBlockId(var1, var2, var3); - if(var5 == Block.stairSingle.blockID || var5 == Block.tilledField.blockID) { - var6 = this.getLightValueExt(var1, var2 + 1, var3, false); - int var7 = this.getLightValueExt(var1 + 1, var2, var3, false); - int var8 = this.getLightValueExt(var1 - 1, var2, var3, false); - int var9 = this.getLightValueExt(var1, var2, var3 + 1, false); - int var10 = this.getLightValueExt(var1, var2, var3 - 1, false); - if(var7 > var6) { - var6 = var7; - } - - if(var8 > var6) { - var6 = var8; - } - - if(var9 > var6) { - var6 = var9; - } - - if(var10 > var6) { - var6 = var10; - } - - return var6; - } - } - - if(var2 < 0) { - return 0; - } else if(var2 >= 128) { - var5 = 15 - this.worldObj.skylightSubtracted; - if(var5 < 0) { - var5 = 0; - } - - return var5; - } else { - var5 = (var1 >> 4) - this.chunkX; - var6 = (var3 >> 4) - this.chunkZ; - return this.chunkArray[var5][var6].getBlockLightValue(var1 & 15, var2, var3 & 15, this.worldObj.skylightSubtracted); - } - } else { - return 15; - } - } - - public int getBlockMetadata(int var1, int var2, int var3) { - if(var2 < 0) { - return 0; - } else if(var2 >= 128) { - return 0; - } else { - int var4 = (var1 >> 4) - this.chunkX; - int var5 = (var3 >> 4) - this.chunkZ; - return this.chunkArray[var4][var5].getBlockMetadata(var1 & 15, var2, var3 & 15); - } - } - - public Material getBlockMaterial(int var1, int var2, int var3) { - int var4 = this.getBlockId(var1, var2, var3); - return var4 == 0 ? Material.air : Block.blocksList[var4].blockMaterial; - } - - public boolean isBlockNormalCube(int var1, int var2, int var3) { - Block var4 = Block.blocksList[this.getBlockId(var1, var2, var3)]; - return var4 == null ? false : var4.isOpaqueCube(); - } -} diff --git a/src/main/java/net/minecraft/src/ChunkLoader.java b/src/main/java/net/minecraft/src/ChunkLoader.java deleted file mode 100644 index ef75d98..0000000 --- a/src/main/java/net/minecraft/src/ChunkLoader.java +++ /dev/null @@ -1,173 +0,0 @@ -package net.minecraft.src; - -import java.io.*; -import java.util.Iterator; - -import net.PeytonPlayz585.io.File; - -public class ChunkLoader implements IChunkLoader { - private File saveDir; - private boolean createIfNecessary; - - public ChunkLoader(File var1, boolean var2) { - this.saveDir = var1; - this.createIfNecessary = var2; - } - - private File chunkFileForXZ(int var1, int var2) { - String var3 = "c." + Integer.toString(var1, 36) + "." + Integer.toString(var2, 36) + ".dat"; - String var4 = Integer.toString(var1 & 63, 36); - String var5 = Integer.toString(var2 & 63, 36); - File var6 = new File(this.saveDir, var4); - if(!var6.exists()) { - if(!this.createIfNecessary) { - return null; - } - - var6.mkdir(); - } - - var6 = new File(var6, var5); - if(!var6.exists()) { - if(!this.createIfNecessary) { - return null; - } - - var6.mkdir(); - } - - var6 = new File(var6, var3); - return !var6.exists() && !this.createIfNecessary ? null : var6; - } - - public Chunk loadChunk(World var1, int var2, int var3) { - File var4 = this.chunkFileForXZ(var2, var3); - if(var4 != null && var4.exists()) { - try { - NBTTagCompound var6 = (NBTTagCompound) NBTBase.readNamedTag(new DataInputStream(new ByteArrayInputStream(var4.getBytes()))); - return loadChunkIntoWorldFromCompound(var1, var6.getCompoundTag("Level")); - } catch (Exception var7) { - var7.printStackTrace(); - } - } - - return null; - } - - public void saveChunk(World var1, Chunk var2) { - File var3 = this.chunkFileForXZ(var2.xPosition, var2.zPosition); - NBTTagCompound toSave = new NBTTagCompound(); - storeChunkInCompound(var2, var1, toSave); - ByteArrayOutputStream bao = new ByteArrayOutputStream(131072); - try { - NBTBase.writeNamedTag(toSave, new DataOutputStream(bao)); - } catch (IOException e) { - System.err.println("Failed to serialize chunk at [" + var2.xPosition + ", " + var2.zPosition + "] to byte array"); - e.printStackTrace(); - return; - } - var3.writeBytes(bao.toByteArray()); - } - - public void storeChunkInCompound(Chunk var1, World var2, NBTTagCompound var3) { - var3.setInteger("xPos", var1.xPosition); - var3.setInteger("zPos", var1.zPosition); - var3.setLong("LastUpdate", var2.worldTime); - var3.setByteArray("Blocks", var1.blocks); - var3.setByteArray("Data", var1.data.data); - var3.setByteArray("SkyLight", var1.skylightMap.data); - var3.setByteArray("BlockLight", var1.blocklightMap.data); - var3.setByteArray("HeightMap", var1.heightMap); - var3.setBoolean("TerrainPopulated", var1.isTerrainPopulated); - var1.hasEntities = false; - NBTTagList var4 = new NBTTagList(); - - Iterator var6; - NBTTagCompound var8; - for(int var5 = 0; var5 < var1.entities.length; ++var5) { - var6 = var1.entities[var5].iterator(); - - while(var6.hasNext()) { - Entity var7 = (Entity)var6.next(); - var1.hasEntities = true; - var8 = new NBTTagCompound(); - if(var7.addEntityID(var8)) { - var4.setTag(var8); - } - } - } - - var3.setTag("Entities", var4); - NBTTagList var9 = new NBTTagList(); - var6 = var1.chunkTileEntityMap.values().iterator(); - - while(var6.hasNext()) { - TileEntity var10 = (TileEntity)var6.next(); - var8 = new NBTTagCompound(); - var10.writeToNBT(var8); - var9.setTag(var8); - } - - var3.setTag("TileEntities", var9); - } - - public static Chunk loadChunkIntoWorldFromCompound(World var0, NBTTagCompound var1) { - int var2 = var1.getInteger("xPos"); - int var3 = var1.getInteger("zPos"); - Chunk var4 = new Chunk(var0, var2, var3); - var4.blocks = var1.getByteArray("Blocks"); - var4.data = new NibbleArray(var1.getByteArray("Data")); - var4.skylightMap = new NibbleArray(var1.getByteArray("SkyLight")); - var4.blocklightMap = new NibbleArray(var1.getByteArray("BlockLight")); - var4.heightMap = var1.getByteArray("HeightMap"); - var4.isTerrainPopulated = var1.getBoolean("TerrainPopulated"); - if(!var4.data.isValid()) { - var4.data = new NibbleArray(var4.blocks.length); - } - - if(var4.heightMap == null || !var4.skylightMap.isValid()) { - var4.heightMap = new byte[256]; - var4.skylightMap = new NibbleArray(var4.blocks.length); - var4.generateHeightMap(); - } - - if(!var4.blocklightMap.isValid()) { - var4.blocklightMap = new NibbleArray(var4.blocks.length); - var4.doNothing(); - } - - NBTTagList var5 = var1.getTagList("Entities"); - if(var5 != null) { - for(int var6 = 0; var6 < var5.tagCount(); ++var6) { - NBTTagCompound var7 = (NBTTagCompound)var5.tagAt(var6); - Entity var8 = EntityList.createEntityFromNBT(var7, var0); - var4.hasEntities = true; - if(var8 != null) { - var4.addEntity(var8); - } - } - } - - NBTTagList var10 = var1.getTagList("TileEntities"); - if(var10 != null) { - for(int var11 = 0; var11 < var10.tagCount(); ++var11) { - NBTTagCompound var12 = (NBTTagCompound)var10.tagAt(var11); - TileEntity var9 = TileEntity.createAndLoadEntity(var12); - if(var9 != null) { - var4.addTileEntity(var9); - } - } - } - - return var4; - } - - public void chunkTick() { - } - - public void saveExtraData() { - } - - public void saveExtraChunkData(World var1, Chunk var2) { - } -} diff --git a/src/main/java/net/minecraft/src/ChunkPosition.java b/src/main/java/net/minecraft/src/ChunkPosition.java deleted file mode 100644 index 8b19854..0000000 --- a/src/main/java/net/minecraft/src/ChunkPosition.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minecraft.src; - -public class ChunkPosition { - public final int x; - public final int y; - public final int z; - - public ChunkPosition(int var1, int var2, int var3) { - this.x = var1; - this.y = var2; - this.z = var3; - } - - public boolean equals(Object var1) { - if(!(var1 instanceof ChunkPosition)) { - return false; - } else { - ChunkPosition var2 = (ChunkPosition)var1; - return var2.x == this.x && var2.y == this.y && var2.z == this.z; - } - } - - public int hashCode() { - return this.x * 8976890 + this.y * 981131 + this.z; - } -} diff --git a/src/main/java/net/minecraft/src/ChunkProviderGenerate.java b/src/main/java/net/minecraft/src/ChunkProviderGenerate.java deleted file mode 100644 index 5a97630..0000000 --- a/src/main/java/net/minecraft/src/ChunkProviderGenerate.java +++ /dev/null @@ -1,610 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class ChunkProviderGenerate implements IChunkProvider { - private Random rand; - private NoiseGeneratorOctaves noiseGen1; - private NoiseGeneratorOctaves noiseGen2; - private NoiseGeneratorOctaves noiseGen3; - private NoiseGeneratorOctaves noiseGen4; - private NoiseGeneratorOctaves noiseGen5; - private NoiseGeneratorOctaves noiseGen6; - private NoiseGeneratorOctaves noiseGen7; - private NoiseGeneratorOctaves mobSpawnerNoise; - private World worldObj; - private double[] noiseArray; - double[] noise3; - double[] noise1; - double[] noise2; - double[] noise6; - double[] noise7; - int[][] unused = new int[32][32]; - - public ChunkProviderGenerate(World var1, long var2) { - this.worldObj = var1; - this.rand = new Random(var2); - this.noiseGen1 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen2 = new NoiseGeneratorOctaves(this.rand, 16); - this.noiseGen3 = new NoiseGeneratorOctaves(this.rand, 8); - this.noiseGen4 = new NoiseGeneratorOctaves(this.rand, 4); - this.noiseGen5 = new NoiseGeneratorOctaves(this.rand, 4); - this.noiseGen6 = new NoiseGeneratorOctaves(this.rand, 10); - this.noiseGen7 = new NoiseGeneratorOctaves(this.rand, 16); - this.mobSpawnerNoise = new NoiseGeneratorOctaves(this.rand, 8); - } - - public void generateTerrain(int var1, int var2, byte[] var3) { - byte var4 = 4; - byte var5 = 64; - int var6 = var4 + 1; - byte var7 = 17; - int var8 = var4 + 1; - this.noiseArray = this.initializeNoiseField(this.noiseArray, var1 * var4, 0, var2 * var4, var6, var7, var8); - - for(int var9 = 0; var9 < var4; ++var9) { - for(int var10 = 0; var10 < var4; ++var10) { - for(int var11 = 0; var11 < 16; ++var11) { - double var12 = 0.125D; - double var14 = this.noiseArray[((var9 + 0) * var8 + var10 + 0) * var7 + var11 + 0]; - double var16 = this.noiseArray[((var9 + 0) * var8 + var10 + 1) * var7 + var11 + 0]; - double var18 = this.noiseArray[((var9 + 1) * var8 + var10 + 0) * var7 + var11 + 0]; - double var20 = this.noiseArray[((var9 + 1) * var8 + var10 + 1) * var7 + var11 + 0]; - double var22 = (this.noiseArray[((var9 + 0) * var8 + var10 + 0) * var7 + var11 + 1] - var14) * var12; - double var24 = (this.noiseArray[((var9 + 0) * var8 + var10 + 1) * var7 + var11 + 1] - var16) * var12; - double var26 = (this.noiseArray[((var9 + 1) * var8 + var10 + 0) * var7 + var11 + 1] - var18) * var12; - double var28 = (this.noiseArray[((var9 + 1) * var8 + var10 + 1) * var7 + var11 + 1] - var20) * var12; - - for(int var30 = 0; var30 < 8; ++var30) { - double var31 = 0.25D; - double var33 = var14; - double var35 = var16; - double var37 = (var18 - var14) * var31; - double var39 = (var20 - var16) * var31; - - for(int var41 = 0; var41 < 4; ++var41) { - int var42 = var41 + var9 * 4 << 11 | 0 + var10 * 4 << 7 | var11 * 8 + var30; - short var43 = 128; - double var44 = 0.25D; - double var46 = var33; - double var48 = (var35 - var33) * var44; - - for(int var50 = 0; var50 < 4; ++var50) { - int var51 = 0; - if(var11 * 8 + var30 < var5) { - var51 = Block.waterStill.blockID; - } - - if(var46 > 0.0D) { - var51 = Block.stone.blockID; - } - - var3[var42] = (byte)var51; - var42 += var43; - var46 += var48; - } - - var33 += var37; - var35 += var39; - } - - var14 += var22; - var16 += var24; - var18 += var26; - var20 += var28; - } - } - } - } - - } - - public void replaceBlocks(int var1, int var2, byte[] var3) { - byte var4 = 64; - - for(int var5 = 0; var5 < 16; ++var5) { - for(int var6 = 0; var6 < 16; ++var6) { - double var7 = (double)(var1 * 16 + var5); - double var9 = (double)(var2 * 16 + var6); - double var11 = 1.0D / 32.0D; - boolean var13 = this.noiseGen4.a(var7 * var11, var9 * var11, 0.0D) + this.rand.nextDouble() * 0.2D > 0.0D; - boolean var14 = this.noiseGen4.a(var9 * var11, 109.0134D, var7 * var11) + this.rand.nextDouble() * 0.2D > 3.0D; - int var15 = (int)(this.noiseGen5.generateNoiseOctaves(var7 * var11 * 2.0D, var9 * var11 * 2.0D) / 3.0D + 3.0D + this.rand.nextDouble() * 0.25D); - int var16 = -1; - int var17 = Block.grass.blockID; - int var18 = Block.dirt.blockID; - int var19 = (var5 * 16 + var6) * 128 + 128; - - for(int var20 = 127; var20 >= 0; --var20) { - --var19; - if(var20 <= 0 + this.rand.nextInt(6) - 1) { - var3[var19] = (byte)Block.bedrock.blockID; - } else if(var3[var19] == 0) { - var16 = -1; - } else if(var3[var19] == Block.stone.blockID) { - if(var16 == -1) { - if(var15 <= 0) { - var17 = 0; - var18 = (byte)Block.stone.blockID; - } else if(var20 >= var4 - 4 && var20 <= var4 + 1) { - var17 = Block.grass.blockID; - var18 = Block.dirt.blockID; - if(var14) { - var17 = 0; - } - - if(var14) { - var18 = Block.gravel.blockID; - } - - if(var13) { - var17 = Block.sand.blockID; - } - - if(var13) { - var18 = Block.sand.blockID; - } - } - - if(var20 < var4 && var17 == 0) { - var17 = Block.waterStill.blockID; - } - - var16 = var15; - if(var20 >= var4 - 1) { - var3[var19] = (byte)var17; - } else { - var3[var19] = (byte)var18; - } - } else if(var16 > 0) { - --var16; - var3[var19] = (byte)var18; - } - } - } - } - } - - } - - public Chunk provideChunk(int var1, int var2) { - this.rand.setSeed((long)var1 * 341873128712L + (long)var2 * 132897987541L); - byte[] var3 = new byte[-Short.MIN_VALUE]; - Chunk var4 = new Chunk(this.worldObj, var3, var1, var2); - this.generateTerrain(var1, var2, var3); - this.replaceBlocks(var1, var2, var3); - this.generateCaves(var1, var2, var3); - var4.generateHeightMap(); - return var4; - } - - protected void generateLargeCaveNode(int var1, int var2, byte[] var3, double var4, double var6, double var8) { - this.generateCaveNode(var1, var2, var3, var4, var6, var8, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D); - } - - protected void generateCaveNode(int var1, int var2, byte[] var3, double var4, double var6, double var8, float var10, float var11, float var12, int var13, int var14, double var15) { - double var17 = (double)(var1 * 16 + 8); - double var19 = (double)(var2 * 16 + 8); - float var21 = 0.0F; - float var22 = 0.0F; - Random var23 = new Random(this.rand.nextLong()); - if(var14 <= 0) { - byte var24 = 112; - var14 = var24 - var23.nextInt(var24 / 4); - } - - boolean var52 = false; - if(var13 == -1) { - var13 = var14 / 2; - var52 = true; - } - - int var25 = var23.nextInt(var14 / 2) + var14 / 4; - - for(boolean var26 = var23.nextInt(6) == 0; var13 < var14; ++var13) { - double var27 = 1.5D + (double)(MathHelper.sin((float)var13 * (float)Math.PI / (float)var14) * var10 * 1.0F); - double var29 = var27 * var15; - float var31 = MathHelper.cos(var12); - float var32 = MathHelper.sin(var12); - var4 += (double)(MathHelper.cos(var11) * var31); - var6 += (double)var32; - var8 += (double)(MathHelper.sin(var11) * var31); - if(var26) { - var12 *= 0.92F; - } else { - var12 *= 0.7F; - } - - var12 += var22 * 0.1F; - var11 += var21 * 0.1F; - var22 *= 0.9F; - var21 *= 12.0F / 16.0F; - var22 += (var23.nextFloat() - var23.nextFloat()) * var23.nextFloat() * 2.0F; - var21 += (var23.nextFloat() - var23.nextFloat()) * var23.nextFloat() * 4.0F; - if(!var52 && var13 == var25 && var10 > 1.0F) { - this.generateCaveNode(var1, var2, var3, var4, var6, var8, var23.nextFloat() * 0.5F + 0.5F, var11 - (float)Math.PI * 0.5F, var12 / 3.0F, var13, var14, 1.0D); - this.generateCaveNode(var1, var2, var3, var4, var6, var8, var23.nextFloat() * 0.5F + 0.5F, var11 + (float)Math.PI * 0.5F, var12 / 3.0F, var13, var14, 1.0D); - return; - } - - if(var52 || var23.nextInt(4) != 0) { - double var33 = var4 - var17; - double var35 = var8 - var19; - double var37 = (double)(var14 - var13); - double var39 = (double)(var10 + 2.0F + 16.0F); - if(var33 * var33 + var35 * var35 - var37 * var37 > var39 * var39) { - return; - } - - if(var4 >= var17 - 16.0D - var27 * 2.0D && var8 >= var19 - 16.0D - var27 * 2.0D && var4 <= var17 + 16.0D + var27 * 2.0D && var8 <= var19 + 16.0D + var27 * 2.0D) { - int var53 = MathHelper.floor_double(var4 - var27) - var1 * 16 - 1; - int var34 = MathHelper.floor_double(var4 + var27) - var1 * 16 + 1; - int var54 = MathHelper.floor_double(var6 - var29) - 1; - int var36 = MathHelper.floor_double(var6 + var29) + 1; - int var55 = MathHelper.floor_double(var8 - var27) - var2 * 16 - 1; - int var38 = MathHelper.floor_double(var8 + var27) - var2 * 16 + 1; - if(var53 < 0) { - var53 = 0; - } - - if(var34 > 16) { - var34 = 16; - } - - if(var54 < 1) { - var54 = 1; - } - - if(var36 > 120) { - var36 = 120; - } - - if(var55 < 0) { - var55 = 0; - } - - if(var38 > 16) { - var38 = 16; - } - - boolean var56 = false; - - int var40; - int var43; - for(var40 = var53; !var56 && var40 < var34; ++var40) { - for(int var41 = var55; !var56 && var41 < var38; ++var41) { - for(int var42 = var36 + 1; !var56 && var42 >= var54 - 1; --var42) { - var43 = (var40 * 16 + var41) * 128 + var42; - if(var42 >= 0 && var42 < 128) { - if(var3[var43] == Block.waterMoving.blockID || var3[var43] == Block.waterStill.blockID) { - var56 = true; - } - - if(var42 != var54 - 1 && var40 != var53 && var40 != var34 - 1 && var41 != var55 && var41 != var38 - 1) { - var42 = var54; - } - } - } - } - } - - if(!var56) { - for(var40 = var53; var40 < var34; ++var40) { - double var57 = ((double)(var40 + var1 * 16) + 0.5D - var4) / var27; - - for(var43 = var55; var43 < var38; ++var43) { - double var44 = ((double)(var43 + var2 * 16) + 0.5D - var8) / var27; - int var46 = (var40 * 16 + var43) * 128 + var36; - boolean var47 = false; - - for(int var48 = var36 - 1; var48 >= var54; --var48) { - double var49 = ((double)var48 + 0.5D - var6) / var29; - if(var49 > -0.7D && var57 * var57 + var49 * var49 + var44 * var44 < 1.0D) { - byte var51 = var3[var46]; - if(var51 == Block.grass.blockID) { - var47 = true; - } - - if(var51 == Block.stone.blockID || var51 == Block.dirt.blockID || var51 == Block.grass.blockID) { - if(var48 < 10) { - var3[var46] = (byte)Block.lavaMoving.blockID; - } else { - var3[var46] = 0; - if(var47 && var3[var46 - 1] == Block.dirt.blockID) { - var3[var46 - 1] = (byte)Block.grass.blockID; - } - } - } - } - - --var46; - } - } - } - - if(var52) { - break; - } - } - } - } - } - - } - - private void generateCaves(int var1, int var2, byte[] var3) { - byte var4 = 8; - this.rand.setSeed(this.worldObj.randomSeed); - long var5 = this.rand.nextLong() / 2L * 2L + 1L; - long var7 = this.rand.nextLong() / 2L * 2L + 1L; - - for(int var9 = var1 - var4; var9 <= var1 + var4; ++var9) { - for(int var10 = var2 - var4; var10 <= var2 + var4; ++var10) { - this.rand.setSeed((long)var9 * var5 + (long)var10 * var7 ^ this.worldObj.randomSeed); - int var11 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1); - if(this.rand.nextInt(15) != 0) { - var11 = 0; - } - - for(int var12 = 0; var12 < var11; ++var12) { - double var13 = (double)(var9 * 16 + this.rand.nextInt(16)); - double var15 = (double)this.rand.nextInt(this.rand.nextInt(120) + 8); - double var17 = (double)(var10 * 16 + this.rand.nextInt(16)); - int var19 = 1; - if(this.rand.nextInt(4) == 0) { - this.generateLargeCaveNode(var1, var2, var3, var13, var15, var17); - var19 += this.rand.nextInt(4); - } - - for(int var20 = 0; var20 < var19; ++var20) { - float var21 = this.rand.nextFloat() * (float)Math.PI * 2.0F; - float var22 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float var23 = this.rand.nextFloat() * 2.0F + this.rand.nextFloat(); - this.generateCaveNode(var1, var2, var3, var13, var15, var17, var23, var21, var22, 0, 0, 1.0D); - } - } - } - } - - } - - private double[] initializeNoiseField(double[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if(var1 == null) { - var1 = new double[var5 * var6 * var7]; - } - - double var8 = 684.412D; - double var10 = 684.412D; - this.noise6 = this.noiseGen6.a(this.noise6, var2, var3, var4, var5, 1, var7, 1.0D, 0.0D, 1.0D); - this.noise7 = this.noiseGen7.a(this.noise7, var2, var3, var4, var5, 1, var7, 100.0D, 0.0D, 100.0D); - this.noise3 = this.noiseGen3.a(this.noise3, var2, var3, var4, var5, var6, var7, var8 / 80.0D, var10 / 160.0D, var8 / 80.0D); - this.noise1 = this.noiseGen1.a(this.noise1, var2, var3, var4, var5, var6, var7, var8, var10, var8); - this.noise2 = this.noiseGen2.a(this.noise2, var2, var3, var4, var5, var6, var7, var8, var10, var8); - int var12 = 0; - int var13 = 0; - - for(int var14 = 0; var14 < var5; ++var14) { - for(int var15 = 0; var15 < var7; ++var15) { - double var16 = (this.noise6[var13] + 256.0D) / 512.0D; - if(var16 > 1.0D) { - var16 = 1.0D; - } - - double var18 = 0.0D; - double var20 = this.noise7[var13] / 8000.0D; - if(var20 < 0.0D) { - var20 = -var20; - } - - var20 = var20 * 3.0D - 3.0D; - if(var20 < 0.0D) { - var20 /= 2.0D; - if(var20 < -1.0D) { - var20 = -1.0D; - } - - var20 /= 1.4D; - var20 /= 2.0D; - var16 = 0.0D; - } else { - if(var20 > 1.0D) { - var20 = 1.0D; - } - - var20 /= 6.0D; - } - - var16 += 0.5D; - var20 = var20 * (double)var6 / 16.0D; - double var22 = (double)var6 / 2.0D + var20 * 4.0D; - ++var13; - - for(int var24 = 0; var24 < var6; ++var24) { - double var25 = 0.0D; - double var27 = ((double)var24 - var22) * 12.0D / var16; - if(var27 < 0.0D) { - var27 *= 4.0D; - } - - double var29 = this.noise1[var12] / 512.0D; - double var31 = this.noise2[var12] / 512.0D; - double var33 = (this.noise3[var12] / 10.0D + 1.0D) / 2.0D; - if(var33 < 0.0D) { - var25 = var29; - } else if(var33 > 1.0D) { - var25 = var31; - } else { - var25 = var29 + (var31 - var29) * var33; - } - - var25 -= var27; - double var35; - if(var24 > var6 - 4) { - var35 = (double)((float)(var24 - (var6 - 4)) / 3.0F); - var25 = var25 * (1.0D - var35) + -10.0D * var35; - } - - if((double)var24 < var18) { - var35 = (var18 - (double)var24) / 4.0D; - if(var35 < 0.0D) { - var35 = 0.0D; - } - - if(var35 > 1.0D) { - var35 = 1.0D; - } - - var25 = var25 * (1.0D - var35) + -10.0D * var35; - } - - var1[var12] = var25; - ++var12; - } - } - } - - return var1; - } - - public boolean chunkExists(int var1, int var2) { - return true; - } - - public void populate(IChunkProvider var1, int var2, int var3) { - int var4 = var2 * 16; - int var5 = var3 * 16; - this.rand.setSeed(this.worldObj.randomSeed); - long var6 = this.rand.nextLong() / 2L * 2L + 1L; - long var8 = this.rand.nextLong() / 2L * 2L + 1L; - this.rand.setSeed((long)var2 * var6 + (long)var3 * var8 ^ this.worldObj.randomSeed); - double var10 = 0.25D; - - int var12; - int var13; - int var14; - int var15; - for(var12 = 0; var12 < 4; ++var12) { - var13 = var4 + this.rand.nextInt(16) + 8; - var14 = this.rand.nextInt(128); - var15 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenDungeons()).generate(this.worldObj, this.rand, var13, var14, var15); - } - - for(var12 = 0; var12 < 20; ++var12) { - var13 = var4 + this.rand.nextInt(16); - var14 = this.rand.nextInt(128); - var15 = var5 + this.rand.nextInt(16); - (new WorldGenMinable(Block.dirt.blockID, 32)).generate(this.worldObj, this.rand, var13, var14, var15); - } - - for(var12 = 0; var12 < 10; ++var12) { - var13 = var4 + this.rand.nextInt(16); - var14 = this.rand.nextInt(128); - var15 = var5 + this.rand.nextInt(16); - (new WorldGenMinable(Block.gravel.blockID, 32)).generate(this.worldObj, this.rand, var13, var14, var15); - } - - for(var12 = 0; var12 < 20; ++var12) { - var13 = var4 + this.rand.nextInt(16); - var14 = this.rand.nextInt(128); - var15 = var5 + this.rand.nextInt(16); - (new WorldGenMinable(Block.oreCoal.blockID, 16)).generate(this.worldObj, this.rand, var13, var14, var15); - } - - for(var12 = 0; var12 < 20; ++var12) { - var13 = var4 + this.rand.nextInt(16); - var14 = this.rand.nextInt(64); - var15 = var5 + this.rand.nextInt(16); - (new WorldGenMinable(Block.oreIron.blockID, 8)).generate(this.worldObj, this.rand, var13, var14, var15); - } - - if(this.rand.nextInt(1) == 0) { - var12 = var4 + this.rand.nextInt(16); - var13 = this.rand.nextInt(32); - var14 = var5 + this.rand.nextInt(16); - (new WorldGenMinable(Block.oreGold.blockID, 8)).generate(this.worldObj, this.rand, var12, var13, var14); - } - - if(this.rand.nextInt(4) == 0) { - var12 = var4 + this.rand.nextInt(16); - var13 = this.rand.nextInt(16); - var14 = var5 + this.rand.nextInt(16); - (new WorldGenMinable(Block.oreDiamond.blockID, 8)).generate(this.worldObj, this.rand, var12, var13, var14); - } - - var10 = 0.5D; - var12 = (int)((this.mobSpawnerNoise.generateNoiseOctaves((double)var4 * var10, (double)var5 * var10) / 8.0D + this.rand.nextDouble() * 4.0D + 4.0D) / 3.0D); - if(var12 < 0) { - var12 = 0; - } - - WorldGenTrees var18 = new WorldGenTrees(); - if(this.rand.nextInt(10) == 0) { - ++var12; - } - - int var16; - for(var14 = 0; var14 < var12; ++var14) { - var15 = var4 + this.rand.nextInt(16) + 8; - var16 = var5 + this.rand.nextInt(16) + 8; - var18.setScale(1.0D, 1.0D, 1.0D); - var18.generate(this.worldObj, this.rand, var15, this.worldObj.getHeightValue(var15, var16), var16); - } - - int var17; - for(var14 = 0; var14 < 2; ++var14) { - var15 = var4 + this.rand.nextInt(16) + 8; - var16 = this.rand.nextInt(128); - var17 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenFlowers(Block.plantYellow.blockID)).generate(this.worldObj, this.rand, var15, var16, var17); - } - - if(this.rand.nextInt(2) == 0) { - var14 = var4 + this.rand.nextInt(16) + 8; - var15 = this.rand.nextInt(128); - var16 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenFlowers(Block.plantRed.blockID)).generate(this.worldObj, this.rand, var14, var15, var16); - } - - if(this.rand.nextInt(4) == 0) { - var14 = var4 + this.rand.nextInt(16) + 8; - var15 = this.rand.nextInt(128); - var16 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenFlowers(Block.mushroomBrown.blockID)).generate(this.worldObj, this.rand, var14, var15, var16); - } - - if(this.rand.nextInt(8) == 0) { - var14 = var4 + this.rand.nextInt(16) + 8; - var15 = this.rand.nextInt(128); - var16 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenFlowers(Block.mushroomRed.blockID)).generate(this.worldObj, this.rand, var14, var15, var16); - } - - for(var14 = 0; var14 < 50; ++var14) { - var15 = var4 + this.rand.nextInt(16) + 8; - var16 = this.rand.nextInt(this.rand.nextInt(120) + 8); - var17 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenLiquids(Block.waterMoving.blockID)).generate(this.worldObj, this.rand, var15, var16, var17); - } - - for(var14 = 0; var14 < 20; ++var14) { - var15 = var4 + this.rand.nextInt(16) + 8; - var16 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(112) + 8) + 8); - var17 = var5 + this.rand.nextInt(16) + 8; - (new WorldGenLiquids(Block.lavaMoving.blockID)).generate(this.worldObj, this.rand, var15, var16, var17); - } - - } - - public boolean saveChunks(boolean var1, IProgressUpdate var2) { - return true; - } - - public boolean unload100OldestChunks() { - return false; - } - - public boolean canSave() { - return true; - } -} diff --git a/src/main/java/net/minecraft/src/ChunkProviderIso.java b/src/main/java/net/minecraft/src/ChunkProviderIso.java deleted file mode 100644 index ca7a076..0000000 --- a/src/main/java/net/minecraft/src/ChunkProviderIso.java +++ /dev/null @@ -1,66 +0,0 @@ -package net.minecraft.src; - -import java.io.IOException; - -public class ChunkProviderIso implements IChunkProvider { - private Chunk[] chunks = new Chunk[256]; - private World worldObj; - private IChunkLoader chunkLoader; - byte[] blocks = new byte[-Short.MIN_VALUE]; - - public ChunkProviderIso(World var1, IChunkLoader var2) { - this.worldObj = var1; - this.chunkLoader = var2; - } - - public boolean chunkExists(int var1, int var2) { - int var3 = var1 & 15 | (var2 & 15) * 16; - return this.chunks[var3] != null && this.chunks[var3].isAtLocation(var1, var2); - } - - public Chunk provideChunk(int var1, int var2) { - int var3 = var1 & 15 | (var2 & 15) * 16; - - try { - if(!this.chunkExists(var1, var2)) { - Chunk var4 = this.getChunkAt(var1, var2); - if(var4 == null) { - var4 = new Chunk(this.worldObj, this.blocks, var1, var2); - var4.isChunkRendered = true; - var4.neverSave = true; - } - - this.chunks[var3] = var4; - } - - return this.chunks[var3]; - } catch (Exception var5) { - var5.printStackTrace(); - return null; - } - } - - private synchronized Chunk getChunkAt(int var1, int var2) { - try { - return this.chunkLoader.loadChunk(this.worldObj, var1, var2); - } catch (IOException var4) { - var4.printStackTrace(); - return null; - } - } - - public void populate(IChunkProvider var1, int var2, int var3) { - } - - public boolean saveChunks(boolean var1, IProgressUpdate var2) { - return true; - } - - public boolean unload100OldestChunks() { - return false; - } - - public boolean canSave() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/ChunkProviderLoadOrGenerate.java b/src/main/java/net/minecraft/src/ChunkProviderLoadOrGenerate.java deleted file mode 100644 index b4aff3d..0000000 --- a/src/main/java/net/minecraft/src/ChunkProviderLoadOrGenerate.java +++ /dev/null @@ -1,203 +0,0 @@ -package net.minecraft.src; - -import java.io.IOException; - -public class ChunkProviderLoadOrGenerate implements IChunkProvider { - private Chunk blankChunk; - private IChunkProvider chunkProvider; - private IChunkLoader chunkLoader; - private Chunk[] chunks = new Chunk[1024]; - private World worldObj; - int lastQueriedChunkXPos = -999999999; - int lastQueriedChunkZPos = -999999999; - private Chunk lastQueriedChunk; - - public ChunkProviderLoadOrGenerate(World var1, IChunkLoader var2, IChunkProvider var3) { - this.blankChunk = new Chunk(var1, new byte[-Short.MIN_VALUE], 0, 0); - this.blankChunk.isChunkRendered = true; - this.blankChunk.neverSave = true; - this.worldObj = var1; - this.chunkLoader = var2; - this.chunkProvider = var3; - } - - public boolean chunkExists(int var1, int var2) { - if(var1 == this.lastQueriedChunkXPos && var2 == this.lastQueriedChunkZPos && this.lastQueriedChunk != null) { - return true; - } else { - int var3 = var1 & 31; - int var4 = var2 & 31; - int var5 = var3 + var4 * 32; - return this.chunks[var5] != null && (this.chunks[var5] == this.blankChunk || this.chunks[var5].isAtLocation(var1, var2)); - } - } - - public Chunk provideChunk(int var1, int var2) { - if(var1 == this.lastQueriedChunkXPos && var2 == this.lastQueriedChunkZPos && this.lastQueriedChunk != null) { - return this.lastQueriedChunk; - } else { - int var3 = var1 & 31; - int var4 = var2 & 31; - int var5 = var3 + var4 * 32; - if(!this.chunkExists(var1, var2)) { - BlockSand.fallInstantly = true; - if(this.chunks[var5] != null) { - this.chunks[var5].onChunkUnload(); - this.saveChunk(this.chunks[var5]); - this.saveExtraChunkData(this.chunks[var5]); - } - - Chunk var6 = this.getChunkAt(var1, var2); - if(var6 == null) { - if(this.chunkProvider == null) { - var6 = this.blankChunk; - } else { - var6 = this.chunkProvider.provideChunk(var1, var2); - } - } - - this.chunks[var5] = var6; - if(this.chunks[var5] != null) { - this.chunks[var5].onChunkLoad(); - } - - if(!this.chunks[var5].isTerrainPopulated && this.chunkExists(var1 + 1, var2 + 1) && this.chunkExists(var1, var2 + 1) && this.chunkExists(var1 + 1, var2)) { - this.populate(this, var1, var2); - } - - if(this.chunkExists(var1 - 1, var2) && !this.provideChunk(var1 - 1, var2).isTerrainPopulated && this.chunkExists(var1 - 1, var2 + 1) && this.chunkExists(var1, var2 + 1) && this.chunkExists(var1 - 1, var2)) { - this.populate(this, var1 - 1, var2); - } - - if(this.chunkExists(var1, var2 - 1) && !this.provideChunk(var1, var2 - 1).isTerrainPopulated && this.chunkExists(var1 + 1, var2 - 1) && this.chunkExists(var1, var2 - 1) && this.chunkExists(var1 + 1, var2)) { - this.populate(this, var1, var2 - 1); - } - - if(this.chunkExists(var1 - 1, var2 - 1) && !this.provideChunk(var1 - 1, var2 - 1).isTerrainPopulated && this.chunkExists(var1 - 1, var2 - 1) && this.chunkExists(var1, var2 - 1) && this.chunkExists(var1 - 1, var2)) { - this.populate(this, var1 - 1, var2 - 1); - } - - BlockSand.fallInstantly = false; - } - - this.lastQueriedChunkXPos = var1; - this.lastQueriedChunkZPos = var2; - this.lastQueriedChunk = this.chunks[var5]; - return this.chunks[var5]; - } - } - - private Chunk getChunkAt(int var1, int var2) { - if(this.chunkLoader == null) { - return null; - } else { - try { - Chunk var3 = this.chunkLoader.loadChunk(this.worldObj, var1, var2); - if(var3 != null) { - var3.lastSaveTime = this.worldObj.worldTime; - } - - return var3; - } catch (Exception var4) { - var4.printStackTrace(); - return null; - } - } - } - - private void saveExtraChunkData(Chunk var1) { - if(this.chunkLoader != null) { - try { - this.chunkLoader.saveExtraChunkData(this.worldObj, var1); - } catch (Exception var3) { - var3.printStackTrace(); - } - - } - } - - private void saveChunk(Chunk var1) { - if(this.chunkLoader != null) { - try { - var1.lastSaveTime = this.worldObj.worldTime; - this.chunkLoader.saveChunk(this.worldObj, var1); - } catch (IOException var3) { - var3.printStackTrace(); - } - - } - } - - public void populate(IChunkProvider var1, int var2, int var3) { - Chunk var4 = this.provideChunk(var2, var3); - if(!var4.isTerrainPopulated) { - var4.isTerrainPopulated = true; - if(this.chunkProvider != null) { - this.chunkProvider.populate(var1, var2, var3); - var4.setChunkModified(); - } - } - - } - - public boolean saveChunks(boolean var1, IProgressUpdate var2) { - int var3 = 0; - int var4 = 0; - int var5; - if(var2 != null) { - for(var5 = 0; var5 < this.chunks.length; ++var5) { - if(this.chunks[var5] != null && this.chunks[var5].needsSaving(var1)) { - ++var4; - } - } - } - - var5 = 0; - - for(int var6 = 0; var6 < this.chunks.length; ++var6) { - if(this.chunks[var6] != null) { - if(var1 && !this.chunks[var6].neverSave) { - this.saveExtraChunkData(this.chunks[var6]); - } - - if(this.chunks[var6].needsSaving(var1)) { - this.saveChunk(this.chunks[var6]); - this.chunks[var6].isModified = false; - ++var3; - if(var3 == 2 && !var1) { - return false; - } - - if(var2 != null) { - ++var5; - if(var5 % 10 == 0) { - var2.setLoadingProgress(var5 * 100 / var4); - } - } - } - } - } - - if(var1) { - if(this.chunkLoader == null) { - return true; - } - - this.chunkLoader.saveExtraData(); - } - - return true; - } - - public boolean unload100OldestChunks() { - if(this.chunkLoader != null) { - this.chunkLoader.chunkTick(); - } - - return this.chunkProvider.unload100OldestChunks(); - } - - public boolean canSave() { - return true; - } -} diff --git a/src/main/java/net/minecraft/src/ClippingHelper.java b/src/main/java/net/minecraft/src/ClippingHelper.java deleted file mode 100644 index df283be..0000000 --- a/src/main/java/net/minecraft/src/ClippingHelper.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.minecraft.src; - -public class ClippingHelper { - public float[][] frustum = new float[16][16]; - public float[] projectionMatrix = new float[16]; - public float[] modelviewMatrix = new float[16]; - public float[] clippingMatrix = new float[16]; - - public boolean isBoxInFrustum(double var1, double var3, double var5, double var7, double var9, double var11) { - for(int var13 = 0; var13 < 6; ++var13) { - if((double)this.frustum[var13][0] * var1 + (double)this.frustum[var13][1] * var3 + (double)this.frustum[var13][2] * var5 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var7 + (double)this.frustum[var13][1] * var3 + (double)this.frustum[var13][2] * var5 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var1 + (double)this.frustum[var13][1] * var9 + (double)this.frustum[var13][2] * var5 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var7 + (double)this.frustum[var13][1] * var9 + (double)this.frustum[var13][2] * var5 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var1 + (double)this.frustum[var13][1] * var3 + (double)this.frustum[var13][2] * var11 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var7 + (double)this.frustum[var13][1] * var3 + (double)this.frustum[var13][2] * var11 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var1 + (double)this.frustum[var13][1] * var9 + (double)this.frustum[var13][2] * var11 + (double)this.frustum[var13][3] <= 0.0D && (double)this.frustum[var13][0] * var7 + (double)this.frustum[var13][1] * var9 + (double)this.frustum[var13][2] * var11 + (double)this.frustum[var13][3] <= 0.0D) { - return false; - } - } - - return true; - } -} diff --git a/src/main/java/net/minecraft/src/ClippingHelperImplementation.java b/src/main/java/net/minecraft/src/ClippingHelperImplementation.java deleted file mode 100644 index 8bf16a5..0000000 --- a/src/main/java/net/minecraft/src/ClippingHelperImplementation.java +++ /dev/null @@ -1,82 +0,0 @@ -package net.minecraft.src; - -import java.nio.FloatBuffer; -import org.lwjgl.opengl.GL11; - -public class ClippingHelperImplementation extends ClippingHelper { - private static ClippingHelperImplementation instance = new ClippingHelperImplementation(); - private FloatBuffer projectionMatrixBuffer = GLAllocation.createFloatBuffer(16); - private FloatBuffer modelviewMatrixBuffer = GLAllocation.createFloatBuffer(16); - private FloatBuffer floatBuffer = GLAllocation.createFloatBuffer(16); - - public static ClippingHelper getInstance() { - instance.init(); - return instance; - } - - private void normalize(float[][] var1, int var2) { - float var3 = MathHelper.sqrt_float(var1[var2][0] * var1[var2][0] + var1[var2][1] * var1[var2][1] + var1[var2][2] * var1[var2][2]); - var1[var2][0] /= var3; - var1[var2][1] /= var3; - var1[var2][2] /= var3; - var1[var2][3] /= var3; - } - - private void init() { - this.projectionMatrixBuffer.clear(); - this.modelviewMatrixBuffer.clear(); - this.floatBuffer.clear(); - GL11.glGetFloat(GL11.GL_PROJECTION_MATRIX, this.projectionMatrixBuffer); - GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, this.modelviewMatrixBuffer); - this.projectionMatrixBuffer.flip().limit(16); - this.projectionMatrixBuffer.get(this.projectionMatrix); - this.modelviewMatrixBuffer.flip().limit(16); - this.modelviewMatrixBuffer.get(this.modelviewMatrix); - this.clippingMatrix[0] = this.modelviewMatrix[0] * this.projectionMatrix[0] + this.modelviewMatrix[1] * this.projectionMatrix[4] + this.modelviewMatrix[2] * this.projectionMatrix[8] + this.modelviewMatrix[3] * this.projectionMatrix[12]; - this.clippingMatrix[1] = this.modelviewMatrix[0] * this.projectionMatrix[1] + this.modelviewMatrix[1] * this.projectionMatrix[5] + this.modelviewMatrix[2] * this.projectionMatrix[9] + this.modelviewMatrix[3] * this.projectionMatrix[13]; - this.clippingMatrix[2] = this.modelviewMatrix[0] * this.projectionMatrix[2] + this.modelviewMatrix[1] * this.projectionMatrix[6] + this.modelviewMatrix[2] * this.projectionMatrix[10] + this.modelviewMatrix[3] * this.projectionMatrix[14]; - this.clippingMatrix[3] = this.modelviewMatrix[0] * this.projectionMatrix[3] + this.modelviewMatrix[1] * this.projectionMatrix[7] + this.modelviewMatrix[2] * this.projectionMatrix[11] + this.modelviewMatrix[3] * this.projectionMatrix[15]; - this.clippingMatrix[4] = this.modelviewMatrix[4] * this.projectionMatrix[0] + this.modelviewMatrix[5] * this.projectionMatrix[4] + this.modelviewMatrix[6] * this.projectionMatrix[8] + this.modelviewMatrix[7] * this.projectionMatrix[12]; - this.clippingMatrix[5] = this.modelviewMatrix[4] * this.projectionMatrix[1] + this.modelviewMatrix[5] * this.projectionMatrix[5] + this.modelviewMatrix[6] * this.projectionMatrix[9] + this.modelviewMatrix[7] * this.projectionMatrix[13]; - this.clippingMatrix[6] = this.modelviewMatrix[4] * this.projectionMatrix[2] + this.modelviewMatrix[5] * this.projectionMatrix[6] + this.modelviewMatrix[6] * this.projectionMatrix[10] + this.modelviewMatrix[7] * this.projectionMatrix[14]; - this.clippingMatrix[7] = this.modelviewMatrix[4] * this.projectionMatrix[3] + this.modelviewMatrix[5] * this.projectionMatrix[7] + this.modelviewMatrix[6] * this.projectionMatrix[11] + this.modelviewMatrix[7] * this.projectionMatrix[15]; - this.clippingMatrix[8] = this.modelviewMatrix[8] * this.projectionMatrix[0] + this.modelviewMatrix[9] * this.projectionMatrix[4] + this.modelviewMatrix[10] * this.projectionMatrix[8] + this.modelviewMatrix[11] * this.projectionMatrix[12]; - this.clippingMatrix[9] = this.modelviewMatrix[8] * this.projectionMatrix[1] + this.modelviewMatrix[9] * this.projectionMatrix[5] + this.modelviewMatrix[10] * this.projectionMatrix[9] + this.modelviewMatrix[11] * this.projectionMatrix[13]; - this.clippingMatrix[10] = this.modelviewMatrix[8] * this.projectionMatrix[2] + this.modelviewMatrix[9] * this.projectionMatrix[6] + this.modelviewMatrix[10] * this.projectionMatrix[10] + this.modelviewMatrix[11] * this.projectionMatrix[14]; - this.clippingMatrix[11] = this.modelviewMatrix[8] * this.projectionMatrix[3] + this.modelviewMatrix[9] * this.projectionMatrix[7] + this.modelviewMatrix[10] * this.projectionMatrix[11] + this.modelviewMatrix[11] * this.projectionMatrix[15]; - this.clippingMatrix[12] = this.modelviewMatrix[12] * this.projectionMatrix[0] + this.modelviewMatrix[13] * this.projectionMatrix[4] + this.modelviewMatrix[14] * this.projectionMatrix[8] + this.modelviewMatrix[15] * this.projectionMatrix[12]; - this.clippingMatrix[13] = this.modelviewMatrix[12] * this.projectionMatrix[1] + this.modelviewMatrix[13] * this.projectionMatrix[5] + this.modelviewMatrix[14] * this.projectionMatrix[9] + this.modelviewMatrix[15] * this.projectionMatrix[13]; - this.clippingMatrix[14] = this.modelviewMatrix[12] * this.projectionMatrix[2] + this.modelviewMatrix[13] * this.projectionMatrix[6] + this.modelviewMatrix[14] * this.projectionMatrix[10] + this.modelviewMatrix[15] * this.projectionMatrix[14]; - this.clippingMatrix[15] = this.modelviewMatrix[12] * this.projectionMatrix[3] + this.modelviewMatrix[13] * this.projectionMatrix[7] + this.modelviewMatrix[14] * this.projectionMatrix[11] + this.modelviewMatrix[15] * this.projectionMatrix[15]; - this.frustum[0][0] = this.clippingMatrix[3] - this.clippingMatrix[0]; - this.frustum[0][1] = this.clippingMatrix[7] - this.clippingMatrix[4]; - this.frustum[0][2] = this.clippingMatrix[11] - this.clippingMatrix[8]; - this.frustum[0][3] = this.clippingMatrix[15] - this.clippingMatrix[12]; - this.normalize(this.frustum, 0); - this.frustum[1][0] = this.clippingMatrix[3] + this.clippingMatrix[0]; - this.frustum[1][1] = this.clippingMatrix[7] + this.clippingMatrix[4]; - this.frustum[1][2] = this.clippingMatrix[11] + this.clippingMatrix[8]; - this.frustum[1][3] = this.clippingMatrix[15] + this.clippingMatrix[12]; - this.normalize(this.frustum, 1); - this.frustum[2][0] = this.clippingMatrix[3] + this.clippingMatrix[1]; - this.frustum[2][1] = this.clippingMatrix[7] + this.clippingMatrix[5]; - this.frustum[2][2] = this.clippingMatrix[11] + this.clippingMatrix[9]; - this.frustum[2][3] = this.clippingMatrix[15] + this.clippingMatrix[13]; - this.normalize(this.frustum, 2); - this.frustum[3][0] = this.clippingMatrix[3] - this.clippingMatrix[1]; - this.frustum[3][1] = this.clippingMatrix[7] - this.clippingMatrix[5]; - this.frustum[3][2] = this.clippingMatrix[11] - this.clippingMatrix[9]; - this.frustum[3][3] = this.clippingMatrix[15] - this.clippingMatrix[13]; - this.normalize(this.frustum, 3); - this.frustum[4][0] = this.clippingMatrix[3] - this.clippingMatrix[2]; - this.frustum[4][1] = this.clippingMatrix[7] - this.clippingMatrix[6]; - this.frustum[4][2] = this.clippingMatrix[11] - this.clippingMatrix[10]; - this.frustum[4][3] = this.clippingMatrix[15] - this.clippingMatrix[14]; - this.normalize(this.frustum, 4); - this.frustum[5][0] = this.clippingMatrix[3] + this.clippingMatrix[2]; - this.frustum[5][1] = this.clippingMatrix[7] + this.clippingMatrix[6]; - this.frustum[5][2] = this.clippingMatrix[11] + this.clippingMatrix[10]; - this.frustum[5][3] = this.clippingMatrix[15] + this.clippingMatrix[14]; - this.normalize(this.frustum, 5); - } -} diff --git a/src/main/java/net/minecraft/src/CompressedStreamTools.java b/src/main/java/net/minecraft/src/CompressedStreamTools.java deleted file mode 100644 index 025017f..0000000 --- a/src/main/java/net/minecraft/src/CompressedStreamTools.java +++ /dev/null @@ -1,50 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataInputStream; -import java.io.DataOutput; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.zip.GZIPInputStream; -import java.util.zip.GZIPOutputStream; - -public class CompressedStreamTools { - public static NBTTagCompound readCompressed(InputStream var0) throws IOException { - DataInputStream var1 = new DataInputStream(new GZIPInputStream(var0)); - - NBTTagCompound var2; - try { - var2 = read(var1); - } finally { - var1.close(); - } - - return var2; - } - - public static void writeCompressed(NBTTagCompound var0, OutputStream var1) throws IOException { - DataOutputStream var2 = new DataOutputStream(new GZIPOutputStream(var1)); - - try { - write(var0, var2); - } finally { - var2.close(); - } - - } - - public static NBTTagCompound read(DataInput var0) throws IOException { - NBTBase var1 = NBTBase.readNamedTag(var0); - if(var1 instanceof NBTTagCompound) { - return (NBTTagCompound)var1; - } else { - throw new IOException("Root tag must be a named compound tag"); - } - } - - public static void write(NBTTagCompound var0, DataOutput var1) throws IOException { - NBTBase.writeNamedTag(var0, var1); - } -} diff --git a/src/main/java/net/minecraft/src/CraftingManager.java b/src/main/java/net/minecraft/src/CraftingManager.java deleted file mode 100644 index 21ff2e3..0000000 --- a/src/main/java/net/minecraft/src/CraftingManager.java +++ /dev/null @@ -1,107 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; - -public class CraftingManager { - private static final CraftingManager instance = new CraftingManager(); - private List recipes = new ArrayList(); - - public static final CraftingManager getInstance() { - return instance; - } - - private CraftingManager() { - (new RecipesTools()).addRecipes(this); - (new RecipesWeapons()).addRecipe(this); - (new RecipesIngots()).addRecipes(this); - (new RecipesFood()).addRecipes(this); - (new RecipesCrafting()).addRecipes(this); - (new RecipesArmor()).addRecipes(this); - this.addRecipe(new ItemStack(Block.cloth, 1), new Object[]{"###", "###", "###", Character.valueOf('#'), Item.silk}); - this.addRecipe(new ItemStack(Block.tnt, 1), new Object[]{"X#X", "#X#", "X#X", Character.valueOf('X'), Item.gunpowder, Character.valueOf('#'), Block.sand}); - this.addRecipe(new ItemStack(Block.stairSingle, 3), new Object[]{"###", Character.valueOf('#'), Block.cobblestone}); - this.addRecipe(new ItemStack(Block.ladder, 1), new Object[]{"# #", "###", "# #", Character.valueOf('#'), Item.stick}); - this.addRecipe(new ItemStack(Item.door, 1), new Object[]{"##", "##", "##", Character.valueOf('#'), Block.planks}); - this.addRecipe(new ItemStack(Item.sign, 1), new Object[]{"###", "###", " X ", Character.valueOf('#'), Block.planks, Character.valueOf('X'), Item.stick}); - this.addRecipe(new ItemStack(Block.planks, 4), new Object[]{"#", Character.valueOf('#'), Block.wood}); - this.addRecipe(new ItemStack(Item.stick, 4), new Object[]{"#", "#", Character.valueOf('#'), Block.planks}); - this.addRecipe(new ItemStack(Block.torch, 4), new Object[]{"X", "#", Character.valueOf('X'), Item.coal, Character.valueOf('#'), Item.stick}); - this.addRecipe(new ItemStack(Item.bowlEmpty, 4), new Object[]{"# #", " # ", Character.valueOf('#'), Block.planks}); - this.addRecipe(new ItemStack(Block.minecartTrack, 16), new Object[]{"X X", "X#X", "X X", Character.valueOf('X'), Item.ingotIron, Character.valueOf('#'), Item.stick}); - this.addRecipe(new ItemStack(Item.minecart, 1), new Object[]{"# #", "###", Character.valueOf('#'), Item.ingotIron}); - this.addRecipe(new ItemStack(Item.bucketEmpty, 1), new Object[]{"# #", " # ", Character.valueOf('#'), Item.ingotIron}); - this.addRecipe(new ItemStack(Item.striker, 1), new Object[]{"A ", " B", Character.valueOf('A'), Item.ingotIron, Character.valueOf('B'), Item.flint}); - this.addRecipe(new ItemStack(Item.bread, 1), new Object[]{"###", Character.valueOf('#'), Item.wheat}); - this.addRecipe(new ItemStack(Block.stairCompactWood, 4), new Object[]{"# ", "## ", "###", Character.valueOf('#'), Block.planks}); - this.addRecipe(new ItemStack(Block.stairCompactStone, 4), new Object[]{"# ", "## ", "###", Character.valueOf('#'), Block.cobblestone}); - this.addRecipe(new ItemStack(Item.painting, 1), new Object[]{"###", "#X#", "###", Character.valueOf('#'), Item.stick, Character.valueOf('X'), Block.cloth}); - this.addRecipe(new ItemStack(Item.appleGold, 1), new Object[]{"###", "#X#", "###", Character.valueOf('#'), Block.blockGold, Character.valueOf('X'), Item.appleRed}); - Collections.sort(this.recipes, new RecipeSorter(this)); - System.out.println(this.recipes.size() + " recipes"); - } - - void addRecipe(ItemStack var1, Object... var2) { - String var3 = ""; - int var4 = 0; - int var5 = 0; - int var6 = 0; - if(var2[var4] instanceof String[]) { - String[] var11 = (String[])((String[])var2[var4++]); - - for(int var8 = 0; var8 < var11.length; ++var8) { - String var9 = var11[var8]; - ++var6; - var5 = var9.length(); - var3 = var3 + var9; - } - } else { - while(var2[var4] instanceof String) { - String var7 = (String)var2[var4++]; - ++var6; - var5 = var7.length(); - var3 = var3 + var7; - } - } - - HashMap var12; - int var15; - for(var12 = new HashMap(); var4 < var2.length; var4 += 2) { - Character var13 = (Character)var2[var4]; - var15 = 0; - if(var2[var4 + 1] instanceof Item) { - var15 = ((Item)var2[var4 + 1]).shiftedIndex; - } else if(var2[var4 + 1] instanceof Block) { - var15 = ((Block)var2[var4 + 1]).blockID; - } - - var12.put(var13, Integer.valueOf(var15)); - } - - int[] var14 = new int[var5 * var6]; - - for(var15 = 0; var15 < var5 * var6; ++var15) { - char var10 = var3.charAt(var15); - if(var12.containsKey(Character.valueOf(var10))) { - var14[var15] = ((Integer)var12.get(Character.valueOf(var10))).intValue(); - } else { - var14[var15] = -1; - } - } - - this.recipes.add(new CraftingRecipe(var5, var6, var14, var1)); - } - - public ItemStack findMatchingRecipe(int[] var1) { - for(int var2 = 0; var2 < this.recipes.size(); ++var2) { - CraftingRecipe var3 = (CraftingRecipe)this.recipes.get(var2); - if(var3.matchRecipe(var1)) { - return var3.createResult(var1); - } - } - - return null; - } -} diff --git a/src/main/java/net/minecraft/src/CraftingRecipe.java b/src/main/java/net/minecraft/src/CraftingRecipe.java deleted file mode 100644 index 37b74c6..0000000 --- a/src/main/java/net/minecraft/src/CraftingRecipe.java +++ /dev/null @@ -1,64 +0,0 @@ -package net.minecraft.src; - -public class CraftingRecipe { - private int width; - private int height; - private int[] ingredientMap; - private ItemStack resultStack; - public final int resultId; - - public CraftingRecipe(int var1, int var2, int[] var3, ItemStack var4) { - this.resultId = var4.itemID; - this.width = var1; - this.height = var2; - this.ingredientMap = var3; - this.resultStack = var4; - } - - public boolean matchRecipe(int[] var1) { - for(int var2 = 0; var2 <= 3 - this.width; ++var2) { - for(int var3 = 0; var3 <= 3 - this.height; ++var3) { - if(this.checkMatch(var1, var2, var3, true)) { - return true; - } - - if(this.checkMatch(var1, var2, var3, false)) { - return true; - } - } - } - - return false; - } - - private boolean checkMatch(int[] var1, int var2, int var3, boolean var4) { - for(int var5 = 0; var5 < 3; ++var5) { - for(int var6 = 0; var6 < 3; ++var6) { - int var7 = var5 - var2; - int var8 = var6 - var3; - int var9 = -1; - if(var7 >= 0 && var8 >= 0 && var7 < this.width && var8 < this.height) { - if(var4) { - var9 = this.ingredientMap[this.width - var7 - 1 + var8 * this.width]; - } else { - var9 = this.ingredientMap[var7 + var8 * this.width]; - } - } - - if(var1[var5 + var6 * 3] != var9) { - return false; - } - } - } - - return true; - } - - public ItemStack createResult(int[] var1) { - return new ItemStack(this.resultStack.itemID, this.resultStack.stackSize); - } - - public int getRecipeSize() { - return this.width * this.height; - } -} diff --git a/src/main/java/net/minecraft/src/EffectRenderer.java b/src/main/java/net/minecraft/src/EffectRenderer.java deleted file mode 100644 index 8b30d9b..0000000 --- a/src/main/java/net/minecraft/src/EffectRenderer.java +++ /dev/null @@ -1,162 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import org.lwjgl.opengl.GL11; - -public class EffectRenderer { - protected World worldObj; - private List[] fxLayers = new List[3]; - private RenderEngine renderer; - private Random rand = new Random(); - - public EffectRenderer(World var1, RenderEngine var2) { - if(var1 != null) { - this.worldObj = var1; - } - - this.renderer = var2; - - for(int var3 = 0; var3 < 3; ++var3) { - this.fxLayers[var3] = new ArrayList(); - } - - } - - public void addEffect(EntityFX var1) { - int var2 = var1.getFXLayer(); - this.fxLayers[var2].add(var1); - } - - public void updateEffects() { - for(int var1 = 0; var1 < 3; ++var1) { - for(int var2 = 0; var2 < this.fxLayers[var1].size(); ++var2) { - EntityFX var3 = (EntityFX)this.fxLayers[var1].get(var2); - var3.onUpdate(); - if(var3.isDead) { - this.fxLayers[var1].remove(var2--); - } - } - } - - } - - public void renderParticles(Entity var1, float var2) { - float var3 = MathHelper.cos(var1.rotationYaw * (float)Math.PI / 180.0F); - float var4 = MathHelper.sin(var1.rotationYaw * (float)Math.PI / 180.0F); - float var5 = -var4 * MathHelper.sin(var1.rotationPitch * (float)Math.PI / 180.0F); - float var6 = var3 * MathHelper.sin(var1.rotationPitch * (float)Math.PI / 180.0F); - float var7 = MathHelper.cos(var1.rotationPitch * (float)Math.PI / 180.0F); - EntityFX.interpPosX = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var2; - EntityFX.interpPosY = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var2; - EntityFX.interpPosZ = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var2; - - for(int var8 = 0; var8 < 2; ++var8) { - if(this.fxLayers[var8].size() != 0) { - int var9 = 0; - if(var8 == 0) { - var9 = this.renderer.getTexture("/particles.png"); - } - - if(var8 == 1) { - var9 = this.renderer.getTexture("/terrain.png"); - } - - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var9); - Tessellator var10 = Tessellator.instance; - var10.startDrawingQuads(); - - for(int var11 = 0; var11 < this.fxLayers[var8].size(); ++var11) { - EntityFX var12 = (EntityFX)this.fxLayers[var8].get(var11); - var12.renderParticle(var10, var2, var3, var7, var4, var5, var6); - } - - var10.draw(); - } - } - - } - - public void renderLitParticles(Entity var1, float var2) { - byte var3 = 2; - if(this.fxLayers[var3].size() != 0) { - Tessellator var4 = Tessellator.instance; - - for(int var5 = 0; var5 < this.fxLayers[var3].size(); ++var5) { - EntityFX var6 = (EntityFX)this.fxLayers[var3].get(var5); - var6.renderParticle(var4, var2, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F); - } - - } - } - - public void clearEffects(World var1) { - this.worldObj = var1; - - for(int var2 = 0; var2 < 3; ++var2) { - this.fxLayers[var2].clear(); - } - - } - - public void addBlockDestroyEffects(int var1, int var2, int var3) { - int var4 = this.worldObj.getBlockId(var1, var2, var3); - if(var4 != 0) { - Block var5 = Block.blocksList[var4]; - byte var6 = 4; - - for(int var7 = 0; var7 < var6; ++var7) { - for(int var8 = 0; var8 < var6; ++var8) { - for(int var9 = 0; var9 < var6; ++var9) { - double var10 = (double)var1 + ((double)var7 + 0.5D) / (double)var6; - double var12 = (double)var2 + ((double)var8 + 0.5D) / (double)var6; - double var14 = (double)var3 + ((double)var9 + 0.5D) / (double)var6; - this.addEffect(new EntityDiggingFX(this.worldObj, var10, var12, var14, var10 - (double)var1 - 0.5D, var12 - (double)var2 - 0.5D, var14 - (double)var3 - 0.5D, var5)); - } - } - } - - } - } - - public void addBlockHitEffects(int var1, int var2, int var3, int var4) { - int var5 = this.worldObj.getBlockId(var1, var2, var3); - if(var5 != 0) { - Block var6 = Block.blocksList[var5]; - float var7 = 0.1F; - double var8 = (double)var1 + this.rand.nextDouble() * (var6.maxX - var6.minX - (double)(var7 * 2.0F)) + (double)var7 + var6.minX; - double var10 = (double)var2 + this.rand.nextDouble() * (var6.maxY - var6.minY - (double)(var7 * 2.0F)) + (double)var7 + var6.minY; - double var12 = (double)var3 + this.rand.nextDouble() * (var6.maxZ - var6.minZ - (double)(var7 * 2.0F)) + (double)var7 + var6.minZ; - if(var4 == 0) { - var10 = (double)var2 + var6.minY - (double)var7; - } - - if(var4 == 1) { - var10 = (double)var2 + var6.maxY + (double)var7; - } - - if(var4 == 2) { - var12 = (double)var3 + var6.minZ - (double)var7; - } - - if(var4 == 3) { - var12 = (double)var3 + var6.maxZ + (double)var7; - } - - if(var4 == 4) { - var8 = (double)var1 + var6.minX - (double)var7; - } - - if(var4 == 5) { - var8 = (double)var1 + var6.maxX + (double)var7; - } - - this.addEffect((new EntityDiggingFX(this.worldObj, var8, var10, var12, 0.0D, 0.0D, 0.0D, var6)).multiplyVelocity(0.2F).multipleParticleScaleBy(0.6F)); - } - } - - public String getStatistics() { - return "" + (this.fxLayers[0].size() + this.fxLayers[1].size() + this.fxLayers[2].size()); - } -} diff --git a/src/main/java/net/minecraft/src/Entity.java b/src/main/java/net/minecraft/src/Entity.java deleted file mode 100644 index 64fc4ce..0000000 --- a/src/main/java/net/minecraft/src/Entity.java +++ /dev/null @@ -1,728 +0,0 @@ -package net.minecraft.src; - -import java.util.List; -import java.util.Random; - -public abstract class Entity { - public boolean preventEntitySpawning = false; - public Entity riddenByEntity; - public Entity ridingEntity; - protected World worldObj; - public double prevPosX; - public double prevPosY; - public double prevPosZ; - public double posX; - public double posY; - public double posZ; - public double motionX; - public double motionY; - public double motionZ; - public float rotationYaw; - public float rotationPitch; - public float prevRotationYaw; - public float prevRotationPitch; - public final AxisAlignedBB boundingBox = AxisAlignedBB.getBoundingBox(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D); - public boolean onGround = false; - public boolean isCollidedHorizontally = false; - public boolean isCollided = false; - public boolean surfaceCollision = true; - public boolean isDead = false; - public float yOffset = 0.0F; - public float width = 0.6F; - public float height = 1.8F; - public float prevDistanceWalkedModified = 0.0F; - public float distanceWalkedModified = 0.0F; - protected boolean canTriggerWalking = true; - protected float fallDistance = 0.0F; - private int nextStepDistance = 1; - public double lastTickPosX; - public double lastTickPosY; - public double lastTickPosZ; - public float ySize = 0.0F; - public float stepHeight = 0.0F; - public boolean noClip = false; - public float entityCollisionReduction = 0.0F; - public boolean unusedBool = false; - protected Random rand = new Random(); - public int ticksExisted = 0; - public int fireResistance = 1; - public int fire = 0; - protected int maxAir = 300; - protected boolean inWater = false; - public int heartsLife = 0; - public int air = 300; - private boolean isFirstUpdate = true; - public String skinUrl; - private double entityRiderPitchDelta; - private double entityRiderYawDelta; - - public Entity(World var1) { - this.worldObj = var1; - this.setPosition(0.0D, 0.0D, 0.0D); - } - - protected void preparePlayerToSpawn() { - if(this.worldObj != null) { - while(this.posY > 0.0D) { - this.setPosition(this.posX, this.posY, this.posZ); - if(this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).size() == 0) { - break; - } - - ++this.posY; - } - - this.motionX = this.motionY = this.motionZ = 0.0D; - this.rotationPitch = 0.0F; - } - } - - public void setEntityDead() { - this.isDead = true; - } - - protected void setSize(float var1, float var2) { - this.width = var1; - this.height = var2; - } - - protected void setRotation(float var1, float var2) { - this.rotationYaw = var1; - this.rotationPitch = var2; - } - - public void setPosition(double var1, double var3, double var5) { - this.posX = var1; - this.posY = var3; - this.posZ = var5; - float var7 = this.width / 2.0F; - float var8 = this.height / 2.0F; - this.boundingBox.setBounds(var1 - (double)var7, var3 - (double)var8, var5 - (double)var7, var1 + (double)var7, var3 + (double)var8, var5 + (double)var7); - } - - public void setAngles(float var1, float var2) { - float var3 = this.rotationPitch; - float var4 = this.rotationYaw; - this.rotationYaw = (float)((double)this.rotationYaw + (double)var1 * 0.15D); - this.rotationPitch = (float)((double)this.rotationPitch - (double)var2 * 0.15D); - if(this.rotationPitch < -90.0F) { - this.rotationPitch = -90.0F; - } - - if(this.rotationPitch > 90.0F) { - this.rotationPitch = 90.0F; - } - - this.prevRotationPitch += this.rotationPitch - var3; - this.prevRotationYaw += this.rotationYaw - var4; - } - - public void onUpdate() { - this.onEntityUpdate(); - } - - public void onEntityUpdate() { - if(this.ridingEntity != null && this.ridingEntity.isDead) { - this.ridingEntity = null; - } - - ++this.ticksExisted; - this.prevDistanceWalkedModified = this.distanceWalkedModified; - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.prevRotationPitch = this.rotationPitch; - this.prevRotationYaw = this.rotationYaw; - if(this.handleWaterMovement()) { - if(!this.inWater && !this.isFirstUpdate) { - float var1 = MathHelper.sqrt_double(this.motionX * this.motionX * (double)0.2F + this.motionY * this.motionY + this.motionZ * this.motionZ * (double)0.2F) * 0.2F; - if(var1 > 1.0F) { - var1 = 1.0F; - } - - this.worldObj.playSoundAtEntity(this, "random.splash", var1, 1.0F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); - float var2 = (float)MathHelper.floor_double(this.boundingBox.minY); - - int var3; - float var4; - float var5; - for(var3 = 0; (float)var3 < 1.0F + this.width * 20.0F; ++var3) { - var4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - var5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("bubble", this.posX + (double)var4, (double)(var2 + 1.0F), this.posZ + (double)var5, this.motionX, this.motionY - (double)(this.rand.nextFloat() * 0.2F), this.motionZ); - } - - for(var3 = 0; (float)var3 < 1.0F + this.width * 20.0F; ++var3) { - var4 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - var5 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width; - this.worldObj.spawnParticle("splash", this.posX + (double)var4, (double)(var2 + 1.0F), this.posZ + (double)var5, this.motionX, this.motionY, this.motionZ); - } - } - - this.fallDistance = 0.0F; - this.inWater = true; - this.fire = 0; - } else { - this.inWater = false; - } - - if(this.fire > 0) { - if(this.fire % 20 == 0) { - this.attackEntityFrom((Entity)null, 1); - } - - --this.fire; - } - - if(this.handleLavaMovement()) { - this.attackEntityFrom((Entity)null, 10); - this.fire = 600; - } - - if(this.posY < -64.0D) { - this.kill(); - } - - this.isFirstUpdate = false; - } - - protected void kill() { - this.setEntityDead(); - } - - public boolean isOffsetPositionInLiquid(double var1, double var3, double var5) { - AxisAlignedBB var7 = this.boundingBox.getOffsetBoundingBox(var1, var3, var5); - List var8 = this.worldObj.getCollidingBoundingBoxes(this, var7); - return var8.size() > 0 ? false : !this.worldObj.getIsAnyLiquid(var7); - } - - public void moveEntity(double var1, double var3, double var5) { - if(this.noClip) { - this.boundingBox.offset(var1, var3, var5); - this.posX = (this.boundingBox.minX + this.boundingBox.maxX) / 2.0D; - this.posY = this.boundingBox.minY + (double)this.yOffset - (double)this.ySize; - this.posZ = (this.boundingBox.minZ + this.boundingBox.maxZ) / 2.0D; - } else { - double var7 = this.posX; - double var9 = this.posZ; - double var11 = var1; - double var13 = var3; - double var15 = var5; - AxisAlignedBB var17 = this.boundingBox.copy(); - List var18 = this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox.addCoord(var1, var3, var5)); - - for(int var19 = 0; var19 < var18.size(); ++var19) { - var3 = ((AxisAlignedBB)var18.get(var19)).calculateYOffset(this.boundingBox, var3); - } - - this.boundingBox.offset(0.0D, var3, 0.0D); - if(!this.surfaceCollision && var13 != var3) { - var5 = 0.0D; - var3 = var5; - var1 = var5; - } - - boolean var29 = this.onGround || var13 != var3 && var13 < 0.0D; - - int var20; - for(var20 = 0; var20 < var18.size(); ++var20) { - var1 = ((AxisAlignedBB)var18.get(var20)).calculateXOffset(this.boundingBox, var1); - } - - this.boundingBox.offset(var1, 0.0D, 0.0D); - if(!this.surfaceCollision && var11 != var1) { - var5 = 0.0D; - var3 = var5; - var1 = var5; - } - - for(var20 = 0; var20 < var18.size(); ++var20) { - var5 = ((AxisAlignedBB)var18.get(var20)).calculateZOffset(this.boundingBox, var5); - } - - this.boundingBox.offset(0.0D, 0.0D, var5); - if(!this.surfaceCollision && var15 != var5) { - var5 = 0.0D; - var3 = var5; - var1 = var5; - } - - double var22; - int var27; - double var30; - if(this.stepHeight > 0.0F && var29 && this.ySize < 0.05F && (var11 != var1 || var15 != var5)) { - var30 = var1; - var22 = var3; - double var24 = var5; - var1 = var11; - var3 = (double)this.stepHeight; - var5 = var15; - AxisAlignedBB var26 = this.boundingBox.copy(); - this.boundingBox.setBB(var17); - var18 = this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox.addCoord(var11, var3, var15)); - - for(var27 = 0; var27 < var18.size(); ++var27) { - var3 = ((AxisAlignedBB)var18.get(var27)).calculateYOffset(this.boundingBox, var3); - } - - this.boundingBox.offset(0.0D, var3, 0.0D); - if(!this.surfaceCollision && var13 != var3) { - var5 = 0.0D; - var3 = var5; - var1 = var5; - } - - for(var27 = 0; var27 < var18.size(); ++var27) { - var1 = ((AxisAlignedBB)var18.get(var27)).calculateXOffset(this.boundingBox, var1); - } - - this.boundingBox.offset(var1, 0.0D, 0.0D); - if(!this.surfaceCollision && var11 != var1) { - var5 = 0.0D; - var3 = var5; - var1 = var5; - } - - for(var27 = 0; var27 < var18.size(); ++var27) { - var5 = ((AxisAlignedBB)var18.get(var27)).calculateZOffset(this.boundingBox, var5); - } - - this.boundingBox.offset(0.0D, 0.0D, var5); - if(!this.surfaceCollision && var15 != var5) { - var5 = 0.0D; - var3 = var5; - var1 = var5; - } - - if(var30 * var30 + var24 * var24 >= var1 * var1 + var5 * var5) { - var1 = var30; - var3 = var22; - var5 = var24; - this.boundingBox.setBB(var26); - } else { - this.ySize = (float)((double)this.ySize + 0.5D); - } - } - - this.posX = (this.boundingBox.minX + this.boundingBox.maxX) / 2.0D; - this.posY = this.boundingBox.minY + (double)this.yOffset - (double)this.ySize; - this.posZ = (this.boundingBox.minZ + this.boundingBox.maxZ) / 2.0D; - this.isCollidedHorizontally = var11 != var1 || var15 != var5; - this.onGround = var13 != var3 && var13 < 0.0D; - this.isCollided = this.isCollidedHorizontally || var13 != var3; - if(this.onGround) { - if(this.fallDistance > 0.0F) { - this.fall(this.fallDistance); - this.fallDistance = 0.0F; - } - } else if(var3 < 0.0D) { - this.fallDistance = (float)((double)this.fallDistance - var3); - } - - if(var11 != var1) { - this.motionX = 0.0D; - } - - if(var13 != var3) { - this.motionY = 0.0D; - } - - if(var15 != var5) { - this.motionZ = 0.0D; - } - - var30 = this.posX - var7; - var22 = this.posZ - var9; - this.distanceWalkedModified = (float)((double)this.distanceWalkedModified + (double)MathHelper.sqrt_double(var30 * var30 + var22 * var22) * 0.6D); - if(this.canTriggerWalking) { - int var31 = MathHelper.floor_double(this.posX); - int var25 = MathHelper.floor_double(this.posY - (double)0.2F - (double)this.yOffset); - int var33 = MathHelper.floor_double(this.posZ); - var27 = this.worldObj.getBlockId(var31, var25, var33); - if(this.distanceWalkedModified > (float)this.nextStepDistance && var27 > 0) { - ++this.nextStepDistance; - StepSound var28 = Block.blocksList[var27].stepSound; - if(!Block.blocksList[var27].blockMaterial.getIsLiquid()) { - this.worldObj.playSoundAtEntity(this, var28.getStepSound(), var28.getVolume() * 0.15F, var28.getPitch()); - } - - Block.blocksList[var27].onEntityWalking(this.worldObj, var31, var25, var33, this); - } - } - - this.ySize *= 0.4F; - boolean var32 = this.handleWaterMovement(); - if(this.worldObj.isBoundingBoxBurning(this.boundingBox)) { - this.dealFireDamage(1); - if(!var32) { - ++this.fire; - if(this.fire == 0) { - this.fire = 300; - } - } - } else if(this.fire <= 0) { - this.fire = -this.fireResistance; - } - - if(var32 && this.fire > 0) { - this.worldObj.playSoundAtEntity(this, "random.fizz", 0.7F, 1.6F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.4F); - this.fire = -this.fireResistance; - } - - } - } - - public AxisAlignedBB getBoundingBox() { - return null; - } - - protected void dealFireDamage(int var1) { - this.attackEntityFrom((Entity)null, var1); - } - - protected void fall(float var1) { - } - - public boolean handleWaterMovement() { - return this.worldObj.handleMaterialAcceleration(this.boundingBox.expand(0.0D, (double)-0.4F, 0.0D), Material.water, this); - } - - public boolean isInsideOfMaterial(Material var1) { - double var2 = this.posY + (double)this.getEyeHeight(); - int var4 = MathHelper.floor_double(this.posX); - int var5 = MathHelper.floor_float((float)MathHelper.floor_double(var2)); - int var6 = MathHelper.floor_double(this.posZ); - int var7 = this.worldObj.getBlockId(var4, var5, var6); - if(var7 != 0 && Block.blocksList[var7].blockMaterial == var1) { - float var8 = BlockFluid.getPercentAir(this.worldObj.getBlockMetadata(var4, var5, var6)) - 1.0F / 9.0F; - float var9 = (float)(var5 + 1) - var8; - return var2 < (double)var9; - } else { - return false; - } - } - - protected float getEyeHeight() { - return 0.0F; - } - - public boolean handleLavaMovement() { - return this.worldObj.isMaterialInBB(this.boundingBox.expand(0.0D, (double)-0.4F, 0.0D), Material.lava); - } - - public void moveFlying(float var1, float var2, float var3) { - float var4 = MathHelper.sqrt_float(var1 * var1 + var2 * var2); - if(var4 >= 0.01F) { - if(var4 < 1.0F) { - var4 = 1.0F; - } - - var4 = var3 / var4; - var1 *= var4; - var2 *= var4; - float var5 = MathHelper.sin(this.rotationYaw * (float)Math.PI / 180.0F); - float var6 = MathHelper.cos(this.rotationYaw * (float)Math.PI / 180.0F); - this.motionX += (double)(var1 * var6 - var2 * var5); - this.motionZ += (double)(var2 * var6 + var1 * var5); - } - } - - public float getEntityBrightness(float var1) { - int var2 = MathHelper.floor_double(this.posX); - double var3 = (this.boundingBox.maxY - this.boundingBox.minY) * 0.66D; - int var5 = MathHelper.floor_double(this.posY - (double)this.yOffset + var3); - int var6 = MathHelper.floor_double(this.posZ); - return this.worldObj.getBrightness(var2, var5, var6); - } - - public void setWorld(World var1) { - this.worldObj = var1; - } - - public void setPositionAndRotation(double var1, double var3, double var5, float var7, float var8) { - this.prevPosX = this.posX = var1; - this.prevPosY = this.posY = var3 + (double)this.yOffset; - this.prevPosZ = this.posZ = var5; - this.rotationYaw = var7; - this.rotationPitch = var8; - this.setPosition(this.posX, this.posY, this.posZ); - } - - public float getDistanceToEntity(Entity var1) { - float var2 = (float)(this.posX - var1.posX); - float var3 = (float)(this.posY - var1.posY); - float var4 = (float)(this.posZ - var1.posZ); - return MathHelper.sqrt_float(var2 * var2 + var3 * var3 + var4 * var4); - } - - public double getDistanceSq(double var1, double var3, double var5) { - double var7 = this.posX - var1; - double var9 = this.posY - var3; - double var11 = this.posZ - var5; - return var7 * var7 + var9 * var9 + var11 * var11; - } - - public double getDistance(double var1, double var3, double var5) { - double var7 = this.posX - var1; - double var9 = this.posY - var3; - double var11 = this.posZ - var5; - return (double)MathHelper.sqrt_double(var7 * var7 + var9 * var9 + var11 * var11); - } - - public double getDistanceSqToEntity(Entity var1) { - double var2 = this.posX - var1.posX; - double var4 = this.posY - var1.posY; - double var6 = this.posZ - var1.posZ; - return var2 * var2 + var4 * var4 + var6 * var6; - } - - public void onCollideWithPlayer(EntityPlayer var1) { - } - - public void applyEntityCollision(Entity var1) { - double var2 = var1.posX - this.posX; - double var4 = var1.posZ - this.posZ; - double var6 = MathHelper.abs_max(var2, var4); - if(var6 >= (double)0.01F) { - var6 = (double)MathHelper.sqrt_double(var6); - var2 /= var6; - var4 /= var6; - double var8 = 1.0D / var6; - if(var8 > 1.0D) { - var8 = 1.0D; - } - - var2 *= var8; - var4 *= var8; - var2 *= (double)0.05F; - var4 *= (double)0.05F; - var2 *= (double)(1.0F - this.entityCollisionReduction); - var4 *= (double)(1.0F - this.entityCollisionReduction); - this.addVelocity(-var2, 0.0D, -var4); - var1.addVelocity(var2, 0.0D, var4); - } - - } - - public void addVelocity(double var1, double var3, double var5) { - this.motionX += var1; - this.motionY += var3; - this.motionZ += var5; - } - - public boolean attackEntityFrom(Entity var1, int var2) { - return false; - } - - public boolean canBeCollidedWith() { - return false; - } - - public boolean canBePushed() { - return false; - } - - public void addToPlayerScore(Entity var1, int var2) { - } - - public boolean isInRangeToRenderVec3D(Vec3D var1) { - double var2 = this.posX - var1.xCoord; - double var4 = this.posY - var1.yCoord; - double var6 = this.posZ - var1.zCoord; - double var8 = var2 * var2 + var4 * var4 + var6 * var6; - return this.isInRangeToRenderDist(var8); - } - - public boolean isInRangeToRenderDist(double var1) { - double var3 = this.boundingBox.getAverageEdgeLength(); - var3 *= 64.0D; - return var1 < var3 * var3; - } - - public String getTexture() { - return null; - } - - public boolean addEntityID(NBTTagCompound var1) { - String var2 = this.getEntityString(); - if(!this.isDead && var2 != null) { - var1.setString("id", var2); - this.writeToNBT(var1); - return true; - } else { - return false; - } - } - - public void writeToNBT(NBTTagCompound var1) { - var1.setTag("Pos", this.newDoubleNBTList(new double[]{this.posX, this.posY, this.posZ})); - var1.setTag("Motion", this.newDoubleNBTList(new double[]{this.motionX, this.motionY, this.motionZ})); - var1.setTag("Rotation", this.newFloatNBTList(new float[]{this.rotationYaw, this.rotationPitch})); - var1.setFloat("FallDistance", this.fallDistance); - var1.setShort("Fire", (short)this.fire); - var1.setShort("Air", (short)this.air); - var1.setBoolean("OnGround", this.onGround); - this.writeEntityToNBT(var1); - } - - public void readFromNBT(NBTTagCompound var1) { - NBTTagList var2 = var1.getTagList("Pos"); - NBTTagList var3 = var1.getTagList("Motion"); - NBTTagList var4 = var1.getTagList("Rotation"); - this.setPosition(0.0D, 0.0D, 0.0D); - this.motionX = ((NBTTagDouble)var3.tagAt(0)).doubleValue; - this.motionY = ((NBTTagDouble)var3.tagAt(1)).doubleValue; - this.motionZ = ((NBTTagDouble)var3.tagAt(2)).doubleValue; - this.prevPosX = this.lastTickPosX = this.posX = ((NBTTagDouble)var2.tagAt(0)).doubleValue; - this.prevPosY = this.lastTickPosY = this.posY = ((NBTTagDouble)var2.tagAt(1)).doubleValue; - this.prevPosZ = this.lastTickPosZ = this.posZ = ((NBTTagDouble)var2.tagAt(2)).doubleValue; - this.prevRotationYaw = this.rotationYaw = ((NBTTagFloat)var4.tagAt(0)).floatValue; - this.prevRotationPitch = this.rotationPitch = ((NBTTagFloat)var4.tagAt(1)).floatValue; - this.fallDistance = var1.getFloat("FallDistance"); - this.fire = var1.getShort("Fire"); - this.air = var1.getShort("Air"); - this.onGround = var1.getBoolean("OnGround"); - this.setPosition(this.posX, this.posY, this.posZ); - this.readEntityFromNBT(var1); - } - - protected final String getEntityString() { - return EntityList.getEntityString(this); - } - - protected abstract void readEntityFromNBT(NBTTagCompound var1); - - protected abstract void writeEntityToNBT(NBTTagCompound var1); - - protected NBTTagList newDoubleNBTList(double... var1) { - NBTTagList var2 = new NBTTagList(); - double[] var3 = var1; - int var4 = var1.length; - - for(int var5 = 0; var5 < var4; ++var5) { - double var6 = var3[var5]; - var2.setTag(new NBTTagDouble(var6)); - } - - return var2; - } - - protected NBTTagList newFloatNBTList(float... var1) { - NBTTagList var2 = new NBTTagList(); - float[] var3 = var1; - int var4 = var1.length; - - for(int var5 = 0; var5 < var4; ++var5) { - float var6 = var3[var5]; - var2.setTag(new NBTTagFloat(var6)); - } - - return var2; - } - - public EntityItem dropItem(int var1, int var2) { - return this.entityDropItem(var1, var2, 0.0F); - } - - public EntityItem entityDropItem(int var1, int var2, float var3) { - EntityItem var4 = new EntityItem(this.worldObj, this.posX, this.posY + (double)var3, this.posZ, new ItemStack(var1, var2)); - var4.delayBeforeCanPickup = 10; - this.worldObj.spawnEntityInWorld(var4); - return var4; - } - - public boolean isEntityAlive() { - return !this.isDead; - } - - public boolean isEntityInsideOpaqueBlock() { - int var1 = MathHelper.floor_double(this.posX); - int var2 = MathHelper.floor_double(this.posY + (double)this.getEyeHeight()); - int var3 = MathHelper.floor_double(this.posZ); - return this.worldObj.isBlockNormalCube(var1, var2, var3); - } - - public boolean interact(EntityPlayer var1) { - return false; - } - - public AxisAlignedBB getCollisionBox(Entity var1) { - return null; - } - - public void updateRidden() { - if(this.ridingEntity.isDead) { - this.ridingEntity = null; - } else { - this.motionX = 0.0D; - this.motionY = 0.0D; - this.motionZ = 0.0D; - this.onUpdate(); - this.setPosition(this.ridingEntity.posX, this.ridingEntity.posY + (double)this.yOffset + this.ridingEntity.getYOffset(), this.ridingEntity.posZ); - this.entityRiderYawDelta += (double)(this.ridingEntity.rotationYaw - this.ridingEntity.prevRotationYaw); - - for(this.entityRiderPitchDelta += (double)(this.ridingEntity.rotationPitch - this.ridingEntity.prevRotationPitch); this.entityRiderYawDelta >= 180.0D; this.entityRiderYawDelta -= 360.0D) { - } - - while(this.entityRiderYawDelta < -180.0D) { - this.entityRiderYawDelta += 360.0D; - } - - while(this.entityRiderPitchDelta >= 180.0D) { - this.entityRiderPitchDelta -= 360.0D; - } - - while(this.entityRiderPitchDelta < -180.0D) { - this.entityRiderPitchDelta += 360.0D; - } - - double var1 = this.entityRiderYawDelta * 0.5D; - double var3 = this.entityRiderPitchDelta * 0.5D; - float var5 = 10.0F; - if(var1 > (double)var5) { - var1 = (double)var5; - } - - if(var1 < (double)(-var5)) { - var1 = (double)(-var5); - } - - if(var3 > (double)var5) { - var3 = (double)var5; - } - - if(var3 < (double)(-var5)) { - var3 = (double)(-var5); - } - - this.entityRiderYawDelta -= var1; - this.entityRiderPitchDelta -= var3; - this.rotationYaw = (float)((double)this.rotationYaw + var1); - this.rotationPitch = (float)((double)this.rotationPitch + var3); - } - } - - public double getYOffset() { - return (double)this.height * 0.75D; - } - - public void mountEntity(Entity var1) { - this.entityRiderPitchDelta = 0.0D; - this.entityRiderYawDelta = 0.0D; - if(this.ridingEntity == var1) { - this.ridingEntity.riddenByEntity = null; - this.ridingEntity = null; - } else { - if(this.ridingEntity != null) { - this.ridingEntity.riddenByEntity = null; - } - - if(var1.riddenByEntity != null) { - var1.riddenByEntity.ridingEntity = null; - } - - this.ridingEntity = var1; - var1.riddenByEntity = this; - } - } -} diff --git a/src/main/java/net/minecraft/src/EntityAnimal.java b/src/main/java/net/minecraft/src/EntityAnimal.java deleted file mode 100644 index ebf27f5..0000000 --- a/src/main/java/net/minecraft/src/EntityAnimal.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.minecraft.src; - -public abstract class EntityAnimal extends EntityCreature { - public EntityAnimal(World var1) { - super(var1); - } - - protected float getBlockPathWeight(int var1, int var2, int var3) { - return this.worldObj.getBlockId(var1, var2 - 1, var3) == Block.grass.blockID ? 10.0F : this.worldObj.getBrightness(var1, var2, var3) - 0.5F; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - } - - public boolean getCanSpawnHere(double var1, double var3, double var5) { - return this.worldObj.getBlockLightValue(MathHelper.floor_double(var1), MathHelper.floor_double(var3), MathHelper.floor_double(var5)) > 8 && super.getCanSpawnHere(var1, var3, var5); - } -} diff --git a/src/main/java/net/minecraft/src/EntityArrow.java b/src/main/java/net/minecraft/src/EntityArrow.java deleted file mode 100644 index 2417a82..0000000 --- a/src/main/java/net/minecraft/src/EntityArrow.java +++ /dev/null @@ -1,217 +0,0 @@ -package net.minecraft.src; - -import java.util.List; - -public class EntityArrow extends Entity { - private int xTile = -1; - private int yTile = -1; - private int zTile = -1; - private int inTile = 0; - private boolean inGround = false; - public int arrowShake = 0; - private EntityLiving shootingEntity; - private int ticksInGround; - private int ticksInAir = 0; - - public EntityArrow(World var1) { - super(var1); - this.setSize(0.5F, 0.5F); - } - - public EntityArrow(World var1, EntityLiving var2) { - super(var1); - this.shootingEntity = var2; - this.setSize(0.5F, 0.5F); - this.setPositionAndRotation(var2.posX, var2.posY, var2.posZ, var2.rotationYaw, var2.rotationPitch); - this.posX -= (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.posY -= (double)0.1F; - this.posZ -= (double)(MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * 0.16F); - this.setPosition(this.posX, this.posY, this.posZ); - this.yOffset = 0.0F; - this.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI)); - this.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI)); - this.setArrowHeading(this.motionX, this.motionY, this.motionZ, 1.5F, 1.0F); - } - - public void setArrowHeading(double var1, double var3, double var5, float var7, float var8) { - float var9 = MathHelper.sqrt_double(var1 * var1 + var3 * var3 + var5 * var5); - var1 /= (double)var9; - var3 /= (double)var9; - var5 /= (double)var9; - var1 += this.rand.nextGaussian() * (double)0.0075F * (double)var8; - var3 += this.rand.nextGaussian() * (double)0.0075F * (double)var8; - var5 += this.rand.nextGaussian() * (double)0.0075F * (double)var8; - var1 *= (double)var7; - var3 *= (double)var7; - var5 *= (double)var7; - this.motionX = var1; - this.motionY = var3; - this.motionZ = var5; - float var10 = MathHelper.sqrt_double(var1 * var1 + var5 * var5); - this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(var1, var5) * 180.0D / (double)((float)Math.PI)); - this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(var3, (double)var10) * 180.0D / (double)((float)Math.PI)); - this.ticksInGround = 0; - } - - public void onUpdate() { - super.onUpdate(); - if(this.arrowShake > 0) { - --this.arrowShake; - } - - if(this.inGround) { - int var1 = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - if(var1 == this.inTile) { - ++this.ticksInGround; - if(this.ticksInGround == 1200) { - this.setEntityDead(); - } - - return; - } - - this.inGround = false; - this.motionX *= (double)(this.rand.nextFloat() * 0.2F); - this.motionY *= (double)(this.rand.nextFloat() * 0.2F); - this.motionZ *= (double)(this.rand.nextFloat() * 0.2F); - this.ticksInGround = 0; - this.ticksInAir = 0; - } else { - ++this.ticksInAir; - } - - Vec3D var15 = Vec3D.createVector(this.posX, this.posY, this.posZ); - Vec3D var2 = Vec3D.createVector(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition var3 = this.worldObj.rayTraceBlocks(var15, var2); - var15 = Vec3D.createVector(this.posX, this.posY, this.posZ); - var2 = Vec3D.createVector(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - if(var3 != null) { - var2 = Vec3D.createVector(var3.hitVec.xCoord, var3.hitVec.yCoord, var3.hitVec.zCoord); - } - - Entity var4 = null; - List var5 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); - double var6 = 0.0D; - - float var10; - for(int var8 = 0; var8 < var5.size(); ++var8) { - Entity var9 = (Entity)var5.get(var8); - if(var9.canBeCollidedWith() && (var9 != this.shootingEntity || this.ticksInAir >= 5)) { - var10 = 0.3F; - AxisAlignedBB var11 = var9.boundingBox.expand((double)var10, (double)var10, (double)var10); - MovingObjectPosition var12 = var11.calculateIntercept(var15, var2); - if(var12 != null) { - double var13 = var15.distanceTo(var12.hitVec); - if(var13 < var6 || var6 == 0.0D) { - var4 = var9; - var6 = var13; - } - } - } - } - - if(var4 != null) { - var3 = new MovingObjectPosition(var4); - } - - float var16; - if(var3 != null) { - if(var3.entityHit != null) { - if(var3.entityHit.attackEntityFrom(this.shootingEntity, 4)) { - this.worldObj.playSoundAtEntity(this, "random.drr", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.setEntityDead(); - } else { - this.motionX *= (double)-0.1F; - this.motionY *= (double)-0.1F; - this.motionZ *= (double)-0.1F; - this.rotationYaw += 180.0F; - this.prevRotationYaw += 180.0F; - this.ticksInAir = 0; - } - } else { - this.xTile = var3.blockX; - this.yTile = var3.blockY; - this.zTile = var3.blockZ; - this.inTile = this.worldObj.getBlockId(this.xTile, this.yTile, this.zTile); - this.motionX = (double)((float)(var3.hitVec.xCoord - this.posX)); - this.motionY = (double)((float)(var3.hitVec.yCoord - this.posY)); - this.motionZ = (double)((float)(var3.hitVec.zCoord - this.posZ)); - var16 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.posX -= this.motionX / (double)var16 * (double)0.05F; - this.posY -= this.motionY / (double)var16 * (double)0.05F; - this.posZ -= this.motionZ / (double)var16 * (double)0.05F; - this.worldObj.playSoundAtEntity(this, "random.drr", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F)); - this.inGround = true; - this.arrowShake = 7; - } - } - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; - var16 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / (double)((float)Math.PI)); - - for(this.rotationPitch = (float)(Math.atan2(this.motionY, (double)var16) * 180.0D / (double)((float)Math.PI)); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { - } - - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - float var17 = 0.99F; - var10 = 0.03F; - if(this.handleWaterMovement()) { - for(int var18 = 0; var18 < 4; ++var18) { - float var19 = 0.25F; - this.worldObj.spawnParticle("bubble", this.posX - this.motionX * (double)var19, this.posY - this.motionY * (double)var19, this.posZ - this.motionZ * (double)var19, this.motionX, this.motionY, this.motionZ); - } - - var17 = 0.8F; - } - - this.motionX *= (double)var17; - this.motionY *= (double)var17; - this.motionZ *= (double)var17; - this.motionY -= (double)var10; - this.setPosition(this.posX, this.posY, this.posZ); - } - - public void writeEntityToNBT(NBTTagCompound var1) { - var1.setShort("xTile", (short)this.xTile); - var1.setShort("yTile", (short)this.yTile); - var1.setShort("zTile", (short)this.zTile); - var1.setByte("inTile", (byte)this.inTile); - var1.setByte("shake", (byte)this.arrowShake); - var1.setByte("inGround", (byte)(this.inGround ? 1 : 0)); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - this.xTile = var1.getShort("xTile"); - this.yTile = var1.getShort("yTile"); - this.zTile = var1.getShort("zTile"); - this.inTile = var1.getByte("inTile") & 255; - this.arrowShake = var1.getByte("shake") & 255; - this.inGround = var1.getByte("inGround") == 1; - } - - public void onCollideWithPlayer(EntityPlayer var1) { - if(this.inGround && this.shootingEntity == var1 && this.arrowShake <= 0 && var1.inventory.addItemStackToInventory(new ItemStack(Item.arrow.shiftedIndex, 1))) { - this.worldObj.playSoundAtEntity(this, "random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - var1.onItemPickup(this); - this.setEntityDead(); - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityBubbleFX.java b/src/main/java/net/minecraft/src/EntityBubbleFX.java deleted file mode 100644 index e36404b..0000000 --- a/src/main/java/net/minecraft/src/EntityBubbleFX.java +++ /dev/null @@ -1,36 +0,0 @@ -package net.minecraft.src; - -public class EntityBubbleFX extends EntityFX { - public EntityBubbleFX(World var1, double var2, double var4, double var6, double var8, double var10, double var12) { - super(var1, var2, var4, var6, var8, var10, var12); - this.particleRed = 1.0F; - this.particleGreen = 1.0F; - this.particleBlue = 1.0F; - this.particleTextureIndex = 32; - this.setSize(0.02F, 0.02F); - this.particleScale *= this.rand.nextFloat() * 0.6F + 0.2F; - this.motionX = var8 * (double)0.2F + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.02F); - this.motionY = var10 * (double)0.2F + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.02F); - this.motionZ = var12 * (double)0.2F + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.02F); - this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D)); - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.motionY += 0.002D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.85F; - this.motionY *= (double)0.85F; - this.motionZ *= (double)0.85F; - if(this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) != Material.water) { - this.setEntityDead(); - } - - if(this.particleMaxAge-- <= 0) { - this.setEntityDead(); - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityCreature.java b/src/main/java/net/minecraft/src/EntityCreature.java deleted file mode 100644 index db340ed..0000000 --- a/src/main/java/net/minecraft/src/EntityCreature.java +++ /dev/null @@ -1,125 +0,0 @@ -package net.minecraft.src; - -public class EntityCreature extends EntityLiving { - private PathEntity pathToEntity; - protected Entity playerToAttack; - protected boolean hasAttacked = false; - - public EntityCreature(World var1) { - super(var1); - } - - protected boolean canEntityBeSeen(Entity var1) { - return this.worldObj.rayTraceBlocks(Vec3D.createVector(this.posX, this.posY + (double)this.getEyeHeight(), this.posZ), Vec3D.createVector(var1.posX, var1.posY + (double)var1.getEyeHeight(), var1.posZ)) == null; - } - - protected void updatePlayerActionState() { - this.hasAttacked = false; - float var1 = 16.0F; - if(this.playerToAttack == null) { - this.playerToAttack = this.findPlayerToAttack(); - if(this.playerToAttack != null) { - this.pathToEntity = this.worldObj.getPathToEntity(this, this.playerToAttack, var1); - } - } else if(!this.playerToAttack.isEntityAlive()) { - this.playerToAttack = null; - } else { - float var2 = this.playerToAttack.getDistanceToEntity(this); - if(this.canEntityBeSeen(this.playerToAttack)) { - this.attackEntity(this.playerToAttack, var2); - } - } - - int var19; - if(this.hasAttacked || this.playerToAttack == null || this.pathToEntity != null && this.rand.nextInt(20) != 0) { - if(this.pathToEntity == null || this.rand.nextInt(100) == 0) { - var19 = -1; - int var3 = -1; - int var4 = -1; - float var5 = -99999.0F; - - for(int var6 = 0; var6 < 50; ++var6) { - int var7 = MathHelper.floor_double(this.posX + (double)this.rand.nextInt(11) - 5.0D); - int var8 = MathHelper.floor_double(this.posY + (double)this.rand.nextInt(7) - 3.0D); - int var9 = MathHelper.floor_double(this.posZ + (double)this.rand.nextInt(11) - 5.0D); - float var10 = this.getBlockPathWeight(var7, var8, var9); - if(var10 > var5) { - var5 = var10; - var19 = var7; - var3 = var8; - var4 = var9; - } - } - - if(var19 > 0) { - this.pathToEntity = this.worldObj.getEntityPathToXYZ(this, var19, var3, var4, var1); - } - } - } else { - this.pathToEntity = this.worldObj.getPathToEntity(this, this.playerToAttack, var1); - } - - var19 = MathHelper.floor_double(this.boundingBox.minY); - boolean var20 = this.handleWaterMovement(); - boolean var21 = this.handleLavaMovement(); - if(this.pathToEntity != null && this.rand.nextInt(100) != 0) { - Vec3D var22 = this.pathToEntity.getPosition(this); - float var23 = this.width * 2.0F; - - while(var22 != null && var22.squareDistanceTo(this.posX, this.posY, this.posZ) < (double)(var23 * var23) && var22.yCoord <= (double)var19) { - this.pathToEntity.incrementPathIndex(); - if(this.pathToEntity.isFinished()) { - var22 = null; - this.pathToEntity = null; - } else { - var22 = this.pathToEntity.getPosition(this); - } - } - - this.isJumping = false; - if(var22 != null) { - double var24 = var22.xCoord - this.posX; - double var25 = var22.zCoord - this.posZ; - double var11 = var22.yCoord - (double)var19; - this.rotationYaw = (float)(Math.atan2(var25, var24) * 180.0D / (double)((float)Math.PI)) - 90.0F; - this.moveForward = this.moveSpeed; - if(this.hasAttacked && this.playerToAttack != null) { - double var13 = this.playerToAttack.posX - this.posX; - double var15 = this.playerToAttack.posZ - this.posZ; - float var17 = this.rotationYaw; - this.rotationYaw = (float)(Math.atan2(var15, var13) * 180.0D / (double)((float)Math.PI)) - 90.0F; - float var18 = (var17 - this.rotationYaw + 90.0F) * (float)Math.PI / 180.0F; - this.moveStrafing = -MathHelper.sin(var18) * this.moveForward * 1.0F; - this.moveForward = MathHelper.cos(var18) * this.moveForward * 1.0F; - } - - if(var11 != 0.0D) { - this.isJumping = true; - } - } - - if(this.rand.nextFloat() < 0.8F && (var20 || var21)) { - this.isJumping = true; - } - - } else { - super.updatePlayerActionState(); - this.pathToEntity = null; - } - } - - protected void attackEntity(Entity var1, float var2) { - } - - protected float getBlockPathWeight(int var1, int var2, int var3) { - return 0.0F; - } - - protected Entity findPlayerToAttack() { - return null; - } - - public boolean getCanSpawnHere(double var1, double var3, double var5) { - return super.getCanSpawnHere(var1, var3, var5) && this.getBlockPathWeight((int)var1, (int)var3, (int)var5) >= 0.0F; - } -} diff --git a/src/main/java/net/minecraft/src/EntityCreeper.java b/src/main/java/net/minecraft/src/EntityCreeper.java deleted file mode 100644 index 28dfe5f..0000000 --- a/src/main/java/net/minecraft/src/EntityCreeper.java +++ /dev/null @@ -1,64 +0,0 @@ -package net.minecraft.src; - -public class EntityCreeper extends EntityMonster { - int timeSinceIgnited; - int lastActiveTime; - int fuseTime = 30; - int creeperState = -1; - - public EntityCreeper(World var1) { - super(var1); - this.texture = "/mob/creeper.png"; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - } - - protected void updatePlayerActionState() { - this.lastActiveTime = this.timeSinceIgnited; - if(this.timeSinceIgnited > 0 && this.creeperState < 0) { - --this.timeSinceIgnited; - } - - if(this.creeperState >= 0) { - this.creeperState = 2; - } - - super.updatePlayerActionState(); - if(this.creeperState != 1) { - this.creeperState = -1; - } - - } - - protected void attackEntity(Entity var1, float var2) { - if(this.creeperState <= 0 && var2 < 3.0F || this.creeperState > 0 && var2 < 7.0F) { - if(this.timeSinceIgnited == 0) { - this.worldObj.playSoundAtEntity(this, "random.fuse", 1.0F, 0.5F); - } - - this.creeperState = 1; - ++this.timeSinceIgnited; - if(this.timeSinceIgnited == this.fuseTime) { - this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 3.0F); - this.setEntityDead(); - } - - this.hasAttacked = true; - } - - } - - public float setCreeperFlashTime(float var1) { - return ((float)this.lastActiveTime + (float)(this.timeSinceIgnited - this.lastActiveTime) * var1) / (float)(this.fuseTime - 2); - } - - protected int getDropItemId() { - return Item.gunpowder.shiftedIndex; - } -} diff --git a/src/main/java/net/minecraft/src/EntityDiggingFX.java b/src/main/java/net/minecraft/src/EntityDiggingFX.java deleted file mode 100644 index ddc26fb..0000000 --- a/src/main/java/net/minecraft/src/EntityDiggingFX.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -public class EntityDiggingFX extends EntityFX { - public EntityDiggingFX(World var1, double var2, double var4, double var6, double var8, double var10, double var12, Block var14) { - super(var1, var2, var4, var6, var8, var10, var12); - this.particleTextureIndex = var14.blockIndexInTexture; - this.particleGravity = var14.blockParticleGravity; - this.particleRed = this.particleGreen = this.particleBlue = 0.6F; - this.particleScale /= 2.0F; - } - - public int getFXLayer() { - return 1; - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - float var8 = ((float)(this.particleTextureIndex % 16) + this.particleTextureJitterX / 4.0F) / 16.0F; - float var9 = var8 + 0.999F / 64.0F; - float var10 = ((float)(this.particleTextureIndex / 16) + this.particleTextureJitterY / 4.0F) / 16.0F; - float var11 = var10 + 0.999F / 64.0F; - float var12 = 0.1F * this.particleScale; - float var13 = (float)(this.prevPosX + (this.posX - this.prevPosX) * (double)var2 - interpPosX); - float var14 = (float)(this.prevPosY + (this.posY - this.prevPosY) * (double)var2 - interpPosY); - float var15 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)var2 - interpPosZ); - float var16 = this.getEntityBrightness(var2); - var1.setColorOpaque_F(var16 * this.particleRed, var16 * this.particleGreen, var16 * this.particleBlue); - var1.addVertexWithUV((double)(var13 - var3 * var12 - var6 * var12), (double)(var14 - var4 * var12), (double)(var15 - var5 * var12 - var7 * var12), (double)var8, (double)var11); - var1.addVertexWithUV((double)(var13 - var3 * var12 + var6 * var12), (double)(var14 + var4 * var12), (double)(var15 - var5 * var12 + var7 * var12), (double)var8, (double)var10); - var1.addVertexWithUV((double)(var13 + var3 * var12 + var6 * var12), (double)(var14 + var4 * var12), (double)(var15 + var5 * var12 + var7 * var12), (double)var9, (double)var10); - var1.addVertexWithUV((double)(var13 + var3 * var12 - var6 * var12), (double)(var14 - var4 * var12), (double)(var15 + var5 * var12 - var7 * var12), (double)var9, (double)var11); - } -} diff --git a/src/main/java/net/minecraft/src/EntityExplodeFX.java b/src/main/java/net/minecraft/src/EntityExplodeFX.java deleted file mode 100644 index e6ed054..0000000 --- a/src/main/java/net/minecraft/src/EntityExplodeFX.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.minecraft.src; - -public class EntityExplodeFX extends EntityFX { - public EntityExplodeFX(World var1, double var2, double var4, double var6, double var8, double var10, double var12) { - super(var1, var2, var4, var6, var8, var10, var12); - this.motionX = var8 + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.05F); - this.motionY = var10 + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.05F); - this.motionZ = var12 + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.05F); - this.particleRed = this.particleGreen = this.particleBlue = this.rand.nextFloat() * 0.3F + 0.7F; - this.particleScale = this.rand.nextFloat() * this.rand.nextFloat() * 6.0F + 1.0F; - this.particleMaxAge = (int)(16.0D / ((double)this.rand.nextFloat() * 0.8D + 0.2D)) + 2; - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - super.renderParticle(var1, var2, var3, var4, var5, var6, var7); - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - if(this.particleAge++ >= this.particleMaxAge) { - this.setEntityDead(); - } - - this.particleTextureIndex = 7 - this.particleAge * 8 / this.particleMaxAge; - this.motionY += 0.004D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.9F; - this.motionY *= (double)0.9F; - this.motionZ *= (double)0.9F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityFX.java b/src/main/java/net/minecraft/src/EntityFX.java deleted file mode 100644 index 9809da0..0000000 --- a/src/main/java/net/minecraft/src/EntityFX.java +++ /dev/null @@ -1,99 +0,0 @@ -package net.minecraft.src; - -public class EntityFX extends Entity { - protected int particleTextureIndex; - protected float particleTextureJitterX; - protected float particleTextureJitterY; - protected int particleAge = 0; - protected int particleMaxAge = 0; - protected float particleScale; - protected float particleGravity; - protected float particleRed; - protected float particleGreen; - protected float particleBlue; - public static double interpPosX; - public static double interpPosY; - public static double interpPosZ; - - public EntityFX(World var1, double var2, double var4, double var6, double var8, double var10, double var12) { - super(var1); - this.setSize(0.2F, 0.2F); - this.yOffset = this.height / 2.0F; - this.setPosition(var2, var4, var6); - this.particleRed = this.particleGreen = this.particleBlue = 1.0F; - this.motionX = var8 + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.4F); - this.motionY = var10 + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.4F); - this.motionZ = var12 + (double)((float)(Math.random() * 2.0D - 1.0D) * 0.4F); - float var14 = (float)(Math.random() + Math.random() + 1.0D) * 0.15F; - float var15 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ); - this.motionX = this.motionX / (double)var15 * (double)var14 * (double)0.4F; - this.motionY = this.motionY / (double)var15 * (double)var14 * (double)0.4F + (double)0.1F; - this.motionZ = this.motionZ / (double)var15 * (double)var14 * (double)0.4F; - this.particleTextureJitterX = this.rand.nextFloat() * 3.0F; - this.particleTextureJitterY = this.rand.nextFloat() * 3.0F; - this.particleScale = (this.rand.nextFloat() * 0.5F + 0.5F) * 2.0F; - this.particleMaxAge = (int)(4.0F / (this.rand.nextFloat() * 0.9F + 0.1F)); - this.particleAge = 0; - this.canTriggerWalking = false; - } - - public EntityFX multiplyVelocity(float var1) { - this.motionX *= (double)var1; - this.motionY = (this.motionY - (double)0.1F) * (double)var1 + (double)0.1F; - this.motionZ *= (double)var1; - return this; - } - - public EntityFX multipleParticleScaleBy(float var1) { - this.setSize(0.2F * var1, 0.2F * var1); - this.particleScale *= var1; - return this; - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - if(this.particleAge++ >= this.particleMaxAge) { - this.setEntityDead(); - } - - this.motionY -= 0.04D * (double)this.particleGravity; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.98F; - this.motionY *= (double)0.98F; - this.motionZ *= (double)0.98F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - } - - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - float var8 = (float)(this.particleTextureIndex % 16) / 16.0F; - float var9 = var8 + 0.999F / 16.0F; - float var10 = (float)(this.particleTextureIndex / 16) / 16.0F; - float var11 = var10 + 0.999F / 16.0F; - float var12 = 0.1F * this.particleScale; - float var13 = (float)(this.prevPosX + (this.posX - this.prevPosX) * (double)var2 - interpPosX); - float var14 = (float)(this.prevPosY + (this.posY - this.prevPosY) * (double)var2 - interpPosY); - float var15 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)var2 - interpPosZ); - float var16 = this.getEntityBrightness(var2); - var1.setColorOpaque_F(this.particleRed * var16, this.particleGreen * var16, this.particleBlue * var16); - var1.addVertexWithUV((double)(var13 - var3 * var12 - var6 * var12), (double)(var14 - var4 * var12), (double)(var15 - var5 * var12 - var7 * var12), (double)var8, (double)var11); - var1.addVertexWithUV((double)(var13 - var3 * var12 + var6 * var12), (double)(var14 + var4 * var12), (double)(var15 - var5 * var12 + var7 * var12), (double)var8, (double)var10); - var1.addVertexWithUV((double)(var13 + var3 * var12 + var6 * var12), (double)(var14 + var4 * var12), (double)(var15 + var5 * var12 + var7 * var12), (double)var9, (double)var10); - var1.addVertexWithUV((double)(var13 + var3 * var12 - var6 * var12), (double)(var14 - var4 * var12), (double)(var15 + var5 * var12 - var7 * var12), (double)var9, (double)var11); - } - - public int getFXLayer() { - return 0; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - } - - public void readEntityFromNBT(NBTTagCompound var1) { - } -} diff --git a/src/main/java/net/minecraft/src/EntityFallingSand.java b/src/main/java/net/minecraft/src/EntityFallingSand.java deleted file mode 100644 index 4dc1c13..0000000 --- a/src/main/java/net/minecraft/src/EntityFallingSand.java +++ /dev/null @@ -1,78 +0,0 @@ -package net.minecraft.src; - -public class EntityFallingSand extends Entity { - public int blockID; - public int fallTime = 0; - - public EntityFallingSand(World var1) { - super(var1); - } - - public EntityFallingSand(World var1, float var2, float var3, float var4, int var5) { - super(var1); - this.blockID = var5; - this.preventEntitySpawning = true; - this.setSize(0.98F, 0.98F); - this.yOffset = this.height / 2.0F; - this.setPosition((double)var2, (double)var3, (double)var4); - this.motionX = 0.0D; - this.motionY = 0.0D; - this.motionZ = 0.0D; - this.canTriggerWalking = false; - this.prevPosX = (double)var2; - this.prevPosY = (double)var3; - this.prevPosZ = (double)var4; - } - - public boolean canBeCollidedWith() { - return !this.isDead; - } - - public void onUpdate() { - if(this.blockID == 0) { - this.setEntityDead(); - } else { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - ++this.fallTime; - this.motionY -= (double)0.04F; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.98F; - this.motionY *= (double)0.98F; - this.motionZ *= (double)0.98F; - int var1 = MathHelper.floor_double(this.posX); - int var2 = MathHelper.floor_double(this.posY); - int var3 = MathHelper.floor_double(this.posZ); - if(this.worldObj.getBlockId(var1, var2, var3) == this.blockID) { - this.worldObj.setBlockWithNotify(var1, var2, var3, 0); - } - - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - this.motionY *= -0.5D; - this.setEntityDead(); - if(!this.worldObj.canBlockBePlacedAt(this.blockID, var1, var2, var3, true) || !this.worldObj.setBlockWithNotify(var1, var2, var3, this.blockID)) { - this.dropItem(this.blockID, 1); - } - } else if(this.fallTime > 100) { - this.dropItem(this.blockID, 1); - this.setEntityDead(); - } - - } - } - - protected void writeEntityToNBT(NBTTagCompound var1) { - var1.setByte("Tile", (byte)this.blockID); - } - - protected void readEntityFromNBT(NBTTagCompound var1) { - this.blockID = var1.getByte("Tile") & 255; - } - - public World getWorld() { - return this.worldObj; - } -} diff --git a/src/main/java/net/minecraft/src/EntityFlameFX.java b/src/main/java/net/minecraft/src/EntityFlameFX.java deleted file mode 100644 index 192090a..0000000 --- a/src/main/java/net/minecraft/src/EntityFlameFX.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.minecraft.src; - -public class EntityFlameFX extends EntityFX { - private float flameScale; - - public EntityFlameFX(World var1, double var2, double var4, double var6, double var8, double var10, double var12) { - super(var1, var2, var4, var6, var8, var10, var12); - this.motionX = this.motionX * (double)0.01F + var8; - this.motionY = this.motionY * (double)0.01F + var10; - this.motionZ = this.motionZ * (double)0.01F + var12; - double var10000 = var2 + (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.05F); - var10000 = var4 + (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.05F); - var10000 = var6 + (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.05F); - this.flameScale = this.particleScale; - this.particleRed = this.particleGreen = this.particleBlue = 1.0F; - this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D)) + 4; - this.noClip = true; - this.particleTextureIndex = 48; - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - float var8 = ((float)this.particleAge + var2) / (float)this.particleMaxAge; - this.particleScale = this.flameScale * (1.0F - var8 * var8 * 0.5F); - super.renderParticle(var1, var2, var3, var4, var5, var6, var7); - } - - public float getEntityBrightness(float var1) { - float var2 = ((float)this.particleAge + var1) / (float)this.particleMaxAge; - if(var2 < 0.0F) { - var2 = 0.0F; - } - - if(var2 > 1.0F) { - var2 = 1.0F; - } - - float var3 = super.getEntityBrightness(var1); - return var3 * var2 + (1.0F - var2); - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - if(this.particleAge++ >= this.particleMaxAge) { - this.setEntityDead(); - } - - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.96F; - this.motionY *= (double)0.96F; - this.motionZ *= (double)0.96F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityGiant.java b/src/main/java/net/minecraft/src/EntityGiant.java deleted file mode 100644 index 115d51d..0000000 --- a/src/main/java/net/minecraft/src/EntityGiant.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class EntityGiant extends EntityMonster { - public EntityGiant(World var1) { - super(var1); - this.texture = "/mob/zombie.png"; - this.moveSpeed = 0.5F; - this.attackStrength = 50; - this.health *= 10; - this.yOffset *= 6.0F; - this.setSize(this.width * 6.0F, this.height * 6.0F); - } - - protected float getBlockPathWeight(int var1, int var2, int var3) { - return this.worldObj.getBrightness(var1, var2, var3) - 0.5F; - } -} diff --git a/src/main/java/net/minecraft/src/EntityItem.java b/src/main/java/net/minecraft/src/EntityItem.java deleted file mode 100644 index 785a54e..0000000 --- a/src/main/java/net/minecraft/src/EntityItem.java +++ /dev/null @@ -1,180 +0,0 @@ -package net.minecraft.src; - -public class EntityItem extends Entity { - public ItemStack item; - private int age2; - public int age = 0; - public int delayBeforeCanPickup; - private int health = 5; - public float hoverStart = (float)(Math.random() * Math.PI * 2.0D); - - public EntityItem(World var1, double var2, double var4, double var6, ItemStack var8) { - super(var1); - this.setSize(0.25F, 0.25F); - this.yOffset = this.height / 2.0F; - this.setPosition(var2, var4, var6); - this.item = var8; - this.rotationYaw = (float)(Math.random() * 360.0D); - this.motionX = (double)((float)(Math.random() * (double)0.2F - (double)0.1F)); - this.motionY = (double)0.2F; - this.motionZ = (double)((float)(Math.random() * (double)0.2F - (double)0.1F)); - this.canTriggerWalking = false; - } - - public EntityItem(World var1) { - super(var1); - this.setSize(0.25F, 0.25F); - this.yOffset = this.height / 2.0F; - } - - public void onUpdate() { - super.onUpdate(); - if(this.delayBeforeCanPickup > 0) { - --this.delayBeforeCanPickup; - } - - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.motionY -= (double)0.04F; - if(this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) == Material.lava) { - this.motionY = (double)0.2F; - this.motionX = (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F); - this.motionZ = (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F); - this.worldObj.playSoundAtEntity(this, "random.fizz", 0.4F, 2.0F + this.rand.nextFloat() * 0.4F); - } - - this.pushOutOfBlocks(this.posX, this.posY, this.posZ); - this.handleWaterMovement(); - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.98F; - this.motionY *= (double)0.98F; - this.motionZ *= (double)0.98F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - this.motionY *= -0.5D; - } - - ++this.age2; - ++this.age; - if(this.age >= 6000) { - this.setEntityDead(); - } - - } - - public boolean handleWaterMovement() { - return this.worldObj.handleMaterialAcceleration(this.boundingBox, Material.water, this); - } - - private boolean pushOutOfBlocks(double var1, double var3, double var5) { - int var7 = MathHelper.floor_double(var1); - int var8 = MathHelper.floor_double(var3); - int var9 = MathHelper.floor_double(var5); - double var10 = var1 - (double)var7; - double var12 = var3 - (double)var8; - double var14 = var5 - (double)var9; - if(Block.opaqueCubeLookup[this.worldObj.getBlockId(var7, var8, var9)]) { - boolean var16 = !Block.opaqueCubeLookup[this.worldObj.getBlockId(var7 - 1, var8, var9)]; - boolean var17 = !Block.opaqueCubeLookup[this.worldObj.getBlockId(var7 + 1, var8, var9)]; - boolean var18 = !Block.opaqueCubeLookup[this.worldObj.getBlockId(var7, var8 - 1, var9)]; - boolean var19 = !Block.opaqueCubeLookup[this.worldObj.getBlockId(var7, var8 + 1, var9)]; - boolean var20 = !Block.opaqueCubeLookup[this.worldObj.getBlockId(var7, var8, var9 - 1)]; - boolean var21 = !Block.opaqueCubeLookup[this.worldObj.getBlockId(var7, var8, var9 + 1)]; - byte var22 = -1; - double var23 = 9999.0D; - if(var16 && var10 < var23) { - var23 = var10; - var22 = 0; - } - - if(var17 && 1.0D - var10 < var23) { - var23 = 1.0D - var10; - var22 = 1; - } - - if(var18 && var12 < var23) { - var23 = var12; - var22 = 2; - } - - if(var19 && 1.0D - var12 < var23) { - var23 = 1.0D - var12; - var22 = 3; - } - - if(var20 && var14 < var23) { - var23 = var14; - var22 = 4; - } - - if(var21 && 1.0D - var14 < var23) { - var23 = 1.0D - var14; - var22 = 5; - } - - float var25 = this.rand.nextFloat() * 0.2F + 0.1F; - if(var22 == 0) { - this.motionX = (double)(-var25); - } - - if(var22 == 1) { - this.motionX = (double)var25; - } - - if(var22 == 2) { - this.motionY = (double)(-var25); - } - - if(var22 == 3) { - this.motionY = (double)var25; - } - - if(var22 == 4) { - this.motionZ = (double)(-var25); - } - - if(var22 == 5) { - this.motionZ = (double)var25; - } - } - - return false; - } - - protected void dealFireDamage(int var1) { - this.attackEntityFrom((Entity)null, var1); - } - - public boolean attackEntityFrom(Entity var1, int var2) { - this.health -= var2; - if(this.health <= 0) { - this.setEntityDead(); - } - - return false; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - var1.setShort("Health", (short)((byte)this.health)); - var1.setShort("Age", (short)this.age); - var1.setCompoundTag("Item", this.item.writeToNBT(new NBTTagCompound())); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - this.health = var1.getShort("Health") & 255; - this.age = var1.getShort("Age"); - NBTTagCompound var2 = var1.getCompoundTag("Item"); - this.item = new ItemStack(var2); - } - - public void onCollideWithPlayer(EntityPlayer var1) { - if(this.delayBeforeCanPickup == 0 && var1.inventory.addItemStackToInventory(this.item)) { - this.worldObj.playSoundAtEntity(this, "random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); - var1.onItemPickup(this); - this.setEntityDead(); - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityLavaFX.java b/src/main/java/net/minecraft/src/EntityLavaFX.java deleted file mode 100644 index f6b735f..0000000 --- a/src/main/java/net/minecraft/src/EntityLavaFX.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.minecraft.src; - -public class EntityLavaFX extends EntityFX { - private float lavaParticleScale; - - public EntityLavaFX(World var1, double var2, double var4, double var6) { - super(var1, var2, var4, var6, 0.0D, 0.0D, 0.0D); - this.motionX *= (double)0.8F; - this.motionY *= (double)0.8F; - this.motionZ *= (double)0.8F; - this.motionY = (double)(this.rand.nextFloat() * 0.4F + 0.05F); - this.particleRed = this.particleGreen = this.particleBlue = 1.0F; - this.particleScale *= this.rand.nextFloat() * 2.0F + 0.2F; - this.lavaParticleScale = this.particleScale; - this.particleMaxAge = (int)(16.0D / (Math.random() * 0.8D + 0.2D)); - this.noClip = false; - this.particleTextureIndex = 49; - } - - public float getEntityBrightness(float var1) { - return 1.0F; - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - float var8 = ((float)this.particleAge + var2) / (float)this.particleMaxAge; - this.particleScale = this.lavaParticleScale * (1.0F - var8 * var8); - super.renderParticle(var1, var2, var3, var4, var5, var6, var7); - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - if(this.particleAge++ >= this.particleMaxAge) { - this.setEntityDead(); - } - - float var1 = (float)this.particleAge / (float)this.particleMaxAge; - if(this.rand.nextFloat() > var1) { - this.worldObj.spawnParticle("smoke", this.posX, this.posY, this.posZ, this.motionX, this.motionY, this.motionZ); - } - - this.motionY -= 0.03D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.999F; - this.motionY *= (double)0.999F; - this.motionZ *= (double)0.999F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityList.java b/src/main/java/net/minecraft/src/EntityList.java deleted file mode 100644 index 0d673ef..0000000 --- a/src/main/java/net/minecraft/src/EntityList.java +++ /dev/null @@ -1,72 +0,0 @@ -package net.minecraft.src; - -import java.util.HashMap; -import java.util.Map; - -public class EntityList { - private static Map stringToClassMapping = new HashMap(); - private static Map classToStringMapping = new HashMap(); - - private static void addMapping(Class var0, String var1) { - stringToClassMapping.put(var1, var0); - classToStringMapping.put(var0, var1); - } - - public static Entity createEntityInWorld(String var0, World var1) { - Entity var2 = null; - - try { - Class var3 = (Class)stringToClassMapping.get(var0); - if(var3 != null) { - var2 = (Entity)var3.getConstructor(new Class[]{World.class}).newInstance(new Object[]{var1}); - } - } catch (Exception var4) { - var4.printStackTrace(); - } - - return var2; - } - - public static Entity createEntityFromNBT(NBTTagCompound var0, World var1) { - Entity var2 = null; - - try { - Class var3 = (Class)stringToClassMapping.get(var0.getString("id")); - if(var3 != null) { - var2 = (Entity)var3.getConstructor(new Class[]{World.class}).newInstance(new Object[]{var1}); - } - } catch (Exception var4) { - var4.printStackTrace(); - } - - if(var2 != null) { - var2.readFromNBT(var0); - } else { - System.out.println("Skipping Entity with id " + var0.getString("id")); - } - - return var2; - } - - public static String getEntityString(Entity var0) { - return (String)classToStringMapping.get(var0.getClass()); - } - - static { - addMapping(EntityArrow.class, "Arrow"); - addMapping(EntityItem.class, "Item"); - addMapping(EntityPainting.class, "Painting"); - addMapping(EntityLiving.class, "Mob"); - addMapping(EntityMonster.class, "Monster"); - addMapping(EntityCreeper.class, "Creeper"); - addMapping(EntitySkeleton.class, "Skeleton"); - addMapping(EntitySpider.class, "Spider"); - addMapping(EntityGiant.class, "Giant"); - addMapping(EntityZombie.class, "Zombie"); - addMapping(EntityPig.class, "Pig"); - addMapping(EntitySheep.class, "Sheep"); - addMapping(EntityTNTPrimed.class, "PrimedTnt"); - addMapping(EntityFallingSand.class, "FallingSand"); - addMapping(EntityMinecart.class, "Minecart"); - } -} diff --git a/src/main/java/net/minecraft/src/EntityLiving.java b/src/main/java/net/minecraft/src/EntityLiving.java deleted file mode 100644 index 09a9db0..0000000 --- a/src/main/java/net/minecraft/src/EntityLiving.java +++ /dev/null @@ -1,548 +0,0 @@ -package net.minecraft.src; - -import java.util.List; - -public class EntityLiving extends Entity { - public int heartsHalvesLife = 20; - public float unusedRotationPitch2; - public float unusedFloat; - public float unusedRotationPitch; - public float renderYawOffset = 0.0F; - public float prevRenderYawOffset = 0.0F; - protected float ridingRotUnused; - protected float prevRidingRotUnused; - protected float rotationUnused; - protected float prevRotationUnused; - protected boolean unusedBool1 = true; - protected String texture = "/char.png"; - protected boolean unusedBool2 = true; - protected float unusedRotation = 0.0F; - protected String entityType = null; - protected float unusedFloat1 = 1.0F; - protected int scoreValue = 0; - protected float unusedFloat2 = 0.0F; - public int health = 10; - public int prevHealth; - private int livingSoundTime; - public int hurtTime; - public int maxHurtTime; - public float attackedAtYaw = 0.0F; - public int deathTime = 0; - public int attackTime = 0; - public float prevCameraPitch; - public float cameraPitch; - protected boolean dead = false; - public int unusedInt = -1; - public float unusedFloat4 = (float)(Math.random() * (double)0.9F + (double)0.1F); - public float prevLimbYaw; - public float limbYaw; - public float limbSwing; - protected int entityAge = 0; - protected float moveStrafing; - protected float moveForward; - protected float randomYawVelocity; - protected boolean isJumping = false; - protected float defaultPitch = 0.0F; - protected float moveSpeed = 0.7F; - - public EntityLiving(World var1) { - super(var1); - this.preventEntitySpawning = true; - this.unusedRotationPitch = (float)(Math.random() + 1.0D) * 0.01F; - this.setPosition(this.posX, this.posY, this.posZ); - this.unusedRotationPitch2 = (float)Math.random() * 12398.0F; - this.rotationYaw = (float)(Math.random() * (double)((float)Math.PI) * 2.0D); - this.unusedFloat = 1.0F; - this.stepHeight = 0.5F; - } - - public String getTexture() { - return this.texture; - } - - public boolean canBeCollidedWith() { - return !this.isDead; - } - - public boolean canBePushed() { - return !this.isDead; - } - - protected float getEyeHeight() { - return this.height * 0.85F; - } - - public void onEntityUpdate() { - super.onEntityUpdate(); - if(this.rand.nextInt(1000) < this.livingSoundTime++) { - this.livingSoundTime = -80; - String var1 = this.getLivingSound(); - if(var1 != null) { - this.worldObj.playSoundAtEntity(this, var1, 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - } - - if(this.isEntityAlive() && this.isEntityInsideOpaqueBlock()) { - this.attackEntityFrom((Entity)null, 1); - } - - int var8; - if(this.isEntityAlive() && this.isInsideOfMaterial(Material.water)) { - --this.air; - if(this.air == -20) { - this.air = 0; - - for(var8 = 0; var8 < 8; ++var8) { - float var2 = this.rand.nextFloat() - this.rand.nextFloat(); - float var3 = this.rand.nextFloat() - this.rand.nextFloat(); - float var4 = this.rand.nextFloat() - this.rand.nextFloat(); - this.worldObj.spawnParticle("bubble", this.posX + (double)var2, this.posY + (double)var3, this.posZ + (double)var4, this.motionX, this.motionY, this.motionZ); - } - - this.attackEntityFrom((Entity)null, 2); - } - - this.fire = 0; - } else { - this.air = this.maxAir; - } - - this.prevCameraPitch = this.cameraPitch; - if(this.attackTime > 0) { - --this.attackTime; - } - - if(this.hurtTime > 0) { - --this.hurtTime; - } - - if(this.heartsLife > 0) { - --this.heartsLife; - } - - if(this.health <= 0) { - ++this.deathTime; - if(this.deathTime > 20) { - this.onEntityDeath(); - this.setEntityDead(); - - for(var8 = 0; var8 < 20; ++var8) { - double var9 = this.rand.nextGaussian() * 0.02D; - double var10 = this.rand.nextGaussian() * 0.02D; - double var6 = this.rand.nextGaussian() * 0.02D; - this.worldObj.spawnParticle("explode", this.posX + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, this.posY + (double)(this.rand.nextFloat() * this.height), this.posZ + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, var9, var10, var6); - } - } - } - - this.prevRotationUnused = this.rotationUnused; - this.prevRenderYawOffset = this.renderYawOffset; - this.prevRotationYaw = this.rotationYaw; - this.prevRotationPitch = this.rotationPitch; - } - - public void spawnExplosionParticle() { - for(int var1 = 0; var1 < 20; ++var1) { - double var2 = this.rand.nextGaussian() * 0.02D; - double var4 = this.rand.nextGaussian() * 0.02D; - double var6 = this.rand.nextGaussian() * 0.02D; - double var8 = 10.0D; - this.worldObj.spawnParticle("explode", this.posX + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width - var2 * var8, this.posY + (double)(this.rand.nextFloat() * this.height) - var4 * var8, this.posZ + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width - var6 * var8, var2, var4, var6); - } - - } - - public void updateRidden() { - super.updateRidden(); - this.ridingRotUnused = this.prevRidingRotUnused; - this.prevRidingRotUnused = 0.0F; - } - - public void onUpdate() { - super.onUpdate(); - this.onLivingUpdate(); - double var1 = this.posX - this.prevPosX; - double var3 = this.posZ - this.prevPosZ; - float var5 = MathHelper.sqrt_double(var1 * var1 + var3 * var3); - float var6 = this.renderYawOffset; - float var7 = 0.0F; - this.ridingRotUnused = this.prevRidingRotUnused; - float var8 = 0.0F; - if(var5 > 0.05F) { - var8 = 1.0F; - var7 = var5 * 3.0F; - var6 = (float)Math.atan2(var3, var1) * 180.0F / (float)Math.PI - 90.0F; - } - - if(!this.onGround) { - var8 = 0.0F; - } - - this.prevRidingRotUnused += (var8 - this.prevRidingRotUnused) * 0.3F; - - float var9; - for(var9 = var6 - this.renderYawOffset; var9 < -180.0F; var9 += 360.0F) { - } - - while(var9 >= 180.0F) { - var9 -= 360.0F; - } - - this.renderYawOffset += var9 * 0.1F; - - float var10; - for(var10 = this.rotationYaw - this.renderYawOffset; var10 < -180.0F; var10 += 360.0F) { - } - - while(var10 >= 180.0F) { - var10 -= 360.0F; - } - - boolean var11 = var10 < -90.0F || var10 >= 90.0F; - if(var10 < -75.0F) { - var10 = -75.0F; - } - - if(var10 >= 75.0F) { - var10 = 75.0F; - } - - this.renderYawOffset = this.rotationYaw - var10; - this.renderYawOffset += var10 * 0.1F; - if(var11) { - var7 *= -1.0F; - } - - while(this.rotationYaw - this.prevRotationYaw < -180.0F) { - this.prevRotationYaw -= 360.0F; - } - - while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { - this.prevRotationYaw += 360.0F; - } - - while(this.renderYawOffset - this.prevRenderYawOffset < -180.0F) { - this.prevRenderYawOffset -= 360.0F; - } - - while(this.renderYawOffset - this.prevRenderYawOffset >= 180.0F) { - this.prevRenderYawOffset += 360.0F; - } - - while(this.rotationPitch - this.prevRotationPitch < -180.0F) { - this.prevRotationPitch -= 360.0F; - } - - while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { - this.prevRotationPitch += 360.0F; - } - - this.rotationUnused += var7; - } - - protected void setSize(float var1, float var2) { - super.setSize(var1, var2); - } - - public void heal(int var1) { - if(this.health > 0) { - this.health += var1; - if(this.health > 20) { - this.health = 20; - } - - this.heartsLife = this.heartsHalvesLife / 2; - } - } - - public boolean attackEntityFrom(Entity var1, int var2) { - this.entityAge = 0; - if(this.health <= 0) { - return false; - } else { - this.limbYaw = 1.5F; - if((float)this.heartsLife > (float)this.heartsHalvesLife / 2.0F) { - if(this.prevHealth - var2 >= this.health) { - return false; - } - - this.health = this.prevHealth - var2; - } else { - this.prevHealth = this.health; - this.heartsLife = this.heartsHalvesLife; - this.health -= var2; - this.hurtTime = this.maxHurtTime = 10; - } - - this.attackedAtYaw = 0.0F; - if(var1 != null) { - double var3 = var1.posX - this.posX; - - double var5; - for(var5 = var1.posZ - this.posZ; var3 * var3 + var5 * var5 < 1.0E-4D; var5 = (Math.random() - Math.random()) * 0.01D) { - var3 = (Math.random() - Math.random()) * 0.01D; - } - - this.attackedAtYaw = (float)(Math.atan2(var5, var3) * 180.0D / (double)((float)Math.PI)) - this.rotationYaw; - this.knockBack(var1, var2, var3, var5); - } else { - this.attackedAtYaw = (float)((int)(Math.random() * 2.0D) * 180); - } - - if(this.health <= 0) { - this.worldObj.playSoundAtEntity(this, this.getDeathSound(), 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - this.onDeath(var1); - } else { - this.worldObj.playSoundAtEntity(this, this.getHurtSound(), 1.0F, (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - - return true; - } - } - - protected String getLivingSound() { - return null; - } - - protected String getHurtSound() { - return "random.hurt"; - } - - protected String getDeathSound() { - return "random.hurt"; - } - - public void knockBack(Entity var1, int var2, double var3, double var5) { - float var7 = MathHelper.sqrt_double(var3 * var3 + var5 * var5); - float var8 = 0.4F; - this.motionX /= 2.0D; - this.motionY /= 2.0D; - this.motionZ /= 2.0D; - this.motionX -= var3 / (double)var7 * (double)var8; - this.motionY += (double)0.4F; - this.motionZ -= var5 / (double)var7 * (double)var8; - if(this.motionY > (double)0.4F) { - this.motionY = (double)0.4F; - } - - } - - public void onDeath(Entity var1) { - if(this.scoreValue > 0 && var1 != null) { - var1.addToPlayerScore(this, this.scoreValue); - } - - this.dead = true; - int var2 = this.getDropItemId(); - if(var2 > 0) { - int var3 = this.rand.nextInt(3); - - for(int var4 = 0; var4 < var3; ++var4) { - this.dropItem(var2, 1); - } - } - - } - - protected int getDropItemId() { - return 0; - } - - protected void fall(float var1) { - int var2 = (int)Math.ceil((double)(var1 - 3.0F)); - if(var2 > 0) { - this.attackEntityFrom((Entity)null, var2); - int var3 = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY - (double)0.2F - (double)this.yOffset), MathHelper.floor_double(this.posZ)); - if(var3 > 0) { - StepSound var4 = Block.blocksList[var3].stepSound; - this.worldObj.playSoundAtEntity(this, var4.getStepSound(), var4.getVolume() * 0.5F, var4.getPitch() * (12.0F / 16.0F)); - } - } - - } - - public void moveEntityWithHeading(float var1, float var2) { - double var3; - if(this.handleWaterMovement()) { - var3 = this.posY; - this.moveFlying(var1, var2, 0.02F); - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.8F; - this.motionY *= (double)0.8F; - this.motionZ *= (double)0.8F; - this.motionY -= 0.02D; - if(this.isCollidedHorizontally && this.isOffsetPositionInLiquid(this.motionX, this.motionY + (double)0.6F - this.posY + var3, this.motionZ)) { - this.motionY = (double)0.3F; - } - } else if(this.handleLavaMovement()) { - var3 = this.posY; - this.moveFlying(var1, var2, 0.02F); - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= 0.5D; - this.motionY *= 0.5D; - this.motionZ *= 0.5D; - this.motionY -= 0.02D; - if(this.isCollidedHorizontally && this.isOffsetPositionInLiquid(this.motionX, this.motionY + (double)0.6F - this.posY + var3, this.motionZ)) { - this.motionY = (double)0.3F; - } - } else { - this.moveFlying(var1, var2, this.onGround ? 0.1F : 0.02F); - if(this.isOnLadder()) { - this.fallDistance = 0.0F; - if(this.motionY < -0.15D) { - this.motionY = -0.15D; - } - } - - this.moveEntity(this.motionX, this.motionY, this.motionZ); - if(this.isCollidedHorizontally && this.isOnLadder()) { - this.motionY = 0.2D; - } - - this.motionX *= (double)0.91F; - this.motionY *= (double)0.98F; - this.motionZ *= (double)0.91F; - this.motionY -= 0.08D; - if(this.onGround) { - float var8 = 0.6F; - this.motionX *= (double)var8; - this.motionZ *= (double)var8; - } - } - - this.prevLimbYaw = this.limbYaw; - var3 = this.posX - this.prevPosX; - double var5 = this.posZ - this.prevPosZ; - float var7 = MathHelper.sqrt_double(var3 * var3 + var5 * var5) * 4.0F; - if(var7 > 1.0F) { - var7 = 1.0F; - } - - this.limbYaw += (var7 - this.limbYaw) * 0.4F; - this.limbSwing += this.limbYaw; - } - - public boolean isOnLadder() { - int var1 = MathHelper.floor_double(this.posX); - int var2 = MathHelper.floor_double(this.boundingBox.minY); - int var3 = MathHelper.floor_double(this.posZ); - return this.worldObj.getBlockId(var1, var2, var3) == Block.ladder.blockID || this.worldObj.getBlockId(var1, var2 + 1, var3) == Block.ladder.blockID; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - var1.setShort("Health", (short)this.health); - var1.setShort("HurtTime", (short)this.hurtTime); - var1.setShort("DeathTime", (short)this.deathTime); - var1.setShort("AttackTime", (short)this.attackTime); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - this.health = var1.getShort("Health"); - if(!var1.hasKey("Health")) { - this.health = 10; - } - - this.hurtTime = var1.getShort("HurtTime"); - this.deathTime = var1.getShort("DeathTime"); - this.attackTime = var1.getShort("AttackTime"); - } - - public boolean isEntityAlive() { - return !this.isDead && this.health > 0; - } - - public void onLivingUpdate() { - ++this.entityAge; - Entity var1 = this.worldObj.getPlayerEntity(); - if(var1 != null) { - double var2 = var1.posX - this.posX; - double var4 = var1.posY - this.posY; - double var6 = var1.posZ - this.posZ; - double var8 = var2 * var2 + var4 * var4 + var6 * var6; - if(var8 > 16384.0D) { - this.setEntityDead(); - } - - if(this.entityAge > 600 && this.rand.nextInt(800) == 0) { - if(var8 < 1024.0D) { - this.entityAge = 0; - } else { - this.setEntityDead(); - } - } - } - - if(this.health <= 0) { - this.isJumping = false; - this.moveStrafing = 0.0F; - this.moveForward = 0.0F; - this.randomYawVelocity = 0.0F; - } else { - this.updatePlayerActionState(); - } - - boolean var10 = this.handleWaterMovement(); - boolean var3 = this.handleLavaMovement(); - if(this.isJumping) { - if(var10) { - this.motionY += (double)0.04F; - } else if(var3) { - this.motionY += (double)0.04F; - } else if(this.onGround) { - this.jump(); - } - } - - this.moveStrafing *= 0.98F; - this.moveForward *= 0.98F; - this.randomYawVelocity *= 0.9F; - this.moveEntityWithHeading(this.moveStrafing, this.moveForward); - List var11 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand((double)0.2F, 0.0D, (double)0.2F)); - if(var11 != null && var11.size() > 0) { - for(int var5 = 0; var5 < var11.size(); ++var5) { - Entity var12 = (Entity)var11.get(var5); - if(var12.canBePushed()) { - var12.applyEntityCollision(this); - } - } - } - - } - - protected void jump() { - this.motionY = (double)0.42F; - } - - protected void updatePlayerActionState() { - if(this.rand.nextFloat() < 0.07F) { - this.moveStrafing = (this.rand.nextFloat() - 0.5F) * this.moveSpeed; - this.moveForward = this.rand.nextFloat() * this.moveSpeed; - } - - this.isJumping = this.rand.nextFloat() < 0.01F; - if(this.rand.nextFloat() < 0.04F) { - this.randomYawVelocity = (this.rand.nextFloat() - 0.5F) * 60.0F; - } - - this.rotationYaw += this.randomYawVelocity; - this.rotationPitch = this.defaultPitch; - boolean var1 = this.handleWaterMovement(); - boolean var2 = this.handleLavaMovement(); - if(var1 || var2) { - this.isJumping = this.rand.nextFloat() < 0.8F; - } - - } - - public void onEntityDeath() { - } - - public boolean getCanSpawnHere(double var1, double var3, double var5) { - this.setPosition(var1, var3 + (double)(this.height / 2.0F), var5); - return this.worldObj.checkIfAABBIsClear(this.boundingBox) && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).size() == 0 && !this.worldObj.getIsAnyLiquid(this.boundingBox); - } - - protected void kill() { - this.attackEntityFrom((Entity)null, 4); - } -} diff --git a/src/main/java/net/minecraft/src/EntityMinecart.java b/src/main/java/net/minecraft/src/EntityMinecart.java deleted file mode 100644 index 34926bb..0000000 --- a/src/main/java/net/minecraft/src/EntityMinecart.java +++ /dev/null @@ -1,520 +0,0 @@ -package net.minecraft.src; - -import java.util.List; - -public class EntityMinecart extends Entity implements IInventory { - private ItemStack[] cargoItems; - public int damageTaken; - public int timeSinceHit; - public int forwardDirection; - private boolean isInReverse; - private static final int[][][] matrix = new int[][][]{{{0, 0, -1}, {0, 0, 1}}, {{-1, 0, 0}, {1, 0, 0}}, {{-1, -1, 0}, {1, 0, 0}}, {{-1, 0, 0}, {1, -1, 0}}, {{0, 0, -1}, {0, -1, 1}}, {{0, -1, -1}, {0, 0, 1}}, {{0, 0, 1}, {1, 0, 0}}, {{0, 0, 1}, {-1, 0, 0}}, {{0, 0, -1}, {-1, 0, 0}}, {{0, 0, -1}, {1, 0, 0}}}; - - public EntityMinecart(World var1) { - super(var1); - this.cargoItems = new ItemStack[36]; - this.damageTaken = 0; - this.timeSinceHit = 0; - this.forwardDirection = 1; - this.isInReverse = false; - this.preventEntitySpawning = true; - this.setSize(0.98F, 0.7F); - this.yOffset = this.height / 2.0F; - this.canTriggerWalking = false; - } - - public AxisAlignedBB getCollisionBox(Entity var1) { - return var1.boundingBox; - } - - public AxisAlignedBB getBoundingBox() { - return this.boundingBox; - } - - public boolean canBePushed() { - return true; - } - - public EntityMinecart(World var1, double var2, double var4, double var6) { - this(var1); - this.setPosition(var2, var4 + (double)this.yOffset, var6); - this.motionX = 0.0D; - this.motionY = 0.0D; - this.motionZ = 0.0D; - this.prevPosX = var2; - this.prevPosY = var4; - this.prevPosZ = var6; - } - - public double getYOffset() { - return (double)this.height * 0.2D; - } - - public boolean attackEntityFrom(Entity var1, int var2) { - this.forwardDirection = -this.forwardDirection; - this.timeSinceHit = 10; - this.damageTaken += var2 * 10; - if(this.damageTaken > 40) { - this.entityDropItem(Item.minecart.shiftedIndex, 1, 0.0F); - this.setEntityDead(); - } - - return true; - } - - public boolean canBeCollidedWith() { - return !this.isDead; - } - - public void setEntityDead() { - for(int var1 = 0; var1 < this.getSizeInventory(); ++var1) { - ItemStack var2 = this.getStackInSlot(var1); - if(var2 != null) { - float var3 = this.rand.nextFloat() * 0.8F + 0.1F; - float var4 = this.rand.nextFloat() * 0.8F + 0.1F; - float var5 = this.rand.nextFloat() * 0.8F + 0.1F; - - while(var2.stackSize > 0) { - int var6 = this.rand.nextInt(21) + 10; - if(var6 > var2.stackSize) { - var6 = var2.stackSize; - } - - var2.stackSize -= var6; - EntityItem var7 = new EntityItem(this.worldObj, this.posX + (double)var3, this.posY + (double)var4, this.posZ + (double)var5, new ItemStack(var2.itemID, var6, var2.itemDmg)); - float var8 = 0.05F; - var7.motionX = (double)((float)this.rand.nextGaussian() * var8); - var7.motionY = (double)((float)this.rand.nextGaussian() * var8 + 0.2F); - var7.motionZ = (double)((float)this.rand.nextGaussian() * var8); - this.worldObj.spawnEntityInWorld(var7); - } - } - } - - super.setEntityDead(); - } - - public void onUpdate() { - if(this.timeSinceHit > 0) { - --this.timeSinceHit; - } - - if(this.damageTaken > 0) { - --this.damageTaken; - } - - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.motionY -= (double)0.04F; - int var1 = MathHelper.floor_double(this.posX); - int var2 = MathHelper.floor_double(this.posY); - int var3 = MathHelper.floor_double(this.posZ); - if(this.worldObj.getBlockId(var1, var2 - 1, var3) == Block.minecartTrack.blockID) { - --var2; - } - - double var4 = 0.4D; - double var6 = 1.0D / 128.0D; - if(this.worldObj.getBlockId(var1, var2, var3) == Block.minecartTrack.blockID) { - Vec3D var8 = this.getPos(this.posX, this.posY, this.posZ); - int var9 = this.worldObj.getBlockMetadata(var1, var2, var3); - this.posY = (double)var2; - if(var9 >= 2 && var9 <= 5) { - this.posY = (double)(var2 + 1); - } - - if(var9 == 2) { - this.motionX -= var6; - } - - if(var9 == 3) { - this.motionX += var6; - } - - if(var9 == 4) { - this.motionZ += var6; - } - - if(var9 == 5) { - this.motionZ -= var6; - } - - int[][] var10 = matrix[var9]; - double var11 = (double)(var10[1][0] - var10[0][0]); - double var13 = (double)(var10[1][2] - var10[0][2]); - double var15 = Math.sqrt(var11 * var11 + var13 * var13); - double var17 = this.motionX * var11 + this.motionZ * var13; - if(var17 < 0.0D) { - var11 = -var11; - var13 = -var13; - } - - double var19 = Math.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.motionX = var19 * var11 / var15; - this.motionZ = var19 * var13 / var15; - double var21 = 0.0D; - double var23 = (double)var1 + 0.5D + (double)var10[0][0] * 0.5D; - double var25 = (double)var3 + 0.5D + (double)var10[0][2] * 0.5D; - double var27 = (double)var1 + 0.5D + (double)var10[1][0] * 0.5D; - double var29 = (double)var3 + 0.5D + (double)var10[1][2] * 0.5D; - var11 = var27 - var23; - var13 = var29 - var25; - double var31; - double var33; - if(var11 == 0.0D) { - this.posX = (double)var1 + 0.5D; - var21 = this.posZ - (double)var3; - } else if(var13 == 0.0D) { - this.posZ = (double)var3 + 0.5D; - var21 = this.posX - (double)var1; - } else { - var31 = this.posX - var23; - var33 = this.posZ - var25; - double var35 = (var31 * var11 + var33 * var13) * 2.0D; - var21 = var35; - } - - this.posX = var23 + var11 * var21; - this.posZ = var25 + var13 * var21; - this.setPosition(this.posX, this.posY + (double)this.yOffset, this.posZ); - var31 = this.motionX; - var33 = this.motionZ; - if(this.riddenByEntity != null) { - var31 *= 0.75D; - var33 *= 0.75D; - } - - if(var31 < -var4) { - var31 = -var4; - } - - if(var31 > var4) { - var31 = var4; - } - - if(var33 < -var4) { - var33 = -var4; - } - - if(var33 > var4) { - var33 = var4; - } - - this.moveEntity(var31, 0.0D, var33); - if(var10[0][1] != 0 && MathHelper.floor_double(this.posX) - var1 == var10[0][0] && MathHelper.floor_double(this.posZ) - var3 == var10[0][2]) { - this.setPosition(this.posX, this.posY + (double)var10[0][1], this.posZ); - } else if(var10[1][1] != 0 && MathHelper.floor_double(this.posX) - var1 == var10[1][0] && MathHelper.floor_double(this.posZ) - var3 == var10[1][2]) { - this.setPosition(this.posX, this.posY + (double)var10[1][1], this.posZ); - } - - if(this.riddenByEntity != null) { - this.motionX *= (double)0.997F; - this.motionY *= 0.0D; - this.motionZ *= (double)0.997F; - } else { - this.motionX *= (double)0.96F; - this.motionY *= 0.0D; - this.motionZ *= (double)0.96F; - } - - Vec3D var41 = this.getPos(this.posX, this.posY, this.posZ); - if(var41 != null && var8 != null) { - double var36 = (var8.yCoord - var41.yCoord) * 0.05D; - var19 = Math.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ); - if(var19 > 0.0D) { - this.motionX = this.motionX / var19 * (var19 + var36); - this.motionZ = this.motionZ / var19 * (var19 + var36); - } - - this.setPosition(this.posX, var41.yCoord, this.posZ); - } - - int var42 = MathHelper.floor_double(this.posX); - int var37 = MathHelper.floor_double(this.posZ); - if(var42 != var1 || var37 != var3) { - var19 = Math.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.motionX = var19 * (double)(var42 - var1); - this.motionZ = var19 * (double)(var37 - var3); - } - } else { - if(this.motionX < -var4) { - this.motionX = -var4; - } - - if(this.motionX > var4) { - this.motionX = var4; - } - - if(this.motionZ < -var4) { - this.motionZ = -var4; - } - - if(this.motionZ > var4) { - this.motionZ = var4; - } - - if(this.onGround) { - this.motionX *= 0.5D; - this.motionY *= 0.5D; - this.motionZ *= 0.5D; - } - - this.moveEntity(this.motionX, this.motionY, this.motionZ); - if(!this.onGround) { - this.motionX *= (double)0.95F; - this.motionY *= (double)0.95F; - this.motionZ *= (double)0.95F; - } - } - - this.rotationPitch = 0.0F; - double var38 = this.prevPosX - this.posX; - double var39 = this.prevPosZ - this.posZ; - if(var38 * var38 + var39 * var39 > 0.001D) { - this.rotationYaw = (float)(Math.atan2(var39, var38) * 180.0D / Math.PI); - if(this.isInReverse) { - this.rotationYaw += 180.0F; - } - } - - double var12; - for(var12 = (double)(this.rotationYaw - this.prevRotationYaw); var12 >= 180.0D; var12 -= 360.0D) { - } - - while(var12 < -180.0D) { - var12 += 360.0D; - } - - if(var12 < -170.0D || var12 >= 170.0D) { - this.rotationYaw += 180.0F; - this.isInReverse = !this.isInReverse; - } - - this.setRotation(this.rotationYaw, this.rotationPitch); - List var14 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand((double)0.2F, 0.0D, (double)0.2F)); - if(var14 != null && var14.size() > 0) { - for(int var40 = 0; var40 < var14.size(); ++var40) { - Entity var16 = (Entity)var14.get(var40); - if(var16 != this.riddenByEntity && var16.canBePushed() && var16 instanceof EntityMinecart) { - var16.applyEntityCollision(this); - } - } - } - - if(this.riddenByEntity != null && this.riddenByEntity.isDead) { - this.riddenByEntity = null; - } - - } - - public Vec3D getPosOffset(double var1, double var3, double var5, double var7) { - int var9 = MathHelper.floor_double(var1); - int var10 = MathHelper.floor_double(var3); - int var11 = MathHelper.floor_double(var5); - if(this.worldObj.getBlockId(var9, var10 - 1, var11) == Block.minecartTrack.blockID) { - --var10; - } - - if(this.worldObj.getBlockId(var9, var10, var11) == Block.minecartTrack.blockID) { - int var12 = this.worldObj.getBlockMetadata(var9, var10, var11); - var3 = (double)var10; - if(var12 >= 2 && var12 <= 5) { - var3 = (double)(var10 + 1); - } - - int[][] var13 = matrix[var12]; - double var14 = (double)(var13[1][0] - var13[0][0]); - double var16 = (double)(var13[1][2] - var13[0][2]); - double var18 = Math.sqrt(var14 * var14 + var16 * var16); - var14 /= var18; - var16 /= var18; - var1 += var14 * var7; - var5 += var16 * var7; - if(var13[0][1] != 0 && MathHelper.floor_double(var1) - var9 == var13[0][0] && MathHelper.floor_double(var5) - var11 == var13[0][2]) { - var3 += (double)var13[0][1]; - } else if(var13[1][1] != 0 && MathHelper.floor_double(var1) - var9 == var13[1][0] && MathHelper.floor_double(var5) - var11 == var13[1][2]) { - var3 += (double)var13[1][1]; - } - - return this.getPos(var1, var3, var5); - } else { - return null; - } - } - - public Vec3D getPos(double var1, double var3, double var5) { - int var7 = MathHelper.floor_double(var1); - int var8 = MathHelper.floor_double(var3); - int var9 = MathHelper.floor_double(var5); - if(this.worldObj.getBlockId(var7, var8 - 1, var9) == Block.minecartTrack.blockID) { - --var8; - } - - if(this.worldObj.getBlockId(var7, var8, var9) == Block.minecartTrack.blockID) { - int var10 = this.worldObj.getBlockMetadata(var7, var8, var9); - var3 = (double)var8; - if(var10 >= 2 && var10 <= 5) { - var3 = (double)(var8 + 1); - } - - int[][] var11 = matrix[var10]; - double var12 = 0.0D; - double var14 = (double)var7 + 0.5D + (double)var11[0][0] * 0.5D; - double var16 = (double)var8 + 0.5D + (double)var11[0][1] * 0.5D; - double var18 = (double)var9 + 0.5D + (double)var11[0][2] * 0.5D; - double var20 = (double)var7 + 0.5D + (double)var11[1][0] * 0.5D; - double var22 = (double)var8 + 0.5D + (double)var11[1][1] * 0.5D; - double var24 = (double)var9 + 0.5D + (double)var11[1][2] * 0.5D; - double var26 = var20 - var14; - double var28 = (var22 - var16) * 2.0D; - double var30 = var24 - var18; - if(var26 == 0.0D) { - var1 = (double)var7 + 0.5D; - var12 = var5 - (double)var9; - } else if(var30 == 0.0D) { - var5 = (double)var9 + 0.5D; - var12 = var1 - (double)var7; - } else { - double var32 = var1 - var14; - double var34 = var5 - var18; - double var36 = (var32 * var26 + var34 * var30) * 2.0D; - var12 = var36; - } - - var1 = var14 + var26 * var12; - var3 = var16 + var28 * var12; - var5 = var18 + var30 * var12; - if(var28 < 0.0D) { - ++var3; - } - - if(var28 > 0.0D) { - var3 += 0.5D; - } - - return Vec3D.createVector(var1, var3, var5); - } else { - return null; - } - } - - protected void writeEntityToNBT(NBTTagCompound var1) { - NBTTagList var2 = new NBTTagList(); - - for(int var3 = 0; var3 < this.cargoItems.length; ++var3) { - if(this.cargoItems[var3] != null) { - NBTTagCompound var4 = new NBTTagCompound(); - var4.setByte("Slot", (byte)var3); - this.cargoItems[var3].writeToNBT(var4); - var2.setTag(var4); - } - } - - var1.setTag("Items", var2); - } - - protected void readEntityFromNBT(NBTTagCompound var1) { - NBTTagList var2 = var1.getTagList("Items"); - this.cargoItems = new ItemStack[this.getSizeInventory()]; - - for(int var3 = 0; var3 < var2.tagCount(); ++var3) { - NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3); - int var5 = var4.getByte("Slot") & 255; - if(var5 >= 0 && var5 < this.cargoItems.length) { - this.cargoItems[var5] = new ItemStack(var4); - } - } - - } - - public void applyEntityCollision(Entity var1) { - if(var1 != this.riddenByEntity) { - double var2 = var1.posX - this.posX; - double var4 = var1.posZ - this.posZ; - double var6 = var2 * var2 + var4 * var4; - if(var6 >= (double)1.0E-4F) { - var6 = (double)MathHelper.sqrt_double(var6); - var2 /= var6; - var4 /= var6; - double var8 = 1.0D / var6; - if(var8 > 1.0D) { - var8 = 1.0D; - } - - var2 *= var8; - var4 *= var8; - var2 *= (double)0.1F; - var4 *= (double)0.1F; - var2 *= (double)(1.0F - this.entityCollisionReduction); - var4 *= (double)(1.0F - this.entityCollisionReduction); - var2 *= 0.5D; - var4 *= 0.5D; - if(var1 instanceof EntityMinecart) { - double var10 = (var1.motionX + this.motionX) / 2.0D; - double var12 = (var1.motionZ + this.motionZ) / 2.0D; - this.motionX = this.motionZ = 0.0D; - this.addVelocity(var10 - var2, 0.0D, var12 - var4); - var1.motionX = var1.motionZ = 0.0D; - var1.addVelocity(var10 + var2, 0.0D, var12 + var4); - } else { - this.addVelocity(-var2, 0.0D, -var4); - var1.addVelocity(var2 / 4.0D, 0.0D, var4 / 4.0D); - } - } - - } - } - - public int getSizeInventory() { - return 27; - } - - public ItemStack getStackInSlot(int var1) { - return this.cargoItems[var1]; - } - - public ItemStack decrStackSize(int var1, int var2) { - if(this.cargoItems[var1] != null) { - ItemStack var3; - if(this.cargoItems[var1].stackSize <= var2) { - var3 = this.cargoItems[var1]; - this.cargoItems[var1] = null; - return var3; - } else { - var3 = this.cargoItems[var1].splitStack(var2); - if(this.cargoItems[var1].stackSize == 0) { - this.cargoItems[var1] = null; - } - - return var3; - } - } else { - return null; - } - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - this.cargoItems[var1] = var2; - if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) { - var2.stackSize = this.getInventoryStackLimit(); - } - - } - - public String getInvName() { - return "Minecart"; - } - - public int getInventoryStackLimit() { - return 64; - } - - public void onInventoryChanged() { - } - - public boolean interact(EntityPlayer var1) { - var1.mountEntity(this); - return true; - } -} diff --git a/src/main/java/net/minecraft/src/EntityMonster.java b/src/main/java/net/minecraft/src/EntityMonster.java deleted file mode 100644 index 0e0fc19..0000000 --- a/src/main/java/net/minecraft/src/EntityMonster.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.minecraft.src; - -public class EntityMonster extends EntityCreature { - protected int attackStrength = 2; - - public EntityMonster(World var1) { - super(var1); - this.health = 20; - } - - public void onLivingUpdate() { - float var1 = this.getEntityBrightness(1.0F); - if(var1 > 0.5F) { - this.entityAge += 2; - } - - super.onLivingUpdate(); - } - - public void onUpdate() { - super.onUpdate(); - if(this.worldObj.difficultySetting == 0) { - this.setEntityDead(); - } - - } - - protected Entity findPlayerToAttack() { - double var1 = this.worldObj.playerEntity.getDistanceSqToEntity(this); - double var3 = 16.0D; - return var1 < var3 * var3 && this.canEntityBeSeen(this.worldObj.playerEntity) ? this.worldObj.playerEntity : null; - } - - public boolean attackEntityFrom(Entity var1, int var2) { - if(super.attackEntityFrom(var1, var2)) { - if(var1 != this) { - this.playerToAttack = var1; - } - - return true; - } else { - return false; - } - } - - protected void attackEntity(Entity var1, float var2) { - if((double)var2 < 2.5D && var1.boundingBox.maxY > this.boundingBox.minY && var1.boundingBox.minY < this.boundingBox.maxY) { - this.attackTime = 20; - var1.attackEntityFrom(this, this.attackStrength); - } - - } - - protected float getBlockPathWeight(int var1, int var2, int var3) { - return 0.5F - this.worldObj.getBrightness(var1, var2, var3); - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - } - - public boolean getCanSpawnHere(double var1, double var3, double var5) { - int var7 = this.worldObj.getBlockLightValue(MathHelper.floor_double(var1), MathHelper.floor_double(var3), MathHelper.floor_double(var5)); - return var7 <= this.rand.nextInt(8) && super.getCanSpawnHere(var1, var3, var5); - } -} diff --git a/src/main/java/net/minecraft/src/EntityPainting.java b/src/main/java/net/minecraft/src/EntityPainting.java deleted file mode 100644 index 3090aa2..0000000 --- a/src/main/java/net/minecraft/src/EntityPainting.java +++ /dev/null @@ -1,212 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; - -public class EntityPainting extends Entity { - private int tickCounter; - public int direction; - private int xPosition; - private int yPosition; - private int zPosition; - public EnumArt art; - - public EntityPainting(World var1) { - super(var1); - this.tickCounter = 0; - this.direction = 0; - this.yOffset = 0.0F; - this.setSize(0.5F, 0.5F); - } - - public EntityPainting(World var1, int var2, int var3, int var4, int var5) { - this(var1); - this.xPosition = var2; - this.yPosition = var3; - this.zPosition = var4; - ArrayList var6 = new ArrayList(); - EnumArt[] var7 = EnumArt.values(); - int var8 = var7.length; - - for(int var9 = 0; var9 < var8; ++var9) { - EnumArt var10 = var7[var9]; - this.art = var10; - this.setDirection(var5); - if(this.onValidSurface()) { - var6.add(var10); - } - } - - if(var6.size() > 0) { - this.art = (EnumArt)var6.get(this.rand.nextInt(var6.size())); - } - - this.setDirection(var5); - } - - public void setDirection(int var1) { - this.direction = var1; - this.prevRotationYaw = this.rotationYaw = (float)(var1 * 90); - float var2 = (float)this.art.sizeX; - float var3 = (float)this.art.sizeY; - float var4 = (float)this.art.sizeX; - if(var1 != 0 && var1 != 2) { - var2 = 0.5F; - } else { - var4 = 0.5F; - } - - var2 /= 32.0F; - var3 /= 32.0F; - var4 /= 32.0F; - float var5 = (float)this.xPosition + 0.5F; - float var6 = (float)this.yPosition + 0.5F; - float var7 = (float)this.zPosition + 0.5F; - float var8 = 9.0F / 16.0F; - if(var1 == 0) { - var7 -= var8; - } - - if(var1 == 1) { - var5 -= var8; - } - - if(var1 == 2) { - var7 += var8; - } - - if(var1 == 3) { - var5 += var8; - } - - if(var1 == 0) { - var5 -= this.getArtSize(this.art.sizeX); - } - - if(var1 == 1) { - var7 += this.getArtSize(this.art.sizeX); - } - - if(var1 == 2) { - var5 += this.getArtSize(this.art.sizeX); - } - - if(var1 == 3) { - var7 -= this.getArtSize(this.art.sizeX); - } - - var6 += this.getArtSize(this.art.sizeY); - this.setPosition((double)var5, (double)var6, (double)var7); - float var9 = -(0.1F / 16.0F); - this.boundingBox.setBounds((double)(var5 - var2 - var9), (double)(var6 - var3 - var9), (double)(var7 - var4 - var9), (double)(var5 + var2 + var9), (double)(var6 + var3 + var9), (double)(var7 + var4 + var9)); - } - - private float getArtSize(int var1) { - return var1 == 32 ? 0.5F : (var1 == 64 ? 0.5F : 0.0F); - } - - public void onUpdate() { - if(this.tickCounter++ == 100 && !this.onValidSurface()) { - this.tickCounter = 0; - this.setEntityDead(); - this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Item.painting))); - } - - } - - public boolean onValidSurface() { - if(this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).size() > 0) { - return false; - } else { - int var1 = this.art.sizeX / 16; - int var2 = this.art.sizeY / 16; - int var3 = this.xPosition; - int var4 = this.yPosition; - int var5 = this.zPosition; - if(this.direction == 0) { - var3 = MathHelper.floor_double(this.posX - (double)((float)this.art.sizeX / 32.0F)); - } - - if(this.direction == 1) { - var5 = MathHelper.floor_double(this.posZ - (double)((float)this.art.sizeX / 32.0F)); - } - - if(this.direction == 2) { - var3 = MathHelper.floor_double(this.posX - (double)((float)this.art.sizeX / 32.0F)); - } - - if(this.direction == 3) { - var5 = MathHelper.floor_double(this.posZ - (double)((float)this.art.sizeX / 32.0F)); - } - - var4 = MathHelper.floor_double(this.posY - (double)((float)this.art.sizeY / 32.0F)); - - int var7; - for(int var6 = 0; var6 < var1; ++var6) { - for(var7 = 0; var7 < var2; ++var7) { - Material var8; - if(this.direction != 0 && this.direction != 2) { - var8 = this.worldObj.getBlockMaterial(this.xPosition, var4 + var7, var5 + var6); - } else { - var8 = this.worldObj.getBlockMaterial(var3 + var6, var4 + var7, this.zPosition); - } - - if(!var8.isSolid()) { - return false; - } - } - } - - List var9 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox); - - for(var7 = 0; var7 < var9.size(); ++var7) { - if(var9.get(var7) instanceof EntityPainting) { - return false; - } - } - - return true; - } - } - - public boolean canBeCollidedWith() { - return true; - } - - public boolean attackEntityFrom(Entity var1, int var2) { - this.setEntityDead(); - this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.posX, this.posY, this.posZ, new ItemStack(Item.painting))); - return true; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - var1.setByte("Dir", (byte)this.direction); - var1.setString("Motive", this.art.title); - var1.setInteger("TileX", this.xPosition); - var1.setInteger("TileY", this.yPosition); - var1.setInteger("TileZ", this.zPosition); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - this.direction = var1.getByte("Dir"); - this.xPosition = var1.getInteger("TileX"); - this.yPosition = var1.getInteger("TileY"); - this.zPosition = var1.getInteger("TileZ"); - String var2 = var1.getString("Motive"); - EnumArt[] var3 = EnumArt.values(); - int var4 = var3.length; - - for(int var5 = 0; var5 < var4; ++var5) { - EnumArt var6 = var3[var5]; - if(var6.title.equals(var2)) { - this.art = var6; - } - } - - if(this.art == null) { - this.art = EnumArt.Kebab; - } - - this.setDirection(this.direction); - } -} diff --git a/src/main/java/net/minecraft/src/EntityPickupFX.java b/src/main/java/net/minecraft/src/EntityPickupFX.java deleted file mode 100644 index 7faaec3..0000000 --- a/src/main/java/net/minecraft/src/EntityPickupFX.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class EntityPickupFX extends EntityFX { - private Entity entityToPickUp; - private EntityLiving entityPickingUp; - private int age = 0; - private int maxAge = 0; - private float yOffs; - - public EntityPickupFX(World var1, Entity var2, EntityLiving var3, float var4) { - super(var1, var2.posX, var2.posY, var2.posZ, var2.motionX, var2.motionY, var2.motionZ); - this.entityToPickUp = var2; - this.entityPickingUp = var3; - this.maxAge = 3; - this.yOffs = var4; - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - float var8 = ((float)this.age + var2) / (float)this.maxAge; - var8 *= var8; - double var9 = this.entityToPickUp.posX; - double var11 = this.entityToPickUp.posY; - double var13 = this.entityToPickUp.posZ; - double var15 = this.entityPickingUp.lastTickPosX + (this.entityPickingUp.posX - this.entityPickingUp.lastTickPosX) * (double)var2; - double var17 = this.entityPickingUp.lastTickPosY + (this.entityPickingUp.posY - this.entityPickingUp.lastTickPosY) * (double)var2 + (double)this.yOffs; - double var19 = this.entityPickingUp.lastTickPosZ + (this.entityPickingUp.posZ - this.entityPickingUp.lastTickPosZ) * (double)var2; - double var21 = var9 + (var15 - var9) * (double)var8; - double var23 = var11 + (var17 - var11) * (double)var8; - double var25 = var13 + (var19 - var13) * (double)var8; - int var27 = MathHelper.floor_double(var21); - int var28 = MathHelper.floor_double(var23 + (double)(this.yOffset / 2.0F)); - int var29 = MathHelper.floor_double(var25); - float var30 = this.worldObj.getBrightness(var27, var28, var29); - var21 -= interpPosX; - var23 -= interpPosY; - var25 -= interpPosZ; - GL11.glColor4f(var30, var30, var30, 1.0F); - RenderManager.instance.renderEntityWithPosYaw(this.entityToPickUp, (double)((float)var21), (double)((float)var23), (double)((float)var25), this.entityToPickUp.rotationYaw, var2); - } - - public void onUpdate() { - ++this.age; - if(this.age == this.maxAge) { - this.setEntityDead(); - } - - } - - public int getFXLayer() { - return 2; - } -} diff --git a/src/main/java/net/minecraft/src/EntityPig.java b/src/main/java/net/minecraft/src/EntityPig.java deleted file mode 100644 index 805c3fd..0000000 --- a/src/main/java/net/minecraft/src/EntityPig.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.minecraft.src; - -public class EntityPig extends EntityAnimal { - public boolean saddled = false; - - public EntityPig(World var1) { - super(var1); - this.texture = "/mob/pig.png"; - this.setSize(0.9F, 0.9F); - this.saddled = false; - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - var1.setBoolean("Saddle", this.saddled); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - this.saddled = var1.getBoolean("Saddle"); - } - - protected String getLivingSound() { - return "mob.pig"; - } - - protected String getHurtSound() { - return "mob.pig"; - } - - protected String getDeathSound() { - return "mob.pigdeath"; - } - - public boolean interact(EntityPlayer var1) { - if(this.saddled) { - var1.mountEntity(this); - return true; - } else { - return false; - } - } - - protected int getDropItemId() { - return Item.porkRaw.shiftedIndex; - } -} diff --git a/src/main/java/net/minecraft/src/EntityPlayer.java b/src/main/java/net/minecraft/src/EntityPlayer.java deleted file mode 100644 index b7db196..0000000 --- a/src/main/java/net/minecraft/src/EntityPlayer.java +++ /dev/null @@ -1,219 +0,0 @@ -package net.minecraft.src; - -import java.util.List; - -public class EntityPlayer extends EntityLiving { - public InventoryPlayer inventory = new InventoryPlayer(this); - public byte unusedMiningCooldown = 0; - public int score = 0; - public float prevCameraYaw; - public float cameraYaw; - protected String username; - private int damageRemainder = 0; - - public EntityPlayer(World var1) { - super(var1); - this.setPositionAndRotation((double)var1.spawnX + 0.5D, (double)var1.spawnY, (double)var1.spawnZ + 0.5D, 0.0F, 0.0F); - this.yOffset = 1.62F; - this.health = 20; - this.entityType = "humanoid"; - this.unusedRotation = 180.0F; - this.fireResistance = 20; - this.texture = "/char.png"; - } - - public void updateRidden() { - super.updateRidden(); - this.prevCameraYaw = this.cameraYaw; - this.cameraYaw = 0.0F; - } - - public void preparePlayerToSpawn() { - this.yOffset = 1.62F; - this.setSize(0.6F, 1.8F); - super.preparePlayerToSpawn(); - if(this.worldObj != null) { - this.worldObj.playerEntity = this; - } - - this.health = 20; - this.deathTime = 0; - } - - public void onLivingUpdate() { - this.worldObj.playMusic(this.posX, this.posY, this.posZ, "calm", 0.0F); - if(this.worldObj.difficultySetting == 0 && this.health < 20 && this.ticksExisted % 20 * 4 == 0) { - this.heal(1); - } - - this.inventory.decrementAnimations(); - this.prevCameraYaw = this.cameraYaw; - super.onLivingUpdate(); - float var1 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - float var2 = (float)Math.atan(-this.motionY * (double)0.2F) * 15.0F; - if(var1 > 0.1F) { - var1 = 0.1F; - } - - if(!this.onGround || this.health <= 0) { - var1 = 0.0F; - } - - if(this.onGround || this.health <= 0) { - var2 = 0.0F; - } - - this.cameraYaw += (var1 - this.cameraYaw) * 0.4F; - this.cameraPitch += (var2 - this.cameraPitch) * 0.8F; - if(this.health > 0) { - List var3 = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(1.0D, 0.0D, 1.0D)); - if(var3 != null) { - for(int var4 = 0; var4 < var3.size(); ++var4) { - this.collideWithPlayer((Entity)var3.get(var4)); - } - } - } - - } - - private void collideWithPlayer(Entity var1) { - var1.onCollideWithPlayer(this); - } - - public int getScore() { - return this.score; - } - - public void onDeath(Entity var1) { - this.setSize(0.2F, 0.2F); - this.setPosition(this.posX, this.posY, this.posZ); - this.motionY = (double)0.1F; - if(this.username.equals("Notch")) { - this.dropPlayerItemWithRandomChoice(new ItemStack(Item.appleRed, 1), true); - } - - this.inventory.dropAllItems(); - if(var1 != null) { - this.motionX = (double)(-MathHelper.cos((this.attackedAtYaw + this.rotationYaw) * (float)Math.PI / 180.0F) * 0.1F); - this.motionZ = (double)(-MathHelper.sin((this.attackedAtYaw + this.rotationYaw) * (float)Math.PI / 180.0F) * 0.1F); - } else { - this.motionX = this.motionZ = 0.0D; - } - - this.yOffset = 0.1F; - } - - public void addToPlayerScore(Entity var1, int var2) { - this.score += var2; - } - - public void dropPlayerItem(ItemStack var1) { - this.dropPlayerItemWithRandomChoice(var1, false); - } - - public void dropPlayerItemWithRandomChoice(ItemStack var1, boolean var2) { - if(var1 != null) { - EntityItem var3 = new EntityItem(this.worldObj, this.posX, this.posY - (double)0.3F, this.posZ, var1); - var3.delayBeforeCanPickup = 40; - float var4 = 0.1F; - float var5; - if(var2) { - var5 = this.rand.nextFloat() * 0.5F; - float var6 = this.rand.nextFloat() * (float)Math.PI * 2.0F; - var3.motionX = (double)(-MathHelper.sin(var6) * var5); - var3.motionZ = (double)(MathHelper.cos(var6) * var5); - var3.motionY = (double)0.2F; - } else { - var4 = 0.3F; - var3.motionX = (double)(-MathHelper.sin(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI) * var4); - var3.motionZ = (double)(MathHelper.cos(this.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(this.rotationPitch / 180.0F * (float)Math.PI) * var4); - var3.motionY = (double)(-MathHelper.sin(this.rotationPitch / 180.0F * (float)Math.PI) * var4 + 0.1F); - var4 = 0.02F; - var5 = this.rand.nextFloat() * (float)Math.PI * 2.0F; - var4 *= this.rand.nextFloat(); - var3.motionX += Math.cos((double)var5) * (double)var4; - var3.motionY += (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.1F); - var3.motionZ += Math.sin((double)var5) * (double)var4; - } - - this.worldObj.spawnEntityInWorld(var3); - } - } - - public float getCurrentPlayerStrVsBlock(Block var1) { - float var2 = this.inventory.getStrVsBlock(var1); - if(this.isInsideOfMaterial(Material.water)) { - var2 /= 5.0F; - } - - if(!this.onGround) { - var2 /= 5.0F; - } - - return var2; - } - - public boolean canHarvestBlock(Block var1) { - return this.inventory.canHarvestBlock(var1); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - } - - public void displayGUIChest(IInventory var1) { - } - - public void displayWorkbenchGUI() { - } - - public void onItemPickup(Entity var1) { - } - - protected float getEyeHeight() { - return 0.12F; - } - - public boolean attackEntityFrom(Entity var1, int var2) { - this.entityAge = 0; - if(this.health <= 0) { - return false; - } else if((float)this.heartsLife > (float)this.heartsHalvesLife / 2.0F) { - return false; - } else { - if(var1 instanceof EntityMonster || var1 instanceof EntityArrow) { - if(this.worldObj.difficultySetting == 0) { - var2 = 0; - } - - if(this.worldObj.difficultySetting == 1) { - var2 = var2 / 3 + 1; - } - - if(this.worldObj.difficultySetting == 3) { - var2 = var2 * 3 / 2; - } - } - - int var3 = 25 - this.inventory.getTotalArmorValue(); - int var4 = var2 * var3 + this.damageRemainder; - this.inventory.damageArmor(var2); - var2 = var4 / 25; - this.damageRemainder = var4 % 25; - return var2 == 0 ? false : super.attackEntityFrom(var1, var2); - } - } - - public void displayGUIFurnace(TileEntityFurnace var1) { - } - - public void displayGUIEditSign(TileEntitySign var1) { - } - - public void interactWithEntity(Entity var1) { - } -} diff --git a/src/main/java/net/minecraft/src/EntityPlayerSP.java b/src/main/java/net/minecraft/src/EntityPlayerSP.java deleted file mode 100644 index 7b791e1..0000000 --- a/src/main/java/net/minecraft/src/EntityPlayerSP.java +++ /dev/null @@ -1,118 +0,0 @@ -package net.minecraft.src; - -public class EntityPlayerSP extends EntityPlayer { - public MovementInput movementInput; - private Minecraft mc; - - public EntityPlayerSP(Minecraft var1, World var2, Session var3) { - super(var2); - this.mc = var1; - if(var2 != null) { - if(var2.playerEntity != null) { - var2.setEntityDead(var2.playerEntity); - } - - var2.playerEntity = this; - } - - if(var3 != null && var3.username != null && var3.username.length() > 0) { - this.skinUrl = "http://www.minecraft.net/skin/" + var3.username + ".png"; - } - - this.username = var3.username; - } - - public void updatePlayerActionState() { - this.moveStrafing = this.movementInput.moveStrafe; - this.moveForward = this.movementInput.moveForward; - this.isJumping = this.movementInput.jump; - } - - public void onLivingUpdate() { - this.movementInput.updatePlayerMoveState(this); - super.onLivingUpdate(); - } - - public void resetPlayerKeyState() { - this.movementInput.resetKeyState(); - } - - public void handleKeyPress(int var1, boolean var2) { - this.movementInput.checkKeyForMovementInput(var1, var2); - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - var1.setInteger("Score", this.score); - var1.setTag("Inventory", this.inventory.writeToNBT(new NBTTagList())); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - this.score = var1.getInteger("Score"); - NBTTagList var2 = var1.getTagList("Inventory"); - this.inventory.readFromNBT(var2); - } - - public void displayGUIChest(IInventory var1) { - this.mc.displayGuiScreen(new GuiChest(this.inventory, var1)); - } - - public void displayGUIEditSign(TileEntitySign var1) { - this.mc.displayGuiScreen(new GuiEditSign(var1)); - } - - public void displayWorkbenchGUI() { - this.mc.displayGuiScreen(new GuiCrafting(this.inventory)); - } - - public void displayGUIFurnace(TileEntityFurnace var1) { - this.mc.displayGuiScreen(new GuiFurnace(this.inventory, var1)); - } - - public ItemStack getCurrentEquippedItem() { - return this.inventory.getCurrentItem(); - } - - public void displayGUIInventory() { - this.inventory.setInventorySlotContents(this.inventory.currentItem, (ItemStack)null); - } - - public void attackEntity(Entity var1) { - int var2 = this.inventory.getDamageVsEntity(var1); - if(var2 > 0) { - var1.attackEntityFrom(this, var2); - ItemStack var3 = this.getCurrentEquippedItem(); - if(var3 != null && var1 instanceof EntityLiving) { - var3.hitEntity((EntityLiving)var1); - if(var3.stackSize <= 0) { - var3.onItemDestroyedByUse(this); - this.displayGUIInventory(); - } - } - } - - } - - public void onItemPickup(Entity var1) { - this.mc.effectRenderer.addEffect(new EntityPickupFX(this.mc.theWorld, var1, this, -0.5F)); - } - - public int getPlayerArmorValue() { - return this.inventory.getTotalArmorValue(); - } - - public void interactWithEntity(Entity var1) { - if(!var1.interact(this)) { - ItemStack var2 = this.getCurrentEquippedItem(); - if(var2 != null && var1 instanceof EntityLiving) { - var2.useItemOnEntity((EntityLiving)var1); - if(var2.stackSize <= 0) { - var2.onItemDestroyedByUse(this); - this.displayGUIInventory(); - } - } - - } - } -} diff --git a/src/main/java/net/minecraft/src/EntityRainFX.java b/src/main/java/net/minecraft/src/EntityRainFX.java deleted file mode 100644 index 1b3c2bc..0000000 --- a/src/main/java/net/minecraft/src/EntityRainFX.java +++ /dev/null @@ -1,53 +0,0 @@ -package net.minecraft.src; - -public class EntityRainFX extends EntityFX { - public EntityRainFX(World var1, double var2, double var4, double var6) { - super(var1, var2, var4, var6, 0.0D, 0.0D, 0.0D); - this.motionX *= (double)0.3F; - this.motionY = (double)((float)Math.random() * 0.2F + 0.1F); - this.motionZ *= (double)0.3F; - this.particleRed = 1.0F; - this.particleGreen = 1.0F; - this.particleBlue = 1.0F; - this.particleTextureIndex = 16; - this.setSize(0.01F, 0.01F); - this.particleGravity = 0.06F; - this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D)); - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - super.renderParticle(var1, var2, var3, var4, var5, var6, var7); - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.motionY -= (double)this.particleGravity; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.98F; - this.motionY *= (double)0.98F; - this.motionZ *= (double)0.98F; - if(this.particleMaxAge-- <= 0) { - this.setEntityDead(); - } - - if(this.onGround) { - if(Math.random() < 0.5D) { - this.setEntityDead(); - } - - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - } - - Material var1 = this.worldObj.getBlockMaterial(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)); - if(var1.getIsLiquid() || var1.isSolid()) { - double var2 = (double)((float)(MathHelper.floor_double(this.posY) + 1) - BlockFluid.getPercentAir(this.worldObj.getBlockMetadata(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)))); - if(this.posY < var2) { - this.setEntityDead(); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityRenderer.java b/src/main/java/net/minecraft/src/EntityRenderer.java deleted file mode 100644 index 4be94a9..0000000 --- a/src/main/java/net/minecraft/src/EntityRenderer.java +++ /dev/null @@ -1,616 +0,0 @@ -package net.minecraft.src; - -import java.nio.FloatBuffer; -import java.util.List; -import java.util.Random; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.Display; -import org.lwjgl.opengl.GL11; - -public class EntityRenderer { - private Minecraft mc; - private boolean isDisplayActive = false; - private float farPlaneDistance = 0.0F; - public ItemRenderer itemRenderer; - private int rendererUpdateCount; - private Entity pointedEntity = null; - private int mouseDX; - private int mouseDY; - private Random random = new Random(); - volatile int unusedInt1 = 0; - volatile int unusedInt2 = 0; - FloatBuffer fogColorBuffer = GLAllocation.createFloatBuffer(16); - float fogColorRed; - float fogColorGreen; - float fogColorBlue; - private float prevFogColor; - private float fogColor; - - public EntityRenderer(Minecraft var1) { - this.mc = var1; - this.itemRenderer = new ItemRenderer(var1); - } - - public void updateRenderer() { - this.prevFogColor = this.fogColor; - float var1 = this.mc.theWorld.getBrightness(MathHelper.floor_double(this.mc.thePlayer.posX), MathHelper.floor_double(this.mc.thePlayer.posY), MathHelper.floor_double(this.mc.thePlayer.posZ)); - float var2 = (float)(3 - this.mc.gameSettings.renderDistance) / 3.0F; - float var3 = var1 * (1.0F - var2) + var2; - this.fogColor += (var3 - this.fogColor) * 0.1F; - ++this.rendererUpdateCount; - this.itemRenderer.updateEquippedItem(); - if(this.mc.isRaining) { - this.addRainParticles(); - } - - } - - private Vec3D getPlayerPosition(float var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - double var3 = var2.prevPosX + (var2.posX - var2.prevPosX) * (double)var1; - double var5 = var2.prevPosY + (var2.posY - var2.prevPosY) * (double)var1; - double var7 = var2.prevPosZ + (var2.posZ - var2.prevPosZ) * (double)var1; - return Vec3D.createVector(var3, var5, var7); - } - - private void getMouseOver(float var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - float var3 = var2.prevRotationPitch + (var2.rotationPitch - var2.prevRotationPitch) * var1; - float var4 = var2.prevRotationYaw + (var2.rotationYaw - var2.prevRotationYaw) * var1; - Vec3D var5 = this.getPlayerPosition(var1); - float var6 = MathHelper.cos(-var4 * ((float)Math.PI / 180.0F) - (float)Math.PI); - float var7 = MathHelper.sin(-var4 * ((float)Math.PI / 180.0F) - (float)Math.PI); - float var8 = -MathHelper.cos(-var3 * ((float)Math.PI / 180.0F)); - float var9 = MathHelper.sin(-var3 * ((float)Math.PI / 180.0F)); - float var10 = var7 * var8; - float var12 = var6 * var8; - double var13 = (double)this.mc.playerController.getBlockReachDistance(); - Vec3D var15 = var5.addVector((double)var10 * var13, (double)var9 * var13, (double)var12 * var13); - this.mc.objectMouseOver = this.mc.theWorld.rayTraceBlocks(var5, var15); - double var16 = var13; - var5 = this.getPlayerPosition(var1); - if(this.mc.objectMouseOver != null) { - var16 = this.mc.objectMouseOver.hitVec.distanceTo(var5); - } - - if(this.mc.playerController instanceof PlayerControllerCreative) { - var13 = 32.0D; - } else { - if(var16 > 3.0D) { - var16 = 3.0D; - } - - var13 = var16; - } - - var15 = var5.addVector((double)var10 * var13, (double)var9 * var13, (double)var12 * var13); - this.pointedEntity = null; - List var18 = this.mc.theWorld.getEntitiesWithinAABBExcludingEntity(var2, var2.boundingBox.addCoord((double)var10 * var13, (double)var9 * var13, (double)var12 * var13)); - double var19 = 0.0D; - - for(int var21 = 0; var21 < var18.size(); ++var21) { - Entity var22 = (Entity)var18.get(var21); - if(var22.canBeCollidedWith()) { - float var23 = 0.1F; - AxisAlignedBB var24 = var22.boundingBox.expand((double)var23, (double)var23, (double)var23); - MovingObjectPosition var25 = var24.calculateIntercept(var5, var15); - if(var25 != null) { - double var26 = var5.distanceTo(var25.hitVec); - if(var26 < var19 || var19 == 0.0D) { - this.pointedEntity = var22; - var19 = var26; - } - } - } - } - - if(this.pointedEntity != null && !(this.mc.playerController instanceof PlayerControllerCreative)) { - this.mc.objectMouseOver = new MovingObjectPosition(this.pointedEntity); - } - - } - - private float getFOVModifier(float var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - float var3 = 70.0F; - if(var2.isInsideOfMaterial(Material.water)) { - var3 = 60.0F; - } - - if(var2.health <= 0) { - float var4 = (float)var2.deathTime + var1; - var3 /= (1.0F - 500.0F / (var4 + 500.0F)) * 2.0F + 1.0F; - } - - return var3; - } - - private void hurtCameraEffect(float var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - float var3 = (float)var2.hurtTime - var1; - float var4; - if(var2.health <= 0) { - var4 = (float)var2.deathTime + var1; - GL11.glRotatef(40.0F - 8000.0F / (var4 + 200.0F), 0.0F, 0.0F, 1.0F); - } - - if(var3 >= 0.0F) { - var3 /= (float)var2.maxHurtTime; - var3 = MathHelper.sin(var3 * var3 * var3 * var3 * (float)Math.PI); - var4 = var2.attackedAtYaw; - GL11.glRotatef(-var4, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-var3 * 14.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(var4, 0.0F, 1.0F, 0.0F); - } - } - - private void setupViewBobbing(float var1) { - if(!this.mc.gameSettings.thirdPersonView) { - EntityPlayerSP var2 = this.mc.thePlayer; - float var3 = var2.distanceWalkedModified - var2.prevDistanceWalkedModified; - float var4 = var2.distanceWalkedModified + var3 * var1; - float var5 = var2.prevCameraYaw + (var2.cameraYaw - var2.prevCameraYaw) * var1; - float var6 = var2.prevCameraPitch + (var2.cameraPitch - var2.prevCameraPitch) * var1; - GL11.glTranslatef(MathHelper.sin(var4 * (float)Math.PI) * var5 * 0.5F, -Math.abs(MathHelper.cos(var4 * (float)Math.PI) * var5), 0.0F); - GL11.glRotatef(MathHelper.sin(var4 * (float)Math.PI) * var5 * 3.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(Math.abs(MathHelper.cos(var4 * (float)Math.PI + 0.2F) * var5) * 5.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(var6, 1.0F, 0.0F, 0.0F); - } - } - - private void orientCamera(float var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - double var3 = var2.prevPosX + (var2.posX - var2.prevPosX) * (double)var1; - double var5 = var2.prevPosY + (var2.posY - var2.prevPosY) * (double)var1; - double var7 = var2.prevPosZ + (var2.posZ - var2.prevPosZ) * (double)var1; - if(this.mc.gameSettings.thirdPersonView) { - double var9 = 4.0D; - double var11 = (double)(-MathHelper.sin(var2.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(var2.rotationPitch / 180.0F * (float)Math.PI)) * var9; - double var13 = (double)(MathHelper.cos(var2.rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(var2.rotationPitch / 180.0F * (float)Math.PI)) * var9; - double var15 = (double)(-MathHelper.sin(var2.rotationPitch / 180.0F * (float)Math.PI)) * var9; - - for(int var17 = 0; var17 < 8; ++var17) { - float var18 = (float)((var17 & 1) * 2 - 1); - float var19 = (float)((var17 >> 1 & 1) * 2 - 1); - float var20 = (float)((var17 >> 2 & 1) * 2 - 1); - var18 *= 0.1F; - var19 *= 0.1F; - var20 *= 0.1F; - MovingObjectPosition var21 = this.mc.theWorld.rayTraceBlocks(Vec3D.createVector(var3 + (double)var18, var5 + (double)var19, var7 + (double)var20), Vec3D.createVector(var3 - var11 + (double)var18 + (double)var20, var5 - var15 + (double)var19, var7 - var13 + (double)var20)); - if(var21 != null) { - double var22 = var21.hitVec.distanceTo(Vec3D.createVector(var3, var5, var7)); - if(var22 < var9) { - var9 = var22; - } - } - } - - GL11.glTranslatef(0.0F, 0.0F, (float)(-var9)); - } else { - GL11.glTranslatef(0.0F, 0.0F, -0.1F); - } - - GL11.glRotatef(var2.prevRotationPitch + (var2.rotationPitch - var2.prevRotationPitch) * var1, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(var2.prevRotationYaw + (var2.rotationYaw - var2.prevRotationYaw) * var1 + 180.0F, 0.0F, 1.0F, 0.0F); - } - - private void setupCameraTransform(float var1, int var2) { - this.farPlaneDistance = (float)(256 >> this.mc.gameSettings.renderDistance); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - float var3 = 0.07F; - if(this.mc.gameSettings.anaglyph) { - GL11.glTranslatef((float)(-(var2 * 2 - 1)) * var3, 0.0F, 0.0F); - } - - GL11.gluPerspective(this.getFOVModifier(var1), (float)this.mc.displayWidth / (float)this.mc.displayHeight, 0.05F, this.farPlaneDistance); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - if(this.mc.gameSettings.anaglyph) { - GL11.glTranslatef((float)(var2 * 2 - 1) * 0.1F, 0.0F, 0.0F); - } - - this.hurtCameraEffect(var1); - if(this.mc.gameSettings.viewBobbing) { - this.setupViewBobbing(var1); - } - - this.orientCamera(var1); - } - - private void renderHand(float var1, int var2) { - GL11.glLoadIdentity(); - if(this.mc.gameSettings.anaglyph) { - GL11.glTranslatef((float)(var2 * 2 - 1) * 0.1F, 0.0F, 0.0F); - } - - GL11.glPushMatrix(); - this.hurtCameraEffect(var1); - if(this.mc.gameSettings.viewBobbing) { - this.setupViewBobbing(var1); - } - - if(!this.mc.gameSettings.thirdPersonView) { - this.itemRenderer.renderItemInFirstPerson(var1); - } - - GL11.glPopMatrix(); - if(!this.mc.gameSettings.thirdPersonView) { - this.itemRenderer.renderOverlays(var1); - this.hurtCameraEffect(var1); - } - - if(this.mc.gameSettings.viewBobbing) { - this.setupViewBobbing(var1); - } - - } - - public void updateCameraAndRender(float var1) { - if(this.isDisplayActive && !Display.isActive()) { - this.mc.displayInGameMenu(); - } - - this.isDisplayActive = Display.isActive(); - int var3; - int var9; - int var10; - if(this.mc.inGameHasFocus) { - int var2 = Mouse.getDX() * 0; - var3 = Mouse.getDY() * 0; - this.mc.mouseHelper.mouseXYChange(); - byte var4 = 1; - if(this.mc.gameSettings.invertMouse) { - var4 = -1; - } - - boolean var5 = false; - boolean var6 = false; - var9 = var2 + this.mc.mouseHelper.deltaX; - var10 = var3 - this.mc.mouseHelper.deltaY; - if(var2 != 0 || this.mouseDX != 0) { - System.out.println("xxo: " + var2 + ", " + this.mouseDX + ": " + this.mouseDX + ", xo: " + var9); - } - - if(this.mouseDX != 0) { - this.mouseDX = 0; - } - - if(this.mouseDY != 0) { - this.mouseDY = 0; - } - - if(var2 != 0) { - this.mouseDX = var2; - } - - if(var3 != 0) { - this.mouseDY = var3; - } - - this.mc.thePlayer.setAngles((float)var9, (float)(var10 * var4)); - } - - if(!this.mc.skipRenderWorld) { - ScaledResolution var7 = new ScaledResolution(this.mc.displayWidth, this.mc.displayHeight); - var3 = var7.getScaledWidth(); - int var8 = var7.getScaledHeight(); - var9 = Mouse.getX() * var3 / this.mc.displayWidth; - var10 = var8 - Mouse.getY() * var8 / this.mc.displayHeight - 1; - if(this.mc.theWorld != null) { - this.renderWorld(var1); - this.mc.ingameGUI.renderGameOverlay(var1, this.mc.currentScreen != null, var9, var10); - } else { - GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight); - GL11.glClearColor(0.0F, 0.0F, 0.0F, 0.0F); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - this.setupOverlayRendering(); - } - - if(this.mc.currentScreen != null) { - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); - this.mc.currentScreen.drawScreen(var9, var10, var1); - } - - } - } - - public void renderWorld(float var1) { - this.getMouseOver(var1); - EntityPlayerSP var2 = this.mc.thePlayer; - RenderGlobal var3 = this.mc.renderGlobal; - EffectRenderer var4 = this.mc.effectRenderer; - double var5 = var2.lastTickPosX + (var2.posX - var2.lastTickPosX) * (double)var1; - double var7 = var2.lastTickPosY + (var2.posY - var2.lastTickPosY) * (double)var1; - double var9 = var2.lastTickPosZ + (var2.posZ - var2.lastTickPosZ) * (double)var1; - - for(int var11 = 0; var11 < 2; ++var11) { - if(this.mc.gameSettings.anaglyph) { - if(var11 == 0) { - GL11.glColorMask(false, true, true, false); - } else { - GL11.glColorMask(true, false, false, false); - } - } - - GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight); - this.updateFogColor(var1); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); - GL11.glEnable(GL11.GL_CULL_FACE); - this.setupCameraTransform(var1, var11); - ClippingHelperImplementation.getInstance(); - if(this.mc.gameSettings.renderDistance < 2) { - this.setupFog(-1); - var3.renderSky(var1); - } - - GL11.glEnable(GL11.GL_FOG); - this.setupFog(1); - Frustrum var12 = new Frustrum(); - var12.setPosition(var5, var7, var9); - this.mc.renderGlobal.clipRenderersByFrustrum(var12, var1); - this.mc.renderGlobal.updateRenderers(var2, false); - this.setupFog(0); - GL11.glEnable(GL11.GL_FOG); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png")); - RenderHelper.disableStandardItemLighting(); - var3.sortAndRender(var2, 0, (double)var1); - RenderHelper.enableStandardItemLighting(); - var3.renderEntities(this.getPlayerPosition(var1), var12, var1); - var4.renderLitParticles(var2, var1); - RenderHelper.disableStandardItemLighting(); - this.setupFog(0); - var4.renderParticles(var2, var1); - if(this.mc.objectMouseOver != null && var2.isInsideOfMaterial(Material.water)) { - GL11.glDisable(GL11.GL_ALPHA_TEST); - var3.drawBlockBreaking(var2, this.mc.objectMouseOver, 0, var2.inventory.getCurrentItem(), var1); - var3.drawSelectionBox(var2, this.mc.objectMouseOver, 0, var2.inventory.getCurrentItem(), var1); - GL11.glEnable(GL11.GL_ALPHA_TEST); - } - - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - this.setupFog(0); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png")); - if(this.mc.gameSettings.fancyGraphics) { - GL11.glColorMask(false, false, false, false); - int var13 = var3.sortAndRender(var2, 1, (double)var1); - GL11.glColorMask(true, true, true, true); - if(this.mc.gameSettings.anaglyph) { - if(var11 == 0) { - GL11.glColorMask(false, true, true, false); - } else { - GL11.glColorMask(true, false, false, false); - } - } - - if(var13 > 0) { - var3.renderAllRenderLists(1, (double)var1); - } - } else { - var3.sortAndRender(var2, 1, (double)var1); - } - - GL11.glDepthMask(true); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - if(this.mc.objectMouseOver != null && !var2.isInsideOfMaterial(Material.water)) { - GL11.glDisable(GL11.GL_ALPHA_TEST); - var3.drawBlockBreaking(var2, this.mc.objectMouseOver, 0, var2.inventory.getCurrentItem(), var1); - var3.drawSelectionBox(var2, this.mc.objectMouseOver, 0, var2.inventory.getCurrentItem(), var1); - GL11.glEnable(GL11.GL_ALPHA_TEST); - } - - GL11.glDisable(GL11.GL_FOG); - if(this.mc.isRaining) { - this.renderRain(var1); - } - - if(this.pointedEntity != null) { - } - - this.setupFog(0); - GL11.glEnable(GL11.GL_FOG); - var3.renderClouds(var1); - GL11.glDisable(GL11.GL_FOG); - this.setupFog(1); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); - this.renderHand(var1, var11); - if(!this.mc.gameSettings.anaglyph) { - return; - } - } - - GL11.glColorMask(true, true, true, false); - } - - private void addRainParticles() { - EntityPlayerSP var1 = this.mc.thePlayer; - World var2 = this.mc.theWorld; - int var3 = MathHelper.floor_double(var1.posX); - int var4 = MathHelper.floor_double(var1.posY); - int var5 = MathHelper.floor_double(var1.posZ); - byte var6 = 4; - - for(int var7 = 0; var7 < 50; ++var7) { - int var8 = var3 + this.random.nextInt(var6 * 2 + 1) - var6; - int var9 = var5 + this.random.nextInt(var6 * 2 + 1) - var6; - int var10 = var2.getTopSolidOrLiquidBlock(var8, var9); - int var11 = var2.getBlockId(var8, var10 - 1, var9); - if(var10 <= var4 + var6 && var10 >= var4 - var6) { - float var12 = this.random.nextFloat(); - float var13 = this.random.nextFloat(); - if(var11 > 0) { - this.mc.effectRenderer.addEffect(new EntityRainFX(var2, (double)((float)var8 + var12), (double)((float)var10 + 0.1F) - Block.blocksList[var11].minY, (double)((float)var9 + var13))); - } - } - } - - } - - private void renderRain(float var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - World var3 = this.mc.theWorld; - int var4 = MathHelper.floor_double(var2.posX); - int var5 = MathHelper.floor_double(var2.posY); - int var6 = MathHelper.floor_double(var2.posZ); - Tessellator var7 = Tessellator.instance; - GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glNormal3f(0.0F, 1.0F, 0.0F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/rain.png")); - byte var8 = 5; - - for(int var9 = var4 - var8; var9 <= var4 + var8; ++var9) { - for(int var10 = var6 - var8; var10 <= var6 + var8; ++var10) { - int var11 = var3.getTopSolidOrLiquidBlock(var9, var10); - int var12 = var5 - var8; - int var13 = var5 + var8; - if(var12 < var11) { - var12 = var11; - } - - if(var13 < var11) { - var13 = var11; - } - - float var14 = 2.0F; - if(var12 != var13) { - float var15 = ((float)((this.rendererUpdateCount + var9 * 3121 + var10 * 418711) % 32) + var1) / 32.0F; - double var16 = (double)((float)var9 + 0.5F) - var2.posX; - double var18 = (double)((float)var10 + 0.5F) - var2.posZ; - float var20 = MathHelper.sqrt_double(var16 * var16 + var18 * var18) / (float)var8; - GL11.glColor4f(1.0F, 1.0F, 1.0F, (1.0F - var20 * var20) * 0.7F); - var7.startDrawingQuads(); - var7.addVertexWithUV((double)(var9 + 0), (double)var12, (double)(var10 + 0), (double)(0.0F * var14), (double)((float)var12 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 1), (double)var12, (double)(var10 + 1), (double)(1.0F * var14), (double)((float)var12 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 1), (double)var13, (double)(var10 + 1), (double)(1.0F * var14), (double)((float)var13 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 0), (double)var13, (double)(var10 + 0), (double)(0.0F * var14), (double)((float)var13 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 0), (double)var12, (double)(var10 + 1), (double)(0.0F * var14), (double)((float)var12 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 1), (double)var12, (double)(var10 + 0), (double)(1.0F * var14), (double)((float)var12 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 1), (double)var13, (double)(var10 + 0), (double)(1.0F * var14), (double)((float)var13 * var14 / 8.0F + var15 * var14)); - var7.addVertexWithUV((double)(var9 + 0), (double)var13, (double)(var10 + 1), (double)(0.0F * var14), (double)((float)var13 * var14 / 8.0F + var15 * var14)); - var7.draw(); - } - } - } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glDisable(GL11.GL_BLEND); - } - - public void setupOverlayRendering() { - ScaledResolution var1 = new ScaledResolution(this.mc.displayWidth, this.mc.displayHeight); - int var2 = var1.getScaledWidth(); - int var3 = var1.getScaledHeight(); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glOrtho(0.0D, (double)var2, (double)var3, 0.0D, 1000.0D, 3000.0D); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - GL11.glTranslatef(0.0F, 0.0F, -2000.0F); - } - - private void updateFogColor(float var1) { - World var2 = this.mc.theWorld; - EntityPlayerSP var3 = this.mc.thePlayer; - float var4 = 1.0F / (float)(4 - this.mc.gameSettings.renderDistance); - var4 = 1.0F - (float)Math.pow((double)var4, 0.25D); - Vec3D var5 = var2.getSkyColor(var1); - float var6 = (float)var5.xCoord; - float var7 = (float)var5.yCoord; - float var8 = (float)var5.zCoord; - Vec3D var9 = var2.getFogColor(var1); - this.fogColorRed = (float)var9.xCoord; - this.fogColorGreen = (float)var9.yCoord; - this.fogColorBlue = (float)var9.zCoord; - this.fogColorRed += (var6 - this.fogColorRed) * var4; - this.fogColorGreen += (var7 - this.fogColorGreen) * var4; - this.fogColorBlue += (var8 - this.fogColorBlue) * var4; - if(var3.isInsideOfMaterial(Material.water)) { - this.fogColorRed = 0.02F; - this.fogColorGreen = 0.02F; - this.fogColorBlue = 0.2F; - } else if(var3.isInsideOfMaterial(Material.lava)) { - this.fogColorRed = 0.6F; - this.fogColorGreen = 0.1F; - this.fogColorBlue = 0.0F; - } - - float var10 = this.prevFogColor + (this.fogColor - this.prevFogColor) * var1; - this.fogColorRed *= var10; - this.fogColorGreen *= var10; - this.fogColorBlue *= var10; - if(this.mc.gameSettings.anaglyph) { - float var11 = (this.fogColorRed * 30.0F + this.fogColorGreen * 59.0F + this.fogColorBlue * 11.0F) / 100.0F; - float var12 = (this.fogColorRed * 30.0F + this.fogColorGreen * 70.0F) / 100.0F; - float var13 = (this.fogColorRed * 30.0F + this.fogColorBlue * 70.0F) / 100.0F; - this.fogColorRed = var11; - this.fogColorGreen = var12; - this.fogColorBlue = var13; - } - - GL11.glClearColor(this.fogColorRed, this.fogColorGreen, this.fogColorBlue, 0.0F); - } - - private void setupFog(int var1) { - EntityPlayerSP var2 = this.mc.thePlayer; - GL11.glFog(GL11.GL_FOG_COLOR, this.setFogColorBuffer(this.fogColorRed, this.fogColorGreen, this.fogColorBlue, 1.0F)); - GL11.glNormal3f(0.0F, -1.0F, 0.0F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - float var3; - float var4; - float var5; - float var6; - float var7; - float var8; - if(var2.isInsideOfMaterial(Material.water)) { - GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); - GL11.glFogf(GL11.GL_FOG_DENSITY, 0.1F); - var3 = 0.4F; - var4 = 0.4F; - var5 = 0.9F; - if(this.mc.gameSettings.anaglyph) { - var6 = (var3 * 30.0F + var4 * 59.0F + var5 * 11.0F) / 100.0F; - var7 = (var3 * 30.0F + var4 * 70.0F) / 100.0F; - var8 = (var3 * 30.0F + var5 * 70.0F) / 100.0F; - } - } else if(var2.isInsideOfMaterial(Material.lava)) { - GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); - GL11.glFogf(GL11.GL_FOG_DENSITY, 2.0F); - var3 = 0.4F; - var4 = 0.3F; - var5 = 0.3F; - if(this.mc.gameSettings.anaglyph) { - var6 = (var3 * 30.0F + var4 * 59.0F + var5 * 11.0F) / 100.0F; - var7 = (var3 * 30.0F + var4 * 70.0F) / 100.0F; - var8 = (var3 * 30.0F + var5 * 70.0F) / 100.0F; - } - } else { - GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_LINEAR); - GL11.glFogf(GL11.GL_FOG_START, this.farPlaneDistance * 0.25F); - GL11.glFogf(GL11.GL_FOG_END, this.farPlaneDistance); - if(var1 < 0) { - GL11.glFogf(GL11.GL_FOG_START, 0.0F); - GL11.glFogf(GL11.GL_FOG_END, this.farPlaneDistance * 0.8F); - } - } - - GL11.glEnable(GL11.GL_COLOR_MATERIAL); - GL11.glColorMaterial(GL11.GL_FRONT, GL11.GL_AMBIENT); - } - - private FloatBuffer setFogColorBuffer(float var1, float var2, float var3, float var4) { - this.fogColorBuffer.clear(); - this.fogColorBuffer.put(var1).put(var2).put(var3).put(var4); - this.fogColorBuffer.flip(); - return this.fogColorBuffer; - } -} diff --git a/src/main/java/net/minecraft/src/EntitySheep.java b/src/main/java/net/minecraft/src/EntitySheep.java deleted file mode 100644 index 33a2bcd..0000000 --- a/src/main/java/net/minecraft/src/EntitySheep.java +++ /dev/null @@ -1,49 +0,0 @@ -package net.minecraft.src; - -public class EntitySheep extends EntityAnimal { - public boolean sheared = false; - - public EntitySheep(World var1) { - super(var1); - this.texture = "/mob/sheep.png"; - this.setSize(0.9F, 1.3F); - } - - public boolean attackEntityFrom(Entity var1, int var2) { - if(!this.sheared && var1 instanceof EntityLiving) { - this.sheared = true; - int var3 = 1 + this.rand.nextInt(3); - - for(int var4 = 0; var4 < var3; ++var4) { - EntityItem var5 = this.entityDropItem(Block.cloth.blockID, 1, 1.0F); - var5.motionY += (double)(this.rand.nextFloat() * 0.05F); - var5.motionX += (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.1F); - var5.motionZ += (double)((this.rand.nextFloat() - this.rand.nextFloat()) * 0.1F); - } - } - - return super.attackEntityFrom(var1, var2); - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - var1.setBoolean("Sheared", this.sheared); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - this.sheared = var1.getBoolean("Sheared"); - } - - protected String getLivingSound() { - return "mob.sheep"; - } - - protected String getHurtSound() { - return "mob.sheep"; - } - - protected String getDeathSound() { - return "mob.sheep"; - } -} diff --git a/src/main/java/net/minecraft/src/EntitySkeleton.java b/src/main/java/net/minecraft/src/EntitySkeleton.java deleted file mode 100644 index 3508baf..0000000 --- a/src/main/java/net/minecraft/src/EntitySkeleton.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.minecraft.src; - -public class EntitySkeleton extends EntityMonster { - public EntitySkeleton(World var1) { - super(var1); - this.texture = "/mob/skeleton.png"; - } - - public void onLivingUpdate() { - if(this.worldObj.isDaytime()) { - float var1 = this.getEntityBrightness(1.0F); - if(var1 > 0.5F && this.worldObj.canBlockSeeTheSky(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) && this.rand.nextFloat() * 30.0F < (var1 - 0.4F) * 2.0F) { - this.fire = 300; - } - } - - super.onLivingUpdate(); - } - - protected void attackEntity(Entity var1, float var2) { - if(var2 < 10.0F) { - double var3 = var1.posX - this.posX; - double var5 = var1.posZ - this.posZ; - if(this.attackTime == 0) { - EntityArrow var7 = new EntityArrow(this.worldObj, this); - var7.posY += (double)1.4F; - double var8 = var1.posY - (double)0.2F - var7.posY; - float var10 = MathHelper.sqrt_double(var3 * var3 + var5 * var5) * 0.2F; - this.worldObj.playSoundAtEntity(this, "random.bow", 1.0F, 1.0F / (this.rand.nextFloat() * 0.4F + 0.8F)); - this.worldObj.spawnEntityInWorld(var7); - var7.setArrowHeading(var3, var8 + (double)var10, var5, 0.6F, 12.0F); - this.attackTime = 30; - } - - this.rotationYaw = (float)(Math.atan2(var5, var3) * 180.0D / (double)((float)Math.PI)) - 90.0F; - this.hasAttacked = true; - } - - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - } - - protected int getDropItemId() { - return Item.arrow.shiftedIndex; - } -} diff --git a/src/main/java/net/minecraft/src/EntitySmokeFX.java b/src/main/java/net/minecraft/src/EntitySmokeFX.java deleted file mode 100644 index 269a249..0000000 --- a/src/main/java/net/minecraft/src/EntitySmokeFX.java +++ /dev/null @@ -1,63 +0,0 @@ -package net.minecraft.src; - -public class EntitySmokeFX extends EntityFX { - float smokeParticleScale; - - public EntitySmokeFX(World var1, double var2, double var4, double var6) { - this(var1, var2, var4, var6, 1.0F); - } - - public EntitySmokeFX(World var1, double var2, double var4, double var6, float var8) { - super(var1, var2, var4, var6, 0.0D, 0.0D, 0.0D); - this.motionX *= (double)0.1F; - this.motionY *= (double)0.1F; - this.motionZ *= (double)0.1F; - this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * (double)0.3F); - this.particleScale *= 12.0F / 16.0F; - this.particleScale *= var8; - this.smokeParticleScale = this.particleScale; - this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D)); - this.particleMaxAge = (int)((float)this.particleMaxAge * var8); - this.noClip = false; - } - - public void renderParticle(Tessellator var1, float var2, float var3, float var4, float var5, float var6, float var7) { - float var8 = ((float)this.particleAge + var2) / (float)this.particleMaxAge * 32.0F; - if(var8 < 0.0F) { - var8 = 0.0F; - } - - if(var8 > 1.0F) { - var8 = 1.0F; - } - - this.particleScale = this.smokeParticleScale * var8; - super.renderParticle(var1, var2, var3, var4, var5, var6, var7); - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - if(this.particleAge++ >= this.particleMaxAge) { - this.setEntityDead(); - } - - this.particleTextureIndex = 7 - this.particleAge * 8 / this.particleMaxAge; - this.motionY += 0.004D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - if(this.posY == this.prevPosY) { - this.motionX *= 1.1D; - this.motionZ *= 1.1D; - } - - this.motionX *= (double)0.96F; - this.motionY *= (double)0.96F; - this.motionZ *= (double)0.96F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntitySorter.java b/src/main/java/net/minecraft/src/EntitySorter.java deleted file mode 100644 index f7f866f..0000000 --- a/src/main/java/net/minecraft/src/EntitySorter.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.minecraft.src; - -import java.util.Comparator; - -public class EntitySorter implements Comparator { - private Entity comparedEntity; - - public EntitySorter(Entity var1) { - this.comparedEntity = var1; - } - - public int a(WorldRenderer var1, WorldRenderer var2) { - return var1.distanceToEntitySquared(this.comparedEntity) < var2.distanceToEntitySquared(this.comparedEntity) ? -1 : 1; - } - - public int compare(Object var1, Object var2) { - return this.a((WorldRenderer)var1, (WorldRenderer)var2); - } -} diff --git a/src/main/java/net/minecraft/src/EntitySpider.java b/src/main/java/net/minecraft/src/EntitySpider.java deleted file mode 100644 index 98b540f..0000000 --- a/src/main/java/net/minecraft/src/EntitySpider.java +++ /dev/null @@ -1,56 +0,0 @@ -package net.minecraft.src; - -public class EntitySpider extends EntityMonster { - public EntitySpider(World var1) { - super(var1); - this.texture = "/mob/spider.png"; - this.setSize(1.4F, 0.9F); - this.moveSpeed = 0.8F; - } - - protected Entity findPlayerToAttack() { - float var1 = this.getEntityBrightness(1.0F); - if(var1 < 0.5F) { - double var2 = this.worldObj.playerEntity.getDistanceSqToEntity(this); - double var4 = 16.0D; - if(var2 < var4 * var4) { - return this.worldObj.playerEntity; - } - } - - return null; - } - - protected void attackEntity(Entity var1, float var2) { - float var3 = this.getEntityBrightness(1.0F); - if(var3 > 0.5F && this.rand.nextInt(100) == 0) { - this.playerToAttack = null; - } else { - if(var2 > 2.0F && var2 < 6.0F && this.rand.nextInt(10) == 0) { - if(this.onGround) { - double var4 = var1.posX - this.posX; - double var6 = var1.posZ - this.posZ; - float var8 = MathHelper.sqrt_double(var4 * var4 + var6 * var6); - this.motionX = var4 / (double)var8 * 0.5D * (double)0.8F + this.motionX * (double)0.2F; - this.motionZ = var6 / (double)var8 * 0.5D * (double)0.8F + this.motionZ * (double)0.2F; - this.motionY = (double)0.4F; - } - } else { - super.attackEntity(var1, var2); - } - - } - } - - public void writeEntityToNBT(NBTTagCompound var1) { - super.writeEntityToNBT(var1); - } - - public void readEntityFromNBT(NBTTagCompound var1) { - super.readEntityFromNBT(var1); - } - - protected int getDropItemId() { - return Item.silk.shiftedIndex; - } -} diff --git a/src/main/java/net/minecraft/src/EntitySplashFX.java b/src/main/java/net/minecraft/src/EntitySplashFX.java deleted file mode 100644 index 1375ad2..0000000 --- a/src/main/java/net/minecraft/src/EntitySplashFX.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public class EntitySplashFX extends EntityRainFX { - public EntitySplashFX(World var1, double var2, double var4, double var6, double var8, double var10, double var12) { - super(var1, var2, var4, var6); - this.particleGravity = 0.04F; - ++this.particleTextureIndex; - if(var10 == 0.0D && (var8 != 0.0D || var12 != 0.0D)) { - this.motionX = var8; - this.motionY = var10 + 0.1D; - this.motionZ = var12; - } - - } -} diff --git a/src/main/java/net/minecraft/src/EntityTNTPrimed.java b/src/main/java/net/minecraft/src/EntityTNTPrimed.java deleted file mode 100644 index 9e59e00..0000000 --- a/src/main/java/net/minecraft/src/EntityTNTPrimed.java +++ /dev/null @@ -1,68 +0,0 @@ -package net.minecraft.src; - -public class EntityTNTPrimed extends Entity { - public int fuse; - - public EntityTNTPrimed(World var1) { - super(var1); - this.fuse = 0; - this.preventEntitySpawning = true; - this.setSize(0.98F, 0.98F); - this.yOffset = this.height / 2.0F; - } - - public EntityTNTPrimed(World var1, float var2, float var3, float var4) { - this(var1); - this.setPosition((double)var2, (double)var3, (double)var4); - float var5 = (float)(Math.random() * (double)((float)Math.PI) * 2.0D); - this.motionX = (double)(-MathHelper.sin(var5 * (float)Math.PI / 180.0F) * 0.02F); - this.motionY = (double)0.2F; - this.motionZ = (double)(-MathHelper.cos(var5 * (float)Math.PI / 180.0F) * 0.02F); - this.canTriggerWalking = false; - this.fuse = 80; - this.prevPosX = (double)var2; - this.prevPosY = (double)var3; - this.prevPosZ = (double)var4; - } - - public boolean canBeCollidedWith() { - return !this.isDead; - } - - public void onUpdate() { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - this.motionY -= (double)0.04F; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - this.motionX *= (double)0.98F; - this.motionY *= (double)0.98F; - this.motionZ *= (double)0.98F; - if(this.onGround) { - this.motionX *= (double)0.7F; - this.motionZ *= (double)0.7F; - this.motionY *= -0.5D; - } - - if(this.fuse-- <= 0) { - this.setEntityDead(); - this.createExplosion(); - } else { - this.worldObj.spawnParticle("smoke", this.posX, this.posY + 0.5D, this.posZ, 0.0D, 0.0D, 0.0D); - } - - } - - private void createExplosion() { - float var1 = 4.0F; - this.worldObj.createExplosion((Entity)null, this.posX, this.posY, this.posZ, var1); - } - - protected void writeEntityToNBT(NBTTagCompound var1) { - var1.setByte("Fuse", (byte)this.fuse); - } - - protected void readEntityFromNBT(NBTTagCompound var1) { - this.fuse = var1.getByte("Fuse"); - } -} diff --git a/src/main/java/net/minecraft/src/EntityZombie.java b/src/main/java/net/minecraft/src/EntityZombie.java deleted file mode 100644 index 5e30538..0000000 --- a/src/main/java/net/minecraft/src/EntityZombie.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.minecraft.src; - -public class EntityZombie extends EntityMonster { - public EntityZombie(World var1) { - super(var1); - this.texture = "/mob/zombie.png"; - this.moveSpeed = 0.5F; - this.attackStrength = 5; - } - - public void onLivingUpdate() { - if(this.worldObj.isDaytime()) { - float var1 = this.getEntityBrightness(1.0F); - if(var1 > 0.5F && this.worldObj.canBlockSeeTheSky(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.posY), MathHelper.floor_double(this.posZ)) && this.rand.nextFloat() * 30.0F < (var1 - 0.4F) * 2.0F) { - this.fire = 300; - } - } - - super.onLivingUpdate(); - } - - protected int getDropItemId() { - return Item.feather.shiftedIndex; - } -} diff --git a/src/main/java/net/minecraft/src/EnumArt.java b/src/main/java/net/minecraft/src/EnumArt.java deleted file mode 100644 index daa40fa..0000000 --- a/src/main/java/net/minecraft/src/EnumArt.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.minecraft.src; - -public enum EnumArt { - Kebab("Kebab", 16, 16, 0, 0), - Aztec("Aztec", 16, 16, 16, 0), - Alban("Alban", 16, 16, 32, 0), - Aztec2("Aztec2", 16, 16, 48, 0), - Bomb("Bomb", 16, 16, 64, 0), - Plant("Plant", 16, 16, 80, 0), - Wasteland("Wasteland", 16, 16, 96, 0), - Pool("Pool", 32, 16, 0, 32), - Courbet("Courbet", 32, 16, 32, 32), - Sea("Sea", 32, 16, 64, 32), - Sunset("Sunset", 32, 16, 96, 32), - Wanderer("Wanderer", 16, 32, 0, 64), - Match("Match", 32, 32, 0, 128), - Bust("Bust", 32, 32, 32, 128), - Stage("Stage", 32, 32, 64, 128), - Void("Void", 32, 32, 96, 128), - SkullAndRoses("SkullAndRoses", 32, 32, 128, 128), - Fighters("Fighters", 64, 32, 0, 96), - Pointer("Pointer", 64, 64, 0, 192); - - public final String title; - public final int sizeX; - public final int sizeY; - public final int offsetX; - public final int offsetY; - - private EnumArt(String var3, int var4, int var5, int var6, int var7) { - this.title = var3; - this.sizeX = var4; - this.sizeY = var5; - this.offsetX = var6; - this.offsetY = var7; - } -} diff --git a/src/main/java/net/minecraft/src/EnumOS.java b/src/main/java/net/minecraft/src/EnumOS.java deleted file mode 100644 index d8447c5..0000000 --- a/src/main/java/net/minecraft/src/EnumOS.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minecraft.src; - -enum EnumOS { - linux, - solaris, - windows, - macos, - unknown; -} diff --git a/src/main/java/net/minecraft/src/EnumOSIsom.java b/src/main/java/net/minecraft/src/EnumOSIsom.java deleted file mode 100644 index 787fa2a..0000000 --- a/src/main/java/net/minecraft/src/EnumOSIsom.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minecraft.src; - -enum EnumOSIsom { - linux, - solaris, - windows, - macos, - unknown; -} diff --git a/src/main/java/net/minecraft/src/EnumSkyBlock.java b/src/main/java/net/minecraft/src/EnumSkyBlock.java deleted file mode 100644 index 92da84b..0000000 --- a/src/main/java/net/minecraft/src/EnumSkyBlock.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.minecraft.src; - -public enum EnumSkyBlock { - Sky(15), - Block(0); - - public final int defaultLightValue; - - private EnumSkyBlock(int var3) { - this.defaultLightValue = var3; - } -} diff --git a/src/main/java/net/minecraft/src/Explosion.java b/src/main/java/net/minecraft/src/Explosion.java deleted file mode 100644 index 34001ea..0000000 --- a/src/main/java/net/minecraft/src/Explosion.java +++ /dev/null @@ -1,130 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; - -public class Explosion { - public void doExplosion(World var1, Entity var2, double var3, double var5, double var7, float var9) { - var1.playSoundEffect(var3, var5, var7, "random.explode", 4.0F, (1.0F + (var1.rand.nextFloat() - var1.rand.nextFloat()) * 0.2F) * 0.7F); - HashSet var10 = new HashSet(); - float var11 = var9; - byte var12 = 16; - - int var13; - int var14; - int var15; - double var25; - double var27; - double var29; - for(var13 = 0; var13 < var12; ++var13) { - for(var14 = 0; var14 < var12; ++var14) { - for(var15 = 0; var15 < var12; ++var15) { - if(var13 == 0 || var13 == var12 - 1 || var14 == 0 || var14 == var12 - 1 || var15 == 0 || var15 == var12 - 1) { - double var16 = (double)((float)var13 / ((float)var12 - 1.0F) * 2.0F - 1.0F); - double var18 = (double)((float)var14 / ((float)var12 - 1.0F) * 2.0F - 1.0F); - double var20 = (double)((float)var15 / ((float)var12 - 1.0F) * 2.0F - 1.0F); - double var22 = Math.sqrt(var16 * var16 + var18 * var18 + var20 * var20); - var16 /= var22; - var18 /= var22; - var20 /= var22; - float var24 = var9 * (0.7F + var1.rand.nextFloat() * 0.6F); - var25 = var3; - var27 = var5; - var29 = var7; - - for(float var31 = 0.3F; var24 > 0.0F; var24 -= var31 * (12.0F / 16.0F)) { - int var32 = MathHelper.floor_double(var25); - int var33 = MathHelper.floor_double(var27); - int var34 = MathHelper.floor_double(var29); - int var35 = var1.getBlockId(var32, var33, var34); - if(var35 > 0) { - var24 -= (Block.blocksList[var35].getExplosionResistance(var2) + 0.3F) * var31; - } - - if(var24 > 0.0F) { - var10.add(new ChunkPosition(var32, var33, var34)); - } - - var25 += var16 * (double)var31; - var27 += var18 * (double)var31; - var29 += var20 * (double)var31; - } - } - } - } - } - - var9 *= 2.0F; - var13 = MathHelper.floor_double(var3 - (double)var9 - 1.0D); - var14 = MathHelper.floor_double(var3 + (double)var9 + 1.0D); - var15 = MathHelper.floor_double(var5 - (double)var9 - 1.0D); - int var45 = MathHelper.floor_double(var5 + (double)var9 + 1.0D); - int var17 = MathHelper.floor_double(var7 - (double)var9 - 1.0D); - int var46 = MathHelper.floor_double(var7 + (double)var9 + 1.0D); - List var19 = var1.getEntitiesWithinAABBExcludingEntity(var2, AxisAlignedBB.getBoundingBoxFromPool((double)var13, (double)var15, (double)var17, (double)var14, (double)var45, (double)var46)); - Vec3D var47 = Vec3D.createVector(var3, var5, var7); - - double var55; - double var56; - double var57; - for(int var21 = 0; var21 < var19.size(); ++var21) { - Entity var49 = (Entity)var19.get(var21); - double var23 = var49.getDistance(var3, var5, var7) / (double)var9; - if(var23 <= 1.0D) { - var25 = var49.posX - var3; - var27 = var49.posY - var5; - var29 = var49.posZ - var7; - var55 = (double)MathHelper.sqrt_double(var25 * var25 + var27 * var27 + var29 * var29); - var25 /= var55; - var27 /= var55; - var29 /= var55; - var56 = (double)var1.getBlockDensity(var47, var49.boundingBox); - var57 = (1.0D - var23) * var56; - var49.attackEntityFrom(var2, (int)((var57 * var57 + var57) / 2.0D * 8.0D * (double)var9 + 1.0D)); - var49.motionX += var25 * var57; - var49.motionY += var27 * var57; - var49.motionZ += var29 * var57; - } - } - - var9 = var11; - ArrayList var48 = new ArrayList(); - var48.addAll(var10); - - for(int var50 = var48.size() - 1; var50 >= 0; --var50) { - ChunkPosition var51 = (ChunkPosition)var48.get(var50); - int var52 = var51.x; - int var53 = var51.y; - int var26 = var51.z; - int var54 = var1.getBlockId(var52, var53, var26); - - for(int var28 = 0; var28 < 1; ++var28) { - var29 = (double)((float)var52 + var1.rand.nextFloat()); - var55 = (double)((float)var53 + var1.rand.nextFloat()); - var56 = (double)((float)var26 + var1.rand.nextFloat()); - var57 = var29 - var3; - double var37 = var55 - var5; - double var39 = var56 - var7; - double var41 = (double)MathHelper.sqrt_double(var57 * var57 + var37 * var37 + var39 * var39); - var57 /= var41; - var37 /= var41; - var39 /= var41; - double var43 = 0.5D / (var41 / (double)var9 + 0.1D); - var43 *= (double)(var1.rand.nextFloat() * var1.rand.nextFloat() + 0.3F); - var57 *= var43; - var37 *= var43; - var39 *= var43; - var1.spawnParticle("explode", (var29 + var3 * 1.0D) / 2.0D, (var55 + var5 * 1.0D) / 2.0D, (var56 + var7 * 1.0D) / 2.0D, var57, var37, var39); - var1.spawnParticle("smoke", var29, var55, var56, var57, var37, var39); - } - - if(var54 > 0) { - Block.blocksList[var54].dropBlockAsItemWithChance(var1, var52, var53, var26, var1.getBlockMetadata(var52, var53, var26), 0.3F); - var1.setBlockWithNotify(var52, var53, var26, 0); - Block.blocksList[var54].onBlockDestroyedByExplosion(var1, var52, var53, var26); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/FontAllowedCharacters.java b/src/main/java/net/minecraft/src/FontAllowedCharacters.java deleted file mode 100644 index 8214d53..0000000 --- a/src/main/java/net/minecraft/src/FontAllowedCharacters.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.minecraft.src; - -public class FontAllowedCharacters { - - public static int isAllowed(char c) { - int cc = (int) c; - for(int i = 0; i < allowedChars.length; ++i) { - if(cc == allowedChars[i]) { - return i; - } - } - return -1; - } - - public static final int[] allowedChars = new int[]{ - 32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58, - 59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85, - 86,87,88,89,90,91,92,93,94,95,39,97,98,99,100,101,102,103,104,105,106,107,108,109, - 110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,8962,199,252, - 233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242, - 251,249,255,214,220,248,163,216,215,402,225,237,243,250,241,209,170,186,191,174, - 172,189,188,161,171,187 - }; - - public static final char field_22286_b[] = { '/', '\n', '\r', '\t', '\0', '\f', '`', '?', '*', '\\', '<', '>', '|', '"', ':' }; - -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/FontRenderer.java b/src/main/java/net/minecraft/src/FontRenderer.java deleted file mode 100644 index 7e95723..0000000 --- a/src/main/java/net/minecraft/src/FontRenderer.java +++ /dev/null @@ -1,172 +0,0 @@ -package net.minecraft.src; - -import java.nio.IntBuffer; - -import org.lwjgl.opengl.GL11; - -import net.PeytonPlayz585.opengl.LWJGLMain; -import net.PeytonPlayz585.opengl.MinecraftImageData; - -public class FontRenderer { - - public FontRenderer(GameSettings gamesettings, String s, RenderEngine renderengine) { - charWidth = new int[256]; - fontTextureName = 0; - MinecraftImageData bufferedimage = LWJGLMain.loadPNG(LWJGLMain.loadResourceBytes(s)); - int i = bufferedimage.w; - int j = bufferedimage.h; - int ai[] = bufferedimage.data; - for (int k = 0; k < 256; k++) { - int l = k % 16; - int k1 = k / 16; - int j2 = 7; - do { - if (j2 < 0) { - break; - } - int i3 = l * 8 + j2; - boolean flag = true; - for (int l3 = 0; l3 < 8 && flag; l3++) { - int i4 = (k1 * 8 + l3) * i; - int k4 = ai[i3 + i4] & 0xff; - if (k4 > 0) { - flag = false; - } - } - - if (!flag) { - break; - } - j2--; - } while (true); - if (k == 32) { - j2 = 2; - } - charWidth[k] = j2 + 2; - } - - fontTextureName = renderengine.allocateAndSetupTexture(bufferedimage); - fontDisplayLists = GLAllocation.generateDisplayLists(288); - Tessellator tessellator = Tessellator.instance; - for (int i1 = 0; i1 < 256; i1++) { - GL11.glNewList(fontDisplayLists + i1, 4864 /* GL_COMPILE */); - tessellator.startDrawingQuads(); - int l1 = (i1 % 16) * 8; - int k2 = (i1 / 16) * 8; - float f = 7.99F; - float f1 = 0.0F; - float f2 = 0.0F; - tessellator.addVertexWithUV(0.0D, 0.0F + f, 0.0D, (float) l1 / 128F + f1, ((float) k2 + f) / 128F + f2); - tessellator.addVertexWithUV(0.0F + f, 0.0F + f, 0.0D, ((float) l1 + f) / 128F + f1, - ((float) k2 + f) / 128F + f2); - tessellator.addVertexWithUV(0.0F + f, 0.0D, 0.0D, ((float) l1 + f) / 128F + f1, (float) k2 / 128F + f2); - tessellator.addVertexWithUV(0.0D, 0.0D, 0.0D, (float) l1 / 128F + f1, (float) k2 / 128F + f2); - tessellator.draw(); - GL11.glEndList(); - } - - for (int j1 = 0; j1 < 32; j1++) { - int i2 = (j1 >> 3 & 1) * 85; - int l2 = (j1 >> 2 & 1) * 170 + i2; - int j3 = (j1 >> 1 & 1) * 170 + i2; - int k3 = (j1 >> 0 & 1) * 170 + i2; - if (j1 == 6) { - l2 += 85; - } - boolean flag1 = j1 >= 16; - if (gamesettings.anaglyph) { - int j4 = (l2 * 30 + j3 * 59 + k3 * 11) / 100; - int l4 = (l2 * 30 + j3 * 70) / 100; - int i5 = (l2 * 30 + k3 * 70) / 100; - l2 = j4; - j3 = l4; - k3 = i5; - } - if (flag1) { - l2 /= 4; - j3 /= 4; - k3 /= 4; - } - GL11.glNewList(fontDisplayLists + 256 + j1, 4864 /* GL_COMPILE */); - GL11.glColor3f((float) l2 / 255F, (float) j3 / 255F, (float) k3 / 255F); - GL11.glEndList(); - } - - } - - public void drawStringWithShadow(String s, int i, int j, int k) { - renderString(s, i + 1, j + 1, k, true); - drawString(s, i, j, k); - } - - public void drawString(String s, int i, int j, int k) { - renderString(s, i, j, k, false); - } - - public void renderString(String s, int i, int j, int k, boolean flag) { - if (s == null) { - return; - } - if (flag) { - int l = k & 0xff000000; - k = (k & 0xfcfcfc) >> 2; - k += l; - } - GL11.glBindTexture(3553 /* GL_TEXTURE_2D */, fontTextureName); - float f = (float) (k >> 16 & 0xff) / 255F; - float f1 = (float) (k >> 8 & 0xff) / 255F; - float f2 = (float) (k & 0xff) / 255F; - float f3 = (float) (k >> 24 & 0xff) / 255F; - if (f3 == 0.0F) { - f3 = 1.0F; - } - GL11.glColor4f(f, f1, f2, f3); - GL11.glPushMatrix(); - GL11.glTranslatef(i, j, 0.0F); - for (int i1 = 0; i1 < s.length(); i1++) { - for (; s.length() > i1 + 1 && s.charAt(i1) == '\247'; i1 += 2) { - int j1 = "0123456789abcdef".indexOf(s.toLowerCase().charAt(i1 + 1)); - if (j1 < 0 || j1 > 15) { - j1 = 15; - } - continue; - } - - if (i1 < s.length()) { - int k1 = FontAllowedCharacters.isAllowed(s.charAt(i1)); - if (k1 >= 0) { - GL11.glCallList(fontDisplayLists + k1 + 32); - GL11.glTranslatef(charWidth[k1 + 32], 0.0F, 0.0F); - } - } - } - - GL11.glPopMatrix(); - } - - public int getStringWidth(String s) { - if (s == null) { - return 0; - } - int i = 0; - for (int j = 0; j < s.length(); j++) { - if (s.charAt(j) == '\247') { - j++; - continue; - } - int k = FontAllowedCharacters.isAllowed(s.charAt(j)); - if (k >= 0) { - i += charWidth[k + 32]; - } - } - - return i; - } - - private int charWidth[]; - public int fontTextureName; - private int fontDisplayLists; - private IntBuffer buffer; - - public static final char formatChar = '\247'; -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/Frustrum.java b/src/main/java/net/minecraft/src/Frustrum.java deleted file mode 100644 index ad411d9..0000000 --- a/src/main/java/net/minecraft/src/Frustrum.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.minecraft.src; - -public class Frustrum implements ICamera { - private ClippingHelper clippingHelper = ClippingHelperImplementation.getInstance(); - private double xPosition; - private double yPosition; - private double zPosition; - - public void setPosition(double var1, double var3, double var5) { - this.xPosition = var1; - this.yPosition = var3; - this.zPosition = var5; - } - - public boolean isBoxInFrustum(double var1, double var3, double var5, double var7, double var9, double var11) { - return this.clippingHelper.isBoxInFrustum(var1 - this.xPosition, var3 - this.yPosition, var5 - this.zPosition, var7 - this.xPosition, var9 - this.yPosition, var11 - this.zPosition); - } - - public boolean isBoundingBoxInFrustum(AxisAlignedBB var1) { - return this.isBoxInFrustum(var1.minX, var1.minY, var1.minZ, var1.maxX, var1.maxY, var1.maxZ); - } -} diff --git a/src/main/java/net/minecraft/src/GLAllocation.java b/src/main/java/net/minecraft/src/GLAllocation.java deleted file mode 100644 index f5931e3..0000000 --- a/src/main/java/net/minecraft/src/GLAllocation.java +++ /dev/null @@ -1,60 +0,0 @@ -package net.minecraft.src; - -import java.nio.*; -import java.util.ArrayList; -import java.util.List; - -import org.lwjgl.opengl.GL11; - -public class GLAllocation { - - public GLAllocation() { - } - - public static synchronized int generateDisplayLists(int i) { - int j = GL11.glGenLists(i); - displayLists.add(Integer.valueOf(j)); - displayLists.add(Integer.valueOf(i)); - return j; - } - - public static synchronized void generateTextureNames(IntBuffer intbuffer) { - - for (int i = intbuffer.position(); i < intbuffer.limit(); i++) { - int tx = GL11.glGenTextures(); - intbuffer.put(i, tx); - textureNames.add(Integer.valueOf(tx)); - } - - } - - public static synchronized void deleteTexturesAndDisplayLists() { - for (int i = 0; i < displayLists.size(); i += 2) { - GL11.glDeleteLists(((Integer) displayLists.get(i)).intValue(), - ((Integer) displayLists.get(i + 1)).intValue()); - } - - for (int j = 0; j < textureNames.size(); j++) { - GL11.glDeleteTextures(((Integer) textureNames.get(j)).intValue()); - } - - displayLists.clear(); - textureNames.clear(); - } - - public static ByteBuffer createByteBuffer(int par0) { - return ByteBuffer.wrap(new byte[par0]).order(ByteOrder.nativeOrder()); - } - - public static IntBuffer createIntBuffer(int par0) { - return IntBuffer.wrap(new int[par0]); - } - - public static FloatBuffer createFloatBuffer(int par0) { - return FloatBuffer.wrap(new float[par0]); - } - - private static List displayLists = new ArrayList(); - private static List textureNames = new ArrayList(); - -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/GameSettings.java b/src/main/java/net/minecraft/src/GameSettings.java deleted file mode 100644 index 261cd32..0000000 --- a/src/main/java/net/minecraft/src/GameSettings.java +++ /dev/null @@ -1,196 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.input.Keyboard; - -public class GameSettings { - private static final String[] RENDER_DISTANCES = new String[]{"FAR", "NORMAL", "SHORT", "TINY"}; - private static final String[] DIFFICULTIES = new String[]{"Peaceful", "Easy", "Normal", "Hard"}; - public boolean music = true; - public boolean sound = true; - public boolean invertMouse = false; - public boolean showFPS = false; - public int renderDistance = 0; - public boolean viewBobbing = true; - public boolean anaglyph = false; - public boolean limitFramerate = false; - public boolean fancyGraphics = true; - public KeyBinding keyBindForward = new KeyBinding("Forward", 17); - public KeyBinding keyBindLeft = new KeyBinding("Left", 30); - public KeyBinding keyBindBack = new KeyBinding("Back", 31); - public KeyBinding keyBindRight = new KeyBinding("Right", 32); - public KeyBinding keyBindJump = new KeyBinding("Jump", 57); - public KeyBinding keyBindInventory = new KeyBinding("Inventory", 23); - public KeyBinding keyBindDrop = new KeyBinding("Drop", 16); - public KeyBinding keyBindChat = new KeyBinding("Chat", 20); - public KeyBinding keyBindToggleFog = new KeyBinding("Toggle fog", 33); - public KeyBinding keyBindSave = new KeyBinding("Save location", 28); - public KeyBinding keyBindLoad = new KeyBinding("Load location", 19); - public KeyBinding[] keyBindings = new KeyBinding[]{this.keyBindForward, this.keyBindLeft, this.keyBindBack, this.keyBindRight, this.keyBindJump, this.keyBindDrop, this.keyBindInventory, this.keyBindChat, this.keyBindToggleFog, this.keyBindSave, this.keyBindLoad}; - protected Minecraft mc; - //private File optionsFile; - public int numberOfOptions = 10; - public int difficulty = 2; - public boolean thirdPersonView = false; - - public GameSettings(Minecraft var1) { - this.mc = var1; - //this.optionsFile = new File(mcDataDir, "options.txt"); - this.loadOptions(); - } - - public String getOptionDisplayString(int var1) { - return this.keyBindings[var1].keyDescription + ": " + Keyboard.getKeyName(this.keyBindings[var1].keyCode); - } - - public void setKeyBinding(int var1, int var2) { - this.keyBindings[var1].keyCode = var2; - this.saveOptions(); - } - - public void setOptionFloatValue(int var1, int var2) { - if(var1 == 0) { - this.music = !this.music; - //this.mc.sndManager.onSoundOptionsChanged(); - } - - if(var1 == 1) { - this.sound = !this.sound; - //this.mc.sndManager.onSoundOptionsChanged(); - } - - if(var1 == 2) { - this.invertMouse = !this.invertMouse; - } - - if(var1 == 3) { - this.showFPS = !this.showFPS; - } - - if(var1 == 4) { - this.renderDistance = this.renderDistance + var2 & 3; - } - - if(var1 == 5) { - this.viewBobbing = !this.viewBobbing; - } - - if(var1 == 6) { - this.anaglyph = !this.anaglyph; - } - - if(var1 == 7) { - this.limitFramerate = !this.limitFramerate; - } - - if(var1 == 8) { - this.difficulty = this.difficulty + var2 & 3; - } - - if(var1 == 9) { - this.fancyGraphics = !this.fancyGraphics; - this.mc.renderGlobal.loadRenderers(); - } - - this.saveOptions(); - } - - public String getKeyBinding(int var1) { - return var1 == 0 ? "Music: " + (this.music ? "ON" : "OFF") : (var1 == 1 ? "Sound: " + (this.sound ? "ON" : "OFF") : (var1 == 2 ? "Invert mouse: " + (this.invertMouse ? "ON" : "OFF") : (var1 == 3 ? "Show FPS: " + (this.showFPS ? "ON" : "OFF") : (var1 == 4 ? "Render distance: " + RENDER_DISTANCES[this.renderDistance] : (var1 == 5 ? "View bobbing: " + (this.viewBobbing ? "ON" : "OFF") : (var1 == 6 ? "3d anaglyph: " + (this.anaglyph ? "ON" : "OFF") : (var1 == 7 ? "Limit framerate: " + (this.limitFramerate ? "ON" : "OFF") : (var1 == 8 ? "Difficulty: " + DIFFICULTIES[this.difficulty] : (var1 == 9 ? "Graphics: " + (this.fancyGraphics ? "FANCY" : "FAST") : ""))))))))); - } - - public void loadOptions() { -// try { -// if(!this.optionsFile.exists()) { -// return; -// } -// -// BufferedReader var1 = new BufferedReader(new FileReader(this.optionsFile)); -// String var2 = ""; -// -// while(true) { -// var2 = var1.readLine(); -// if(var2 == null) { -// var1.close(); -// break; -// } -// -// String[] var3 = var2.split(":"); -// if(var3[0].equals("music")) { -// this.music = var3[1].equals("true"); -// } -// -// if(var3[0].equals("sound")) { -// this.sound = var3[1].equals("true"); -// } -// -// if(var3[0].equals("invertYMouse")) { -// this.invertMouse = var3[1].equals("true"); -// } -// -// if(var3[0].equals("showFrameRate")) { -// this.showFPS = var3[1].equals("true"); -// } -// -// if(var3[0].equals("viewDistance")) { -// this.renderDistance = Integer.parseInt(var3[1]); -// } -// -// if(var3[0].equals("bobView")) { -// this.viewBobbing = var3[1].equals("true"); -// } -// -// if(var3[0].equals("anaglyph3d")) { -// this.anaglyph = var3[1].equals("true"); -// } -// -// if(var3[0].equals("limitFramerate")) { -// this.limitFramerate = var3[1].equals("true"); -// } -// -// if(var3[0].equals("difficulty")) { -// this.difficulty = Integer.parseInt(var3[1]); -// } -// -// if(var3[0].equals("fancyGraphics")) { -// this.fancyGraphics = var3[1].equals("true"); -// } -// -// for(int var4 = 0; var4 < this.keyBindings.length; ++var4) { -// if(var3[0].equals("key_" + this.keyBindings[var4].keyDescription)) { -// this.keyBindings[var4].keyCode = Integer.parseInt(var3[1]); -// } -// } -// } -// } catch (Exception var5) { -// System.out.println("Failed to load options"); -// var5.printStackTrace(); -// } - - } - - public void saveOptions() { -// try { -// PrintWriter var1 = new PrintWriter(new FileWriter(this.optionsFile)); -// var1.println("music:" + this.music); -// var1.println("sound:" + this.sound); -// var1.println("invertYMouse:" + this.invertMouse); -// var1.println("showFrameRate:" + this.showFPS); -// var1.println("viewDistance:" + this.renderDistance); -// var1.println("bobView:" + this.viewBobbing); -// var1.println("anaglyph3d:" + this.anaglyph); -// var1.println("limitFramerate:" + this.limitFramerate); -// var1.println("difficulty:" + this.difficulty); -// var1.println("fancyGraphics:" + this.fancyGraphics); -// -// for(int var2 = 0; var2 < this.keyBindings.length; ++var2) { -// var1.println("key_" + this.keyBindings[var2].keyDescription + ":" + this.keyBindings[var2].keyCode); -// } -// -// var1.close(); -// } catch (Exception var3) { -// System.out.println("Failed to save options"); -// var3.printStackTrace(); -// } - - } -} diff --git a/src/main/java/net/minecraft/src/Gui.java b/src/main/java/net/minecraft/src/Gui.java deleted file mode 100644 index 8b4c529..0000000 --- a/src/main/java/net/minecraft/src/Gui.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class Gui { - protected float zLevel = 0.0F; - - protected void drawGradientRect(int var1, int var2, int var3, int var4, int var5, int var6) { - float var7 = (float)(var5 >> 24 & 255) / 255.0F; - float var8 = (float)(var5 >> 16 & 255) / 255.0F; - float var9 = (float)(var5 >> 8 & 255) / 255.0F; - float var10 = (float)(var5 & 255) / 255.0F; - float var11 = (float)(var6 >> 24 & 255) / 255.0F; - float var12 = (float)(var6 >> 16 & 255) / 255.0F; - float var13 = (float)(var6 >> 8 & 255) / 255.0F; - float var14 = (float)(var6 & 255) / 255.0F; - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Tessellator var15 = Tessellator.instance; - var15.startDrawingQuads(); - var15.setColorRGBA_F(var8, var9, var10, var7); - var15.addVertex((double)var3, (double)var2, 0.0D); - var15.addVertex((double)var1, (double)var2, 0.0D); - var15.setColorRGBA_F(var12, var13, var14, var11); - var15.addVertex((double)var1, (double)var4, 0.0D); - var15.addVertex((double)var3, (double)var4, 0.0D); - var15.draw(); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - public void drawCenteredString(FontRenderer var1, String var2, int var3, int var4, int var5) { - var1.drawStringWithShadow(var2, var3 - var1.getStringWidth(var2) / 2, var4, var5); - } - - public void drawString(FontRenderer var1, String var2, int var3, int var4, int var5) { - var1.drawStringWithShadow(var2, var3, var4, var5); - } - - public void drawTexturedModalRect(int var1, int var2, int var3, int var4, int var5, int var6) { - float var7 = 0.00390625F; - float var8 = 0.00390625F; - Tessellator var9 = Tessellator.instance; - var9.startDrawingQuads(); - var9.addVertexWithUV((double)(var1 + 0), (double)(var2 + var6), (double)this.zLevel, (double)((float)(var3 + 0) * var7), (double)((float)(var4 + var6) * var8)); - var9.addVertexWithUV((double)(var1 + var5), (double)(var2 + var6), (double)this.zLevel, (double)((float)(var3 + var5) * var7), (double)((float)(var4 + var6) * var8)); - var9.addVertexWithUV((double)(var1 + var5), (double)(var2 + 0), (double)this.zLevel, (double)((float)(var3 + var5) * var7), (double)((float)(var4 + 0) * var8)); - var9.addVertexWithUV((double)(var1 + 0), (double)(var2 + 0), (double)this.zLevel, (double)((float)(var3 + 0) * var7), (double)((float)(var4 + 0) * var8)); - var9.draw(); - } -} diff --git a/src/main/java/net/minecraft/src/GuiButton.java b/src/main/java/net/minecraft/src/GuiButton.java deleted file mode 100644 index 3fbe2be..0000000 --- a/src/main/java/net/minecraft/src/GuiButton.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class GuiButton extends Gui { - private int width; - private int height; - public int xPosition; - public int yPosition; - public String displayString; - public int id; - public boolean enabled; - public boolean enabled2; - - public GuiButton(int var1, int var2, int var3, String var4) { - this(var1, var2, var3, 200, 20, var4); - } - - protected GuiButton(int var1, int var2, int var3, int var4, int var5, String var6) { - this.width = 200; - this.height = 20; - this.enabled = true; - this.enabled2 = true; - this.id = var1; - this.xPosition = var2; - this.yPosition = var3; - this.width = var4; - this.height = var5; - this.displayString = var6; - } - - public void drawButton(Minecraft var1, int var2, int var3) { - if(this.enabled2) { - FontRenderer var4 = var1.fontRenderer; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var1.renderEngine.getTexture("/gui/gui.png")); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - byte var5 = 1; - boolean var6 = var2 >= this.xPosition && var3 >= this.yPosition && var2 < this.xPosition + this.width && var3 < this.yPosition + this.height; - if(!this.enabled) { - var5 = 0; - } else if(var6) { - var5 = 2; - } - - this.drawTexturedModalRect(this.xPosition, this.yPosition, 0, 46 + var5 * 20, this.width / 2, this.height); - this.drawTexturedModalRect(this.xPosition + this.width / 2, this.yPosition, 200 - this.width / 2, 46 + var5 * 20, this.width / 2, this.height); - if(!this.enabled) { - this.drawCenteredString(var4, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, -6250336); - } else if(var6) { - this.drawCenteredString(var4, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, 16777120); - } else { - this.drawCenteredString(var4, this.displayString, this.xPosition + this.width / 2, this.yPosition + (this.height - 8) / 2, 14737632); - } - - } - } - - public boolean mousePressed(int var1, int var2) { - return this.enabled && var1 >= this.xPosition && var2 >= this.yPosition && var1 < this.xPosition + this.width && var2 < this.yPosition + this.height; - } -} diff --git a/src/main/java/net/minecraft/src/GuiChest.java b/src/main/java/net/minecraft/src/GuiChest.java deleted file mode 100644 index 730e7f4..0000000 --- a/src/main/java/net/minecraft/src/GuiChest.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class GuiChest extends GuiContainer { - private IInventory upperChestInventory; - private IInventory lowerChestInventory; - private int inventoryRows = 0; - - public GuiChest(IInventory var1, IInventory var2) { - this.upperChestInventory = var1; - this.lowerChestInventory = var2; - this.allowUserInput = false; - short var3 = 222; - int var4 = var3 - 108; - this.inventoryRows = var2.getSizeInventory() / 9; - this.ySize = var4 + this.inventoryRows * 18; - int var5 = (this.inventoryRows - 4) * 18; - - int var6; - int var7; - for(var6 = 0; var6 < this.inventoryRows; ++var6) { - for(var7 = 0; var7 < 9; ++var7) { - this.inventorySlots.add(new Slot(this, var2, var7 + var6 * 9, 8 + var7 * 18, 18 + var6 * 18)); - } - } - - for(var6 = 0; var6 < 3; ++var6) { - for(var7 = 0; var7 < 9; ++var7) { - this.inventorySlots.add(new Slot(this, var1, var7 + (var6 + 1) * 9, 8 + var7 * 18, 103 + var6 * 18 + var5)); - } - } - - for(var6 = 0; var6 < 9; ++var6) { - this.inventorySlots.add(new Slot(this, var1, var6, 8 + var6 * 18, 161 + var5)); - } - - } - - protected void drawGuiContainerForegroundLayer() { - this.fontRenderer.drawString(this.lowerChestInventory.getInvName(), 8, 6, 4210752); - this.fontRenderer.drawString(this.upperChestInventory.getInvName(), 8, this.ySize - 96 + 2, 4210752); - } - - protected void drawGuiContainerBackgroundLayer(float var1) { - int var2 = this.mc.renderEngine.getTexture("/gui/container.png"); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(var2); - int var3 = (this.width - this.xSize) / 2; - int var4 = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(var3, var4, 0, 0, this.xSize, this.inventoryRows * 18 + 17); - this.drawTexturedModalRect(var3, var4 + this.inventoryRows * 18 + 17, 0, 126, this.xSize, 96); - } -} diff --git a/src/main/java/net/minecraft/src/GuiContainer.java b/src/main/java/net/minecraft/src/GuiContainer.java deleted file mode 100644 index 4e3e8fe..0000000 --- a/src/main/java/net/minecraft/src/GuiContainer.java +++ /dev/null @@ -1,226 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public abstract class GuiContainer extends GuiScreen { - private static RenderItem itemRenderer = new RenderItem(); - private ItemStack draggedItemStack = null; - protected int xSize = 176; - protected int ySize = 166; - protected List inventorySlots = new ArrayList(); - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - int var4 = (this.width - this.xSize) / 2; - int var5 = (this.height - this.ySize) / 2; - this.drawGuiContainerBackgroundLayer(var3); - GL11.glPushMatrix(); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - RenderHelper.enableStandardItemLighting(); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glTranslatef((float)var4, (float)var5, 0.0F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - - for(int var6 = 0; var6 < this.inventorySlots.size(); ++var6) { - Slot var7 = (Slot)this.inventorySlots.get(var6); - this.drawSlotInventory(var7); - if(var7.getIsMouseOverSlot(var1, var2)) { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - int var8 = var7.xDisplayPosition; - int var9 = var7.yDisplayPosition; - this.drawGradientRect(var8, var9, var8 + 16, var9 + 16, -2130706433, -2130706433); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - } - } - - if(this.draggedItemStack != null) { - GL11.glTranslatef(0.0F, 0.0F, 32.0F); - itemRenderer.drawItemIntoGui(this.fontRenderer, this.mc.renderEngine, this.draggedItemStack, var1 - var4 - 8, var2 - var5 - 8); - itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, this.draggedItemStack, var1 - var4 - 8, var2 - var5 - 8); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - this.drawGuiContainerForegroundLayer(); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glPopMatrix(); - } - - protected void drawGuiContainerForegroundLayer() { - } - - protected abstract void drawGuiContainerBackgroundLayer(float var1); - - private void drawSlotInventory(Slot var1) { - IInventory var2 = var1.inventory; - int var3 = var1.slotIndex; - int var4 = var1.xDisplayPosition; - int var5 = var1.yDisplayPosition; - ItemStack var6 = var2.getStackInSlot(var3); - if(var6 == null) { - int var7 = var1.getBackgroundIconIndex(); - if(var7 >= 0) { - GL11.glDisable(GL11.GL_LIGHTING); - this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture("/gui/items.png")); - this.drawTexturedModalRect(var4, var5, var7 % 16 * 16, var7 / 16 * 16, 16, 16); - GL11.glEnable(GL11.GL_LIGHTING); - return; - } - } - - itemRenderer.drawItemIntoGui(this.fontRenderer, this.mc.renderEngine, var6, var4, var5); - itemRenderer.renderItemOverlayIntoGUI(this.fontRenderer, this.mc.renderEngine, var6, var4, var5); - } - - private Slot getSlotAtPosition(int var1, int var2) { - for(int var3 = 0; var3 < this.inventorySlots.size(); ++var3) { - Slot var4 = (Slot)this.inventorySlots.get(var3); - if(var4.getIsMouseOverSlot(var1, var2)) { - return var4; - } - } - - return null; - } - - protected void mouseClicked(int var1, int var2, int var3) { - if(var3 == 0 || var3 == 1) { - Slot var4 = this.getSlotAtPosition(var1, var2); - int var6; - if(var4 != null) { - var4.onSlotChanged(); - ItemStack var5 = var4.getStack(); - if(var5 != null || this.draggedItemStack != null) { - if(var5 != null && this.draggedItemStack == null) { - var6 = var3 == 0 ? var5.stackSize : (var5.stackSize + 1) / 2; - this.draggedItemStack = var4.inventory.decrStackSize(var4.slotIndex, var6); - if(var5.stackSize == 0) { - var4.putStack((ItemStack)null); - } - - var4.onPickupFromSlot(); - } else if(var5 == null && this.draggedItemStack != null && var4.isItemValid(this.draggedItemStack)) { - var6 = var3 == 0 ? this.draggedItemStack.stackSize : 1; - if(var6 > var4.inventory.getInventoryStackLimit()) { - var6 = var4.inventory.getInventoryStackLimit(); - } - - var4.putStack(this.draggedItemStack.splitStack(var6)); - if(this.draggedItemStack.stackSize == 0) { - this.draggedItemStack = null; - } - } else if(var5 != null && this.draggedItemStack != null) { - if(var4.isItemValid(this.draggedItemStack)) { - if(var5.itemID != this.draggedItemStack.itemID) { - if(this.draggedItemStack.stackSize <= var4.inventory.getInventoryStackLimit()) { - var4.putStack(this.draggedItemStack); - this.draggedItemStack = var5; - } - } else if(var5.itemID == this.draggedItemStack.itemID) { - if(var3 == 0) { - var6 = this.draggedItemStack.stackSize; - if(var6 > var4.inventory.getInventoryStackLimit() - var5.stackSize) { - var6 = var4.inventory.getInventoryStackLimit() - var5.stackSize; - } - - if(var6 > this.draggedItemStack.getMaxStackSize() - var5.stackSize) { - var6 = this.draggedItemStack.getMaxStackSize() - var5.stackSize; - } - - this.draggedItemStack.splitStack(var6); - if(this.draggedItemStack.stackSize == 0) { - this.draggedItemStack = null; - } - - var5.stackSize += var6; - } else if(var3 == 1) { - var6 = 1; - if(var6 > var4.inventory.getInventoryStackLimit() - var5.stackSize) { - var6 = var4.inventory.getInventoryStackLimit() - var5.stackSize; - } - - if(var6 > this.draggedItemStack.getMaxStackSize() - var5.stackSize) { - var6 = this.draggedItemStack.getMaxStackSize() - var5.stackSize; - } - - this.draggedItemStack.splitStack(var6); - if(this.draggedItemStack.stackSize == 0) { - this.draggedItemStack = null; - } - - var5.stackSize += var6; - } - } - } else if(var5.itemID == this.draggedItemStack.itemID && this.draggedItemStack.getMaxStackSize() > 1) { - var6 = var5.stackSize; - if(var6 > 0 && var6 + this.draggedItemStack.stackSize <= this.draggedItemStack.getMaxStackSize()) { - this.draggedItemStack.stackSize += var6; - var5.splitStack(var6); - if(var5.stackSize == 0) { - var4.putStack((ItemStack)null); - } - - var4.onPickupFromSlot(); - } - } - } - } - } else if(this.draggedItemStack != null) { - int var8 = (this.width - this.xSize) / 2; - var6 = (this.height - this.ySize) / 2; - if(var1 < var8 || var2 < var6 || var1 >= var8 + this.xSize || var2 >= var6 + this.xSize) { - EntityPlayerSP var7 = this.mc.thePlayer; - if(var3 == 0) { - var7.dropPlayerItem(this.draggedItemStack); - this.draggedItemStack = null; - } - - if(var3 == 1) { - var7.dropPlayerItem(this.draggedItemStack.splitStack(1)); - if(this.draggedItemStack.stackSize == 0) { - this.draggedItemStack = null; - } - } - } - } - } - - } - - protected void mouseMovedOrUp(int var1, int var2, int var3) { - if(var3 == 0) { - } - - } - - protected void keyTyped(char var1, int var2) { - if(var2 == 1 || var2 == this.mc.gameSettings.keyBindInventory.keyCode) { - this.mc.displayGuiScreen((GuiScreen)null); - } - - } - - public void onGuiClosed() { - if(this.draggedItemStack != null) { - this.mc.thePlayer.dropPlayerItem(this.draggedItemStack); - } - - } - - public void onCraftMatrixChanged(IInventory var1) { - } - - public boolean doesGuiPauseGame() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/GuiControls.java b/src/main/java/net/minecraft/src/GuiControls.java deleted file mode 100644 index 0d185df..0000000 --- a/src/main/java/net/minecraft/src/GuiControls.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.minecraft.src; - -public class GuiControls extends GuiScreen { - private GuiScreen parentScreen; - protected String screenTitle = "Controls"; - private GameSettings options; - private int buttonId = -1; - - public GuiControls(GuiScreen var1, GameSettings var2) { - this.parentScreen = var1; - this.options = var2; - } - - public void initGui() { - for(int var1 = 0; var1 < this.options.keyBindings.length; ++var1) { - this.controlList.add(new GuiSmallButton(var1, this.width / 2 - 155 + var1 % 2 * 160, this.height / 6 + 24 * (var1 >> 1), this.options.getOptionDisplayString(var1))); - } - - this.controlList.add(new GuiButton(200, this.width / 2 - 100, this.height / 6 + 168, "Done")); - } - - protected void actionPerformed(GuiButton var1) { - for(int var2 = 0; var2 < this.options.keyBindings.length; ++var2) { - ((GuiButton)this.controlList.get(var2)).displayString = this.options.getOptionDisplayString(var2); - } - - if(var1.id == 200) { - this.mc.displayGuiScreen(this.parentScreen); - } else { - this.buttonId = var1.id; - var1.displayString = "> " + this.options.getOptionDisplayString(var1.id) + " <"; - } - - } - - protected void keyTyped(char var1, int var2) { - if(this.buttonId >= 0) { - this.options.setKeyBinding(this.buttonId, var2); - ((GuiButton)this.controlList.get(this.buttonId)).displayString = this.options.getOptionDisplayString(this.buttonId); - this.buttonId = -1; - } else { - super.keyTyped(var1, var2); - } - - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - this.drawCenteredString(this.fontRenderer, this.screenTitle, this.width / 2, 20, 16777215); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/GuiCrafting.java b/src/main/java/net/minecraft/src/GuiCrafting.java deleted file mode 100644 index 81fe8aa..0000000 --- a/src/main/java/net/minecraft/src/GuiCrafting.java +++ /dev/null @@ -1,75 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class GuiCrafting extends GuiContainer { - private InventoryCrafting inventoryCrafting = new InventoryCrafting(this, 3, 3); - private IInventory iInventory = new InventoryCraftResult(); - - public GuiCrafting(InventoryPlayer var1) { - this.inventorySlots.add(new SlotCrafting(this, this.inventoryCrafting, this.iInventory, 0, 124, 35)); - - int var2; - int var3; - for(var2 = 0; var2 < 3; ++var2) { - for(var3 = 0; var3 < 3; ++var3) { - this.inventorySlots.add(new Slot(this, this.inventoryCrafting, var3 + var2 * 3, 30 + var3 * 18, 17 + var2 * 18)); - } - } - - for(var2 = 0; var2 < 3; ++var2) { - for(var3 = 0; var3 < 9; ++var3) { - this.inventorySlots.add(new Slot(this, var1, var3 + (var2 + 1) * 9, 8 + var3 * 18, 84 + var2 * 18)); - } - } - - for(var2 = 0; var2 < 9; ++var2) { - this.inventorySlots.add(new Slot(this, var1, var2, 8 + var2 * 18, 142)); - } - - } - - public void onGuiClosed() { - super.onGuiClosed(); - - for(int var1 = 0; var1 < 9; ++var1) { - ItemStack var2 = this.inventoryCrafting.getStackInSlot(var1); - if(var2 != null) { - this.mc.thePlayer.dropPlayerItem(var2); - } - } - - } - - public void onCraftMatrixChanged(IInventory var1) { - int[] var2 = new int[9]; - - for(int var3 = 0; var3 < 3; ++var3) { - for(int var4 = 0; var4 < 3; ++var4) { - int var5 = var3 + var4 * 3; - ItemStack var6 = this.inventoryCrafting.getStackInSlot(var5); - if(var6 == null) { - var2[var5] = -1; - } else { - var2[var5] = var6.itemID; - } - } - } - - this.iInventory.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(var2)); - } - - protected void drawGuiContainerForegroundLayer() { - this.fontRenderer.drawString("Crafting", 28, 6, 4210752); - this.fontRenderer.drawString("Inventory", 8, this.ySize - 96 + 2, 4210752); - } - - protected void drawGuiContainerBackgroundLayer(float var1) { - int var2 = this.mc.renderEngine.getTexture("/gui/crafting.png"); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(var2); - int var3 = (this.width - this.xSize) / 2; - int var4 = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(var3, var4, 0, 0, this.xSize, this.ySize); - } -} diff --git a/src/main/java/net/minecraft/src/GuiCreateWorld.java b/src/main/java/net/minecraft/src/GuiCreateWorld.java deleted file mode 100644 index 73a1434..0000000 --- a/src/main/java/net/minecraft/src/GuiCreateWorld.java +++ /dev/null @@ -1,69 +0,0 @@ -package net.minecraft.src; - -import net.PeytonPlayz585.io.File; - -public class GuiCreateWorld extends GuiScreen { - protected GuiScreen parentGuiScreen; - protected String screenHeader = "Select world"; - private boolean createClicked = false; - - public GuiCreateWorld(GuiScreen var1) { - this.parentGuiScreen = var1; - } - - public void initGui() { - File var1 = Minecraft.getMinecraftDir(); - - for(int var2 = 0; var2 < 5; ++var2) { - NBTTagCompound var3 = World.getLevelData(var1, "World" + (var2 + 1)); - if(var3 == null) { - this.controlList.add(new GuiButton(var2, this.width / 2 - 100, this.height / 6 + 24 * var2, "- empty -")); - } else { - String var4 = "World " + (var2 + 1); - long var5 = var3.getLong("SizeOnDisk"); - var4 = var4 + " (" + (float)(var5 / 1024L * 100L / 1024L) / 100.0F + " MB)"; - this.controlList.add(new GuiButton(var2, this.width / 2 - 100, this.height / 6 + 24 * var2, var4)); - } - } - - this.initButtons(); - } - - protected String getSaveFileName(int var1) { - File var2 = Minecraft.getMinecraftDir(); - return World.getLevelData(var2, "World" + var1) != null ? "World" + var1 : null; - } - - public void initButtons() { - this.controlList.add(new GuiButton(5, this.width / 2 - 100, this.height / 6 + 120 + 12, "Delete world...")); - this.controlList.add(new GuiButton(6, this.width / 2 - 100, this.height / 6 + 168, "Cancel")); - } - - protected void actionPerformed(GuiButton var1) { - if(var1.enabled) { - if(var1.id < 5) { - this.actionPerformed(var1.id + 1); - } else if(var1.id == 5) { - this.mc.displayGuiScreen(new GuiDeleteWorld(this)); - } else if(var1.id == 6) { - this.mc.displayGuiScreen(this.parentGuiScreen); - } - - } - } - - public void actionPerformed(int var1) { - this.mc.displayGuiScreen((GuiScreen)null); - if(!this.createClicked) { - this.createClicked = true; - this.mc.startWorld("World" + var1); - this.mc.displayGuiScreen((GuiScreen)null); - } - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - this.drawCenteredString(this.fontRenderer, this.screenHeader, this.width / 2, 20, 16777215); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/GuiDeleteWorld.java b/src/main/java/net/minecraft/src/GuiDeleteWorld.java deleted file mode 100644 index 41368b5..0000000 --- a/src/main/java/net/minecraft/src/GuiDeleteWorld.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.minecraft.src; - -import net.PeytonPlayz585.io.File; - -public class GuiDeleteWorld extends GuiCreateWorld { - public GuiDeleteWorld(GuiScreen var1) { - super(var1); - this.screenHeader = "Delete world"; - } - - public void initButtons() { - this.controlList.add(new GuiButton(6, this.width / 2 - 100, this.height / 6 + 168, "Cancel")); - } - - public void actionPerformed(int var1) { - String var2 = this.getSaveFileName(var1); - if(var2 != null) { - this.mc.displayGuiScreen(new GuiYesNo(this, "Are you sure you want to delete this world?", "\'" + var2 + "\' will be lost forever!", var1)); - } - - } - - public void deleteWorld(boolean var1, int var2) { - if(var1) { - File var3 = Minecraft.getMinecraftDir(); - World.deleteWorld(var3, this.getSaveFileName(var2)); - } - - this.mc.displayGuiScreen(this.parentGuiScreen); - } -} diff --git a/src/main/java/net/minecraft/src/GuiEditSign.java b/src/main/java/net/minecraft/src/GuiEditSign.java deleted file mode 100644 index 9ecea6d..0000000 --- a/src/main/java/net/minecraft/src/GuiEditSign.java +++ /dev/null @@ -1,77 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.input.Keyboard; -import org.lwjgl.opengl.GL11; - -public class GuiEditSign extends GuiScreen { - protected String screenTitle = "Edit sign message:"; - private TileEntitySign entitySign; - private int updateCounter; - private int editLine = 0; - - public GuiEditSign(TileEntitySign var1) { - this.entitySign = var1; - } - - public void initGui() { - this.controlList.clear(); - Keyboard.enableRepeatEvents(true); - this.controlList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120, "Done")); - } - - public void onGuiClosed() { - Keyboard.enableRepeatEvents(false); - } - - public void updateScreen() { - ++this.updateCounter; - } - - protected void actionPerformed(GuiButton var1) { - if(var1.enabled) { - if(var1.id == 0) { - this.entitySign.onInventoryChanged(); - this.mc.displayGuiScreen((GuiScreen)null); - } - - } - } - - protected void keyTyped(char var1, int var2) { - if(var2 == 200) { - this.editLine = this.editLine - 1 & 3; - } - - if(var2 == 208 || var2 == 28) { - this.editLine = this.editLine + 1 & 3; - } - - if(var2 == 14 && this.entitySign.signText[this.editLine].length() > 0) { - this.entitySign.signText[this.editLine] = this.entitySign.signText[this.editLine].substring(0, this.entitySign.signText[this.editLine].length() - 1); - } - - if("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ,.:-_\'*!\"#%/()=+?[]{}<>".indexOf(var1) >= 0 && this.entitySign.signText[this.editLine].length() < 15) { - this.entitySign.signText[this.editLine] = this.entitySign.signText[this.editLine] + var1; - } - - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - this.drawCenteredString(this.fontRenderer, this.screenTitle, this.width / 2, 40, 16777215); - GL11.glPushMatrix(); - GL11.glTranslatef((float)(this.width / 2), (float)(this.height / 2), 50.0F); - float var4 = 60.0F; - GL11.glScalef(-var4, -var4, -var4); - GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); - if(this.updateCounter / 6 % 2 == 0) { - this.entitySign.lineBeingEdited = this.editLine; - } - - GL11.glRotatef((float)(this.entitySign.getBlockMetadata() * 360) / 16.0F, 0.0F, 1.0F, 0.0F); - TileEntityRenderer.instance.renderTileEntityAt(this.entitySign, -0.5D, -0.75D, -0.5D, 0.0F); - this.entitySign.lineBeingEdited = -1; - GL11.glPopMatrix(); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/GuiErrorScreen.java b/src/main/java/net/minecraft/src/GuiErrorScreen.java deleted file mode 100644 index 6707b98..0000000 --- a/src/main/java/net/minecraft/src/GuiErrorScreen.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.minecraft.src; - -public class GuiErrorScreen extends GuiScreen { - private String title; - private String text; - - public void initGui() { - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawGradientRect(0, 0, this.width, this.height, -12574688, -11530224); - this.drawCenteredString(this.fontRenderer, this.title, this.width / 2, 90, 16777215); - this.drawCenteredString(this.fontRenderer, this.text, this.width / 2, 110, 16777215); - super.drawScreen(var1, var2, var3); - } - - protected void keyTyped(char var1, int var2) { - } -} diff --git a/src/main/java/net/minecraft/src/GuiFurnace.java b/src/main/java/net/minecraft/src/GuiFurnace.java deleted file mode 100644 index 922342d..0000000 --- a/src/main/java/net/minecraft/src/GuiFurnace.java +++ /dev/null @@ -1,48 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class GuiFurnace extends GuiContainer { - private TileEntityFurnace furnaceInventory; - - public GuiFurnace(InventoryPlayer var1, TileEntityFurnace var2) { - this.furnaceInventory = var2; - this.inventorySlots.add(new Slot(this, var2, 0, 56, 17)); - this.inventorySlots.add(new Slot(this, var2, 1, 56, 53)); - this.inventorySlots.add(new Slot(this, var2, 2, 116, 35)); - - int var3; - for(var3 = 0; var3 < 3; ++var3) { - for(int var4 = 0; var4 < 9; ++var4) { - this.inventorySlots.add(new Slot(this, var1, var4 + (var3 + 1) * 9, 8 + var4 * 18, 84 + var3 * 18)); - } - } - - for(var3 = 0; var3 < 9; ++var3) { - this.inventorySlots.add(new Slot(this, var1, var3, 8 + var3 * 18, 142)); - } - - } - - protected void drawGuiContainerForegroundLayer() { - this.fontRenderer.drawString("Furnace", 60, 6, 4210752); - this.fontRenderer.drawString("Inventory", 8, this.ySize - 96 + 2, 4210752); - } - - protected void drawGuiContainerBackgroundLayer(float var1) { - int var2 = this.mc.renderEngine.getTexture("/gui/furnace.png"); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(var2); - int var3 = (this.width - this.xSize) / 2; - int var4 = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(var3, var4, 0, 0, this.xSize, this.ySize); - int var5; - if(this.furnaceInventory.isBurning()) { - var5 = this.furnaceInventory.getBurnTimeRemainingScaled(12); - this.drawTexturedModalRect(var3 + 56, var4 + 36 + 12 - var5, 176, 12 - var5, 14, var5 + 2); - } - - var5 = this.furnaceInventory.getCookProgressScaled(24); - this.drawTexturedModalRect(var3 + 79, var4 + 34, 176, 14, var5 + 1, 16); - } -} diff --git a/src/main/java/net/minecraft/src/GuiGameOver.java b/src/main/java/net/minecraft/src/GuiGameOver.java deleted file mode 100644 index 1eb64b0..0000000 --- a/src/main/java/net/minecraft/src/GuiGameOver.java +++ /dev/null @@ -1,48 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class GuiGameOver extends GuiScreen { - public void initGui() { - this.controlList.clear(); - this.controlList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 72, "Respawn")); - this.controlList.add(new GuiButton(2, this.width / 2 - 100, this.height / 4 + 96, "Title menu")); - if(this.mc.session == null) { - ((GuiButton)this.controlList.get(1)).enabled = false; - } - - } - - protected void keyTyped(char var1, int var2) { - } - - protected void actionPerformed(GuiButton var1) { - if(var1.id == 0) { - } - - if(var1.id == 1) { - this.mc.respawn(); - this.mc.displayGuiScreen((GuiScreen)null); - } - - if(var1.id == 2) { - this.mc.changeWorld1((World)null); - this.mc.displayGuiScreen(new GuiMainMenu()); - } - - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawGradientRect(0, 0, this.width, this.height, 1615855616, -1602211792); - GL11.glPushMatrix(); - GL11.glScalef(2.0F, 2.0F, 2.0F); - this.drawCenteredString(this.fontRenderer, "Game over!", this.width / 2 / 2, 30, 16777215); - GL11.glPopMatrix(); - this.drawCenteredString(this.fontRenderer, "Score: &e" + this.mc.thePlayer.getScore(), this.width / 2, 100, 16777215); - super.drawScreen(var1, var2, var3); - } - - public boolean doesGuiPauseGame() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/GuiIngame.java b/src/main/java/net/minecraft/src/GuiIngame.java deleted file mode 100644 index e1388f5..0000000 --- a/src/main/java/net/minecraft/src/GuiIngame.java +++ /dev/null @@ -1,224 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.PeytonPlayz585.opengl.LWJGLMain; - -public class GuiIngame extends Gui { - private static RenderItem itemRenderer = new RenderItem(); - private List chatMessageList = new ArrayList(); - private Random rand = new Random(); - private Minecraft mc; - public String testMessage = null; - private int updateCounter = 0; - public float damageGuiPartialTime; - float prevVignetteBrightness = 1.0F; - - public GuiIngame(Minecraft var1) { - this.mc = var1; - } - - public void renderGameOverlay(float var1, boolean var2, int var3, int var4) { - ScaledResolution var5 = new ScaledResolution(this.mc.displayWidth, this.mc.displayHeight); - int var6 = var5.getScaledWidth(); - int var7 = var5.getScaledHeight(); - FontRenderer var8 = this.mc.fontRenderer; - this.mc.entityRenderer.setupOverlayRendering(); - GL11.glEnable(GL11.GL_BLEND); - if(this.mc.gameSettings.fancyGraphics) { - this.renderVignette(this.mc.thePlayer.getEntityBrightness(var1), var6, var7); - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/gui/gui.png")); - InventoryPlayer var9 = this.mc.thePlayer.inventory; - this.zLevel = -90.0F; - this.drawTexturedModalRect(var6 / 2 - 91, var7 - 22, 0, 0, 182, 22); - this.drawTexturedModalRect(var6 / 2 - 91 - 1 + var9.currentItem * 20, var7 - 22 - 1, 0, 22, 24, 22); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/gui/icons.png")); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_ONE_MINUS_DST_COLOR, GL11.GL_ONE_MINUS_SRC_COLOR); - this.drawTexturedModalRect(var6 / 2 - 7, var7 / 2 - 7, 0, 0, 16, 16); - GL11.glDisable(GL11.GL_BLEND); - boolean var10 = this.mc.thePlayer.heartsLife / 3 % 2 == 1; - if(this.mc.thePlayer.heartsLife < 10) { - var10 = false; - } - - int var11 = this.mc.thePlayer.health; - int var12 = this.mc.thePlayer.prevHealth; - this.rand.setSeed((long)(this.updateCounter * 312871)); - int var13; - int var14; - int var15; - if(this.mc.playerController.shouldDrawHUD()) { - var13 = this.mc.thePlayer.getPlayerArmorValue(); - - int var16; - for(var14 = 0; var14 < 10; ++var14) { - var15 = var7 - 32; - if(var13 > 0) { - var16 = var6 / 2 + 91 - var14 * 8 - 9; - if(var14 * 2 + 1 < var13) { - this.drawTexturedModalRect(var16, var15, 34, 9, 9, 9); - } - - if(var14 * 2 + 1 == var13) { - this.drawTexturedModalRect(var16, var15, 25, 9, 9, 9); - } - - if(var14 * 2 + 1 > var13) { - this.drawTexturedModalRect(var16, var15, 16, 9, 9, 9); - } - } - - byte var25 = 0; - if(var10) { - var25 = 1; - } - - int var17 = var6 / 2 - 91 + var14 * 8; - if(var11 <= 4) { - var15 += this.rand.nextInt(2); - } - - this.drawTexturedModalRect(var17, var15, 16 + var25 * 9, 0, 9, 9); - if(var10) { - if(var14 * 2 + 1 < var12) { - this.drawTexturedModalRect(var17, var15, 70, 0, 9, 9); - } - - if(var14 * 2 + 1 == var12) { - this.drawTexturedModalRect(var17, var15, 79, 0, 9, 9); - } - } - - if(var14 * 2 + 1 < var11) { - this.drawTexturedModalRect(var17, var15, 52, 0, 9, 9); - } - - if(var14 * 2 + 1 == var11) { - this.drawTexturedModalRect(var17, var15, 61, 0, 9, 9); - } - } - - if(this.mc.thePlayer.isInsideOfMaterial(Material.water)) { - var14 = (int)Math.ceil((double)(this.mc.thePlayer.air - 2) * 10.0D / 300.0D); - var15 = (int)Math.ceil((double)this.mc.thePlayer.air * 10.0D / 300.0D) - var14; - - for(var16 = 0; var16 < var14 + var15; ++var16) { - if(var16 < var14) { - this.drawTexturedModalRect(var6 / 2 - 91 + var16 * 8, var7 - 32 - 9, 16, 18, 9, 9); - } else { - this.drawTexturedModalRect(var6 / 2 - 91 + var16 * 8, var7 - 32 - 9, 25, 18, 9, 9); - } - } - } - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glPushMatrix(); - GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); - RenderHelper.enableStandardItemLighting(); - GL11.glPopMatrix(); - - for(var13 = 0; var13 < 9; ++var13) { - var14 = var6 / 2 - 90 + var13 * 20 + 2; - var15 = var7 - 16 - 3; - this.renderInventorySlot(var13, var14, var15, var1); - } - - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - if(this.mc.gameSettings.showFPS) { - var8.drawStringWithShadow("Minecraft Infdev (" + this.mc.debug + ")", 2, 2, 16777215); - var8.drawStringWithShadow(this.mc.debugInfoRenders(), 2, 12, 16777215); - var8.drawStringWithShadow(this.mc.getEntityDebug(), 2, 22, 16777215); - var8.drawStringWithShadow(this.mc.debugInfoEntities(), 2, 32, 16777215); - long var22 = LWJGLMain.maxMemory(); - long var26 = LWJGLMain.totalMemory(); - long var27 = LWJGLMain.freeMemory(); - long var19 = var26 - var27; - String var21 = "Used memory: " + var19 * 100L / var22 + "% (" + var19 / 1024L / 1024L + "MB) of " + var22 / 1024L / 1024L + "MB"; - this.drawString(var8, var21, var6 - var8.getStringWidth(var21) - 2, 2, 14737632); - var21 = "Allocated memory: " + var26 * 100L / var22 + "% (" + var26 / 1024L / 1024L + "MB)"; - this.drawString(var8, var21, var6 - var8.getStringWidth(var21) - 2, 12, 14737632); - } else { - var8.drawStringWithShadow("Minecraft Infdev", 2, 2, 16777215); - } - - byte var23 = 10; - boolean var24 = false; - - for(var15 = 0; var15 < this.chatMessageList.size() && var15 < var23; ++var15) { - if(((ChatLine)this.chatMessageList.get(var15)).updateCounter < 200 || var24) { - var8.drawStringWithShadow(((ChatLine)this.chatMessageList.get(var15)).message, 2, var7 - 8 - var15 * 9 - 20, 16777215); - } - } - - } - - private void renderVignette(float var1, int var2, int var3) { - var1 = 1.0F - var1; - if(var1 < 0.0F) { - var1 = 0.0F; - } - - if(var1 > 1.0F) { - var1 = 1.0F; - } - - this.prevVignetteBrightness = (float)((double)this.prevVignetteBrightness + (double)(var1 - this.prevVignetteBrightness) * 0.01D); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glDepthMask(false); - GL11.glBlendFunc(GL11.GL_ZERO, GL11.GL_ONE_MINUS_SRC_COLOR); - GL11.glColor4f(this.prevVignetteBrightness, this.prevVignetteBrightness, this.prevVignetteBrightness, 1.0F); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/misc/vignette.png")); - Tessellator var4 = Tessellator.instance; - var4.startDrawingQuads(); - var4.addVertexWithUV(0.0D, (double)var3, -90.0D, 0.0D, 1.0D); - var4.addVertexWithUV((double)var2, (double)var3, -90.0D, 1.0D, 1.0D); - var4.addVertexWithUV((double)var2, 0.0D, -90.0D, 1.0D, 0.0D); - var4.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D); - var4.draw(); - GL11.glDepthMask(true); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - } - - private void renderInventorySlot(int var1, int var2, int var3, float var4) { - ItemStack var5 = this.mc.thePlayer.inventory.mainInventory[var1]; - if(var5 != null) { - float var6 = (float)var5.animationsToGo - var4; - if(var6 > 0.0F) { - GL11.glPushMatrix(); - float var7 = 1.0F + var6 / 5.0F; - GL11.glTranslatef((float)(var2 + 8), (float)(var3 + 12), 0.0F); - GL11.glScalef(1.0F / var7, (var7 + 1.0F) / 2.0F, 1.0F); - GL11.glTranslatef((float)(-(var2 + 8)), (float)(-(var3 + 12)), 0.0F); - } - - itemRenderer.drawItemIntoGui(this.mc.fontRenderer, this.mc.renderEngine, var5, var2, var3); - if(var6 > 0.0F) { - GL11.glPopMatrix(); - } - - itemRenderer.renderItemOverlayIntoGUI(this.mc.fontRenderer, this.mc.renderEngine, var5, var2, var3); - } - } - - public void updateTick() { - ++this.updateCounter; - - for(int var1 = 0; var1 < this.chatMessageList.size(); ++var1) { - ++((ChatLine)this.chatMessageList.get(var1)).updateCounter; - } - - } -} diff --git a/src/main/java/net/minecraft/src/GuiIngameMenu.java b/src/main/java/net/minecraft/src/GuiIngameMenu.java deleted file mode 100644 index a6b46fe..0000000 --- a/src/main/java/net/minecraft/src/GuiIngameMenu.java +++ /dev/null @@ -1,50 +0,0 @@ -package net.minecraft.src; - -public class GuiIngameMenu extends GuiScreen { - private int updateCounter2 = 0; - private int updateCounter = 0; - - public void initGui() { - this.updateCounter2 = 0; - this.controlList.clear(); - this.controlList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 48, "Save and quit to title..")); - this.controlList.add(new GuiButton(4, this.width / 2 - 100, this.height / 4 + 24, "Back to game")); - this.controlList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 96, "Options...")); - } - - protected void actionPerformed(GuiButton var1) { - if(var1.id == 0) { - this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings)); - } - - if(var1.id == 1) { - this.mc.changeWorld1((World)null); - this.mc.displayGuiScreen(new GuiMainMenu()); - } - - if(var1.id == 4) { - this.mc.displayGuiScreen((GuiScreen)null); - this.mc.setIngameFocus(); - } - - } - - public void updateScreen() { - super.updateScreen(); - ++this.updateCounter; - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - boolean var4 = !this.mc.theWorld.saveWorld(this.updateCounter2++); - if(var4 || this.updateCounter < 20) { - float var5 = ((float)(this.updateCounter % 10) + var3) / 10.0F; - var5 = MathHelper.sin(var5 * (float)Math.PI * 2.0F) * 0.2F + 0.8F; - int var6 = (int)(255.0F * var5); - this.drawString(this.fontRenderer, "Saving level..", 8, this.height - 16, var6 << 16 | var6 << 8 | var6); - } - - this.drawCenteredString(this.fontRenderer, "Game menu", this.width / 2, 40, 16777215); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/GuiInventory.java b/src/main/java/net/minecraft/src/GuiInventory.java deleted file mode 100644 index a145409..0000000 --- a/src/main/java/net/minecraft/src/GuiInventory.java +++ /dev/null @@ -1,117 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class GuiInventory extends GuiContainer { - private InventoryCrafting craftingInventory = new InventoryCrafting(this, 2, 2); - private IInventory craftingResultInventory = new InventoryCraftResult(); - private float xSize_lo; - private float ySize_lo; - - public GuiInventory(IInventory var1) { - this.allowUserInput = true; - this.inventorySlots.add(new SlotCrafting(this, this.craftingInventory, this.craftingResultInventory, 0, 144, 36)); - - int var2; - int var3; - for(var2 = 0; var2 < 2; ++var2) { - for(var3 = 0; var3 < 2; ++var3) { - this.inventorySlots.add(new Slot(this, this.craftingInventory, var3 + var2 * 2, 88 + var3 * 18, 26 + var2 * 18)); - } - } - - for(var2 = 0; var2 < 4; ++var2) { - this.inventorySlots.add(new SlotArmor(this, this, var1, var1.getSizeInventory() - 1 - var2, 8, 8 + var2 * 18, var2)); - } - - for(var2 = 0; var2 < 3; ++var2) { - for(var3 = 0; var3 < 9; ++var3) { - this.inventorySlots.add(new Slot(this, var1, var3 + (var2 + 1) * 9, 8 + var3 * 18, 84 + var2 * 18)); - } - } - - for(var2 = 0; var2 < 9; ++var2) { - this.inventorySlots.add(new Slot(this, var1, var2, 8 + var2 * 18, 142)); - } - - } - - public void onGuiClosed() { - super.onGuiClosed(); - - for(int var1 = 0; var1 < this.craftingInventory.getSizeInventory(); ++var1) { - ItemStack var2 = this.craftingInventory.getStackInSlot(var1); - if(var2 != null) { - this.mc.thePlayer.dropPlayerItem(var2); - } - } - - } - - public void onCraftMatrixChanged(IInventory var1) { - int[] var2 = new int[9]; - - for(int var3 = 0; var3 < 3; ++var3) { - for(int var4 = 0; var4 < 3; ++var4) { - int var5 = -1; - if(var3 < 2 && var4 < 2) { - ItemStack var6 = this.craftingInventory.getStackInSlot(var3 + var4 * 2); - if(var6 != null) { - var5 = var6.itemID; - } - } - - var2[var3 + var4 * 3] = var5; - } - } - - this.craftingResultInventory.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(var2)); - } - - protected void drawGuiContainerForegroundLayer() { - this.fontRenderer.drawString("Crafting", 86, 16, 4210752); - } - - public void drawScreen(int var1, int var2, float var3) { - super.drawScreen(var1, var2, var3); - this.xSize_lo = (float)var1; - this.ySize_lo = (float)var2; - } - - protected void drawGuiContainerBackgroundLayer(float var1) { - int var2 = this.mc.renderEngine.getTexture("/gui/inventory.png"); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.renderEngine.bindTexture(var2); - int var3 = (this.width - this.xSize) / 2; - int var4 = (this.height - this.ySize) / 2; - this.drawTexturedModalRect(var3, var4, 0, 0, this.xSize, this.ySize); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glEnable(GL11.GL_COLOR_MATERIAL); - GL11.glPushMatrix(); - GL11.glTranslatef((float)(var3 + 51), (float)(var4 + 75), 50.0F); - float var5 = 30.0F; - GL11.glScalef(-var5, var5, var5); - GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); - float var6 = this.mc.thePlayer.renderYawOffset; - float var7 = this.mc.thePlayer.rotationYaw; - float var8 = this.mc.thePlayer.rotationPitch; - float var9 = (float)(var3 + 51) - this.xSize_lo; - float var10 = (float)(var4 + 75 - 50) - this.ySize_lo; - GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F); - RenderHelper.enableStandardItemLighting(); - GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-((float)Math.atan((double)(var10 / 40.0F))) * 20.0F, 1.0F, 0.0F, 0.0F); - this.mc.thePlayer.renderYawOffset = (float)Math.atan((double)(var9 / 40.0F)) * 20.0F; - this.mc.thePlayer.rotationYaw = (float)Math.atan((double)(var9 / 40.0F)) * 40.0F; - this.mc.thePlayer.rotationPitch = -((float)Math.atan((double)(var10 / 40.0F))) * 20.0F; - GL11.glTranslatef(0.0F, this.mc.thePlayer.yOffset, 0.0F); - RenderManager.instance.renderEntityWithPosYaw(this.mc.thePlayer, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F); - this.mc.thePlayer.renderYawOffset = var6; - this.mc.thePlayer.rotationYaw = var7; - this.mc.thePlayer.rotationPitch = var8; - GL11.glPopMatrix(); - RenderHelper.disableStandardItemLighting(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } -} diff --git a/src/main/java/net/minecraft/src/GuiMainMenu.java b/src/main/java/net/minecraft/src/GuiMainMenu.java deleted file mode 100644 index 3300a31..0000000 --- a/src/main/java/net/minecraft/src/GuiMainMenu.java +++ /dev/null @@ -1,73 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -import net.PeytonPlayz585.opengl.LWJGLMain; - -public class GuiMainMenu extends GuiScreen { - private float updateCounter = 0.0F; - private String[] splashes = new String[]{"Pre-beta!", "As seen on TV!", "Awesome!", "100% pure!", "May contain nuts!", "Better than Prey!", "More polygons!", "Sexy!", "Limited edition!", "Flashing letters!", "Made by Notch!", "Coming soon!", "Best in class!", "When it\'s finished!", "Absolutely dragon free!", "Excitement!", "More than 5000 sold!", "One of a kind!", "700+ hits on YouTube!", "Indev!", "Spiders everywhere!", "Check it out!", "Holy cow, man!", "It\'s a game!", "Made in Sweden!", "Uses LWJGL!", "Reticulating splines!", "Minecraft!", "Yaaay!", "Alpha version!", "Singleplayer!", "Keyboard compatible!", "Undocumented!", "Ingots!", "Exploding creepers!", "That\'s not a moon!", "l33t!", "Create!", "Survive!", "Dungeon!", "Exclusive!", "The bee\'s knees!", "Down with O.P.P.!", "Closed source!", "Classy!", "Wow!", "Not on steam!", "9.95 euro!", "Half price!", "Oh man!", "Check it out!", "Awesome community!", "Pixels!", "Teetsuuuuoooo!", "Kaaneeeedaaaa!", "Now with difficulty!", "Enhanced!", "90% bug free!", "Pretty!", "12 herbs and spices!", "Fat free!", "Absolutely no memes!", "Free dental!", "Ask your doctor!", "Minors welcome!", "Cloud computing!", "Legal in Finland!", "Hard to label!", "Technically good!", "Bringing home the bacon!", "Indie!", "GOTY!", "Ceci n\'est pas une title screen!", "Euclidian!", "Now in 3D!", "Inspirational!", "Herregud!", "Complex cellular automata!", "Yes, sir!", "Played by cowboys!", "OpenGL 1.1!", "Thousands of colors!", "Try it!", "Age of Wonders is better!", "Try the mushroom stew!", "Sensational!", "Hot tamale, hot hot tamale!", "Play him off, keyboard cat!", "Guaranteed!", "Macroscopic!", "Bring it on!", "Random splash!", "Call your mother!", "Monster infighting!", "Loved by millions!", "Ultimate edition!", "Freaky!", "You\'ve got a brand new key!", "Water proof!", "Uninflammable!", "Whoa, dude!", "All inclusive!", "Tell your friends!", "NP is not in P!", "Notch <3 Ez!", "Music by C418!"}; - private String splashString = this.splashes[(int)(Math.random() * (double)this.splashes.length)]; - - public void updateScreen() { - this.updateCounter += 0.01F; - } - - protected void keyTyped(char var1, int var2) { - } - - public void initGui() { - this.controlList.clear(); - this.controlList.add(new GuiButton(1, this.width / 2 - 100, this.height / 4 + 48, "Single player")); - this.controlList.add(new GuiButton(2, this.width / 2 - 100, this.height / 4 + 72, "Multi player")); - this.controlList.add(new GuiButton(3, this.width / 2 - 100, this.height / 4 + 96, "Play tutorial level")); - this.controlList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + 12, "Options...")); - ((GuiButton)this.controlList.get(1)).enabled = false; - ((GuiButton)this.controlList.get(2)).enabled = false; - if(this.mc.session == null) { - ((GuiButton)this.controlList.get(1)).enabled = false; - } - - } - - protected void actionPerformed(GuiButton var1) { - if(var1.id == 0) { - this.mc.displayGuiScreen(new GuiOptions(this, this.mc.gameSettings)); - } - - if(var1.id == 1) { - this.mc.displayGuiScreen(new GuiCreateWorld(this)); - } - - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - Tessellator var4 = Tessellator.instance; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/gui/logo.png")); - short var5 = 256; - byte var6 = 49; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - var4.setColorOpaque_I(16777215); - this.drawTexturedModalRect((this.width - var5) / 2, 30, 0, 0, var5, var6); - GL11.glPushMatrix(); - GL11.glTranslatef((float)(this.width / 2 + 90), 70.0F, 0.0F); - GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F); - float var7 = 1.8F - MathHelper.abs(MathHelper.sin((float)(System.currentTimeMillis() % 1000L) / 1000.0F * (float)Math.PI * 2.0F) * 0.1F); - var7 = var7 * 100.0F / (float)(this.fontRenderer.getStringWidth(this.splashString) + 32); - GL11.glScalef(var7, var7, var7); - this.drawCenteredString(this.fontRenderer, this.splashString, 0, -8, 16776960); - GL11.glPopMatrix(); - String var8 = "Copyright Mojang Specifications. Do not distribute."; - this.drawString(this.fontRenderer, var8, this.width - this.fontRenderer.getStringWidth(var8) - 2, this.height - 10, 16777215); - long var9 = LWJGLMain.maxMemory(); - long var11 = LWJGLMain.totalMemory(); - long var13 = LWJGLMain.freeMemory(); - long var15 = var9 - var13; - var8 = "Free memory: " + var15 * 100L / var9 + "% of " + var9 / 1024L / 1024L + "MB"; - this.drawString(this.fontRenderer, var8, this.width - this.fontRenderer.getStringWidth(var8) - 2, 2, 8421504); - var8 = "Allocated memory: " + var11 * 100L / var9 + "% (" + var11 / 1024L / 1024L + "MB)"; - this.drawString(this.fontRenderer, var8, this.width - this.fontRenderer.getStringWidth(var8) - 2, 12, 8421504); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/GuiOptions.java b/src/main/java/net/minecraft/src/GuiOptions.java deleted file mode 100644 index a6b73eb..0000000 --- a/src/main/java/net/minecraft/src/GuiOptions.java +++ /dev/null @@ -1,45 +0,0 @@ -package net.minecraft.src; - -public class GuiOptions extends GuiScreen { - private GuiScreen parentScreen; - protected String screenTitle = "Options"; - private GameSettings options; - - public GuiOptions(GuiScreen var1, GameSettings var2) { - this.parentScreen = var1; - this.options = var2; - } - - public void initGui() { - for(int var1 = 0; var1 < this.options.numberOfOptions; ++var1) { - this.controlList.add(new GuiSmallButton(var1, this.width / 2 - 155 + var1 % 2 * 160, this.height / 6 + 24 * (var1 >> 1), this.options.getKeyBinding(var1))); - } - - this.controlList.add(new GuiButton(100, this.width / 2 - 100, this.height / 6 + 120 + 12, "Controls...")); - this.controlList.add(new GuiButton(200, this.width / 2 - 100, this.height / 6 + 168, "Done")); - } - - protected void actionPerformed(GuiButton var1) { - if(var1.enabled) { - if(var1.id < 100) { - this.options.setOptionFloatValue(var1.id, 1); - var1.displayString = this.options.getKeyBinding(var1.id); - } - - if(var1.id == 100) { - this.mc.displayGuiScreen(new GuiControls(this, this.options)); - } - - if(var1.id == 200) { - this.mc.displayGuiScreen(this.parentScreen); - } - - } - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - this.drawCenteredString(this.fontRenderer, this.screenTitle, this.width / 2, 20, 16777215); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/GuiScreen.java b/src/main/java/net/minecraft/src/GuiScreen.java deleted file mode 100644 index 252cb3f..0000000 --- a/src/main/java/net/minecraft/src/GuiScreen.java +++ /dev/null @@ -1,138 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; -import org.lwjgl.input.Keyboard; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.GL11; - -public class GuiScreen extends Gui { - protected Minecraft mc; - public int width; - public int height; - protected List controlList = new ArrayList(); - public boolean allowUserInput = false; - protected FontRenderer fontRenderer; - - public void drawScreen(int var1, int var2, float var3) { - for(int var4 = 0; var4 < this.controlList.size(); ++var4) { - GuiButton var5 = (GuiButton)this.controlList.get(var4); - var5.drawButton(this.mc, var1, var2); - } - - } - - protected void keyTyped(char var1, int var2) { - if(var2 == 1) { - this.mc.displayGuiScreen((GuiScreen)null); - this.mc.setIngameFocus(); - } - - } - - protected void mouseClicked(int var1, int var2, int var3) { - if(var3 == 0) { - for(int var4 = 0; var4 < this.controlList.size(); ++var4) { - GuiButton var5 = (GuiButton)this.controlList.get(var4); - if(var5.mousePressed(var1, var2)) { - //this.mc.sndManager.playSoundFX("random.click", 1.0F, 1.0F); - this.actionPerformed(var5); - } - } - } - - } - - protected void mouseMovedOrUp(int var1, int var2, int var3) { - } - - protected void actionPerformed(GuiButton var1) { - } - - public void setWorldAndResolution(Minecraft var1, int var2, int var3) { - this.mc = var1; - this.fontRenderer = var1.fontRenderer; - this.width = var2; - this.height = var3; - this.initGui(); - } - - public void initGui() { - } - - public void handleInput() { - while(Mouse.next()) { - this.handleMouseInput(); - } - - while(Keyboard.next()) { - this.handleKeyboardInput(); - } - - } - - public void handleMouseInput() { - int var1; - int var2; - if(Mouse.getEventButtonState()) { - var1 = Mouse.getEventX() * this.width / this.mc.displayWidth; - var2 = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1; - this.mouseClicked(var1, var2, Mouse.getEventButton()); - } else { - var1 = Mouse.getEventX() * this.width / this.mc.displayWidth; - var2 = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1; - this.mouseMovedOrUp(var1, var2, Mouse.getEventButton()); - } - - } - - public void handleKeyboardInput() { - if(Keyboard.getEventKeyState()) { -// if(Keyboard.getEventKey() == Keyboard.KEY_F11) { -// this.mc.toggleFullscreen(); -// return; -// } - - this.keyTyped(Keyboard.getEventCharacter(), Keyboard.getEventKey()); - } - - } - - public void updateScreen() { - } - - public void onGuiClosed() { - } - - public void drawDefaultBackground() { - this.drawWorldBackground(0); - } - - public void drawWorldBackground(int var1) { - if(this.mc.theWorld != null) { - this.drawGradientRect(0, 0, this.width, this.height, 1610941696, -1607454656); - } else { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_FOG); - Tessellator var2 = Tessellator.instance; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/dirt.png")); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - float var3 = 32.0F; - var2.startDrawingQuads(); - var2.setColorOpaque_I(4210752); - var2.addVertexWithUV(0.0D, (double)this.height, 0.0D, 0.0D, (double)((float)this.height / var3 + (float)var1)); - var2.addVertexWithUV((double)this.width, (double)this.height, 0.0D, (double)((float)this.width / var3), (double)((float)this.height / var3 + (float)var1)); - var2.addVertexWithUV((double)this.width, 0.0D, 0.0D, (double)((float)this.width / var3), (double)(0 + var1)); - var2.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, (double)(0 + var1)); - var2.draw(); - } - - } - - public boolean doesGuiPauseGame() { - return true; - } - - public void deleteWorld(boolean var1, int var2) { - } -} diff --git a/src/main/java/net/minecraft/src/GuiSmallButton.java b/src/main/java/net/minecraft/src/GuiSmallButton.java deleted file mode 100644 index e64c277..0000000 --- a/src/main/java/net/minecraft/src/GuiSmallButton.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.minecraft.src; - -public class GuiSmallButton extends GuiButton { - public GuiSmallButton(int var1, int var2, int var3, String var4) { - super(var1, var2, var3, 150, 20, var4); - } -} diff --git a/src/main/java/net/minecraft/src/GuiYesNo.java b/src/main/java/net/minecraft/src/GuiYesNo.java deleted file mode 100644 index 3c22273..0000000 --- a/src/main/java/net/minecraft/src/GuiYesNo.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.minecraft.src; - -public class GuiYesNo extends GuiScreen { - private GuiScreen parentScreen; - private String message1; - private String message2; - private int worldNumber; - - public GuiYesNo(GuiScreen var1, String var2, String var3, int var4) { - this.parentScreen = var1; - this.message1 = var2; - this.message2 = var3; - this.worldNumber = var4; - } - - public void initGui() { - this.controlList.add(new GuiSmallButton(0, this.width / 2 - 155 + 0, this.height / 6 + 96, "Yes")); - this.controlList.add(new GuiSmallButton(1, this.width / 2 - 155 + 160, this.height / 6 + 96, "No")); - } - - protected void actionPerformed(GuiButton var1) { - this.parentScreen.deleteWorld(var1.id == 0, this.worldNumber); - } - - public void drawScreen(int var1, int var2, float var3) { - this.drawDefaultBackground(); - this.drawCenteredString(this.fontRenderer, this.message1, this.width / 2, 70, 16777215); - this.drawCenteredString(this.fontRenderer, this.message2, this.width / 2, 90, 16777215); - super.drawScreen(var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/IBlockAccess.java b/src/main/java/net/minecraft/src/IBlockAccess.java deleted file mode 100644 index 007ce98..0000000 --- a/src/main/java/net/minecraft/src/IBlockAccess.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public interface IBlockAccess { - int getBlockId(int var1, int var2, int var3); - - TileEntity getBlockTileEntity(int var1, int var2, int var3); - - float getBrightness(int var1, int var2, int var3); - - int getBlockMetadata(int var1, int var2, int var3); - - Material getBlockMaterial(int var1, int var2, int var3); - - boolean isBlockNormalCube(int var1, int var2, int var3); -} diff --git a/src/main/java/net/minecraft/src/ICamera.java b/src/main/java/net/minecraft/src/ICamera.java deleted file mode 100644 index fb186f4..0000000 --- a/src/main/java/net/minecraft/src/ICamera.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.minecraft.src; - -public interface ICamera { - boolean isBoundingBoxInFrustum(AxisAlignedBB var1); - - void setPosition(double var1, double var3, double var5); -} diff --git a/src/main/java/net/minecraft/src/IChunkLoader.java b/src/main/java/net/minecraft/src/IChunkLoader.java deleted file mode 100644 index c197feb..0000000 --- a/src/main/java/net/minecraft/src/IChunkLoader.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -import java.io.IOException; - -public interface IChunkLoader { - Chunk loadChunk(World var1, int var2, int var3) throws IOException; - - void saveChunk(World var1, Chunk var2) throws IOException; - - void saveExtraChunkData(World var1, Chunk var2); - - void chunkTick(); - - void saveExtraData(); -} diff --git a/src/main/java/net/minecraft/src/IChunkProvider.java b/src/main/java/net/minecraft/src/IChunkProvider.java deleted file mode 100644 index 37743c9..0000000 --- a/src/main/java/net/minecraft/src/IChunkProvider.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public interface IChunkProvider { - boolean chunkExists(int var1, int var2); - - Chunk provideChunk(int var1, int var2); - - void populate(IChunkProvider var1, int var2, int var3); - - boolean saveChunks(boolean var1, IProgressUpdate var2); - - boolean unload100OldestChunks(); - - boolean canSave(); -} diff --git a/src/main/java/net/minecraft/src/IInventory.java b/src/main/java/net/minecraft/src/IInventory.java deleted file mode 100644 index b4564c7..0000000 --- a/src/main/java/net/minecraft/src/IInventory.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public interface IInventory { - int getSizeInventory(); - - ItemStack getStackInSlot(int var1); - - ItemStack decrStackSize(int var1, int var2); - - void setInventorySlotContents(int var1, ItemStack var2); - - String getInvName(); - - int getInventoryStackLimit(); - - void onInventoryChanged(); -} diff --git a/src/main/java/net/minecraft/src/IProgressUpdate.java b/src/main/java/net/minecraft/src/IProgressUpdate.java deleted file mode 100644 index 1fb3c60..0000000 --- a/src/main/java/net/minecraft/src/IProgressUpdate.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minecraft.src; - -public interface IProgressUpdate { - void displayProgressMessage(String var1); - - void displayLoadingString(String var1); - - void setLoadingProgress(int var1); -} diff --git a/src/main/java/net/minecraft/src/IWorldAccess.java b/src/main/java/net/minecraft/src/IWorldAccess.java deleted file mode 100644 index abcfcea..0000000 --- a/src/main/java/net/minecraft/src/IWorldAccess.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public interface IWorldAccess { - void markBlockAndNeighborsNeedsUpdate(int var1, int var2, int var3); - - void markBlockRangeNeedsUpdate(int var1, int var2, int var3, int var4, int var5, int var6); - - void playSound(String var1, double var2, double var4, double var6, float var8, float var9); - - void spawnParticle(String var1, double var2, double var4, double var6, double var8, double var10, double var12); - - void obtainEntitySkin(Entity var1); - - void releaseEntitySkin(Entity var1); - - void updateAllRenderers(); -} diff --git a/src/main/java/net/minecraft/src/ImageBuffer.java b/src/main/java/net/minecraft/src/ImageBuffer.java deleted file mode 100644 index 149f101..0000000 --- a/src/main/java/net/minecraft/src/ImageBuffer.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.minecraft.src; - -import java.awt.image.BufferedImage; - -public interface ImageBuffer { - BufferedImage parseUserSkin(BufferedImage var1); -} diff --git a/src/main/java/net/minecraft/src/ImageBufferDownload.java b/src/main/java/net/minecraft/src/ImageBufferDownload.java deleted file mode 100644 index 39d9761..0000000 --- a/src/main/java/net/minecraft/src/ImageBufferDownload.java +++ /dev/null @@ -1,88 +0,0 @@ -package net.minecraft.src; - -import java.awt.Graphics; -import java.awt.image.BufferedImage; -import java.awt.image.DataBufferInt; -import java.awt.image.ImageObserver; - -public class ImageBufferDownload implements ImageBuffer { - private int[] imageData; - private int imageWidth; - private int imageHeight; - - public BufferedImage parseUserSkin(BufferedImage var1) { - if(var1 == null) { - return null; - } else { - this.imageWidth = 64; - this.imageHeight = 32; - BufferedImage var2 = new BufferedImage(this.imageWidth, this.imageHeight, 2); - Graphics var3 = var2.getGraphics(); - var3.drawImage(var1, 0, 0, (ImageObserver)null); - var3.dispose(); - this.imageData = ((DataBufferInt)var2.getRaster().getDataBuffer()).getData(); - this.setAreaOpaque(0, 0, 32, 16); - this.setAreaTransparent(32, 0, 64, 32); - this.setAreaOpaque(0, 16, 64, 32); - boolean var4 = false; - - int var5; - int var6; - int var7; - for(var5 = 32; var5 < 64; ++var5) { - for(var6 = 0; var6 < 16; ++var6) { - var7 = this.imageData[var5 + var6 * 64]; - if((var7 >> 24 & 255) < 128) { - var4 = true; - } - } - } - - if(!var4) { - for(var5 = 32; var5 < 64; ++var5) { - for(var6 = 0; var6 < 16; ++var6) { - var7 = this.imageData[var5 + var6 * 64]; - if((var7 >> 24 & 255) < 128) { - var4 = true; - } - } - } - } - - return var2; - } - } - - private void setAreaTransparent(int var1, int var2, int var3, int var4) { - if(!this.hasTransparency(var1, var2, var3, var4)) { - for(int var5 = var1; var5 < var3; ++var5) { - for(int var6 = var2; var6 < var4; ++var6) { - this.imageData[var5 + var6 * this.imageWidth] &= 16777215; - } - } - - } - } - - private void setAreaOpaque(int var1, int var2, int var3, int var4) { - for(int var5 = var1; var5 < var3; ++var5) { - for(int var6 = var2; var6 < var4; ++var6) { - this.imageData[var5 + var6 * this.imageWidth] |= -16777216; - } - } - - } - - private boolean hasTransparency(int var1, int var2, int var3, int var4) { - for(int var5 = var1; var5 < var3; ++var5) { - for(int var6 = var2; var6 < var4; ++var6) { - int var7 = this.imageData[var5 + var6 * this.imageWidth]; - if((var7 >> 24 & 255) < 128) { - return true; - } - } - } - - return false; - } -} diff --git a/src/main/java/net/minecraft/src/InventoryCraftResult.java b/src/main/java/net/minecraft/src/InventoryCraftResult.java deleted file mode 100644 index de21b2a..0000000 --- a/src/main/java/net/minecraft/src/InventoryCraftResult.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.minecraft.src; - -public class InventoryCraftResult implements IInventory { - private ItemStack[] stackResult = new ItemStack[1]; - - public int getSizeInventory() { - return 1; - } - - public ItemStack getStackInSlot(int var1) { - return this.stackResult[var1]; - } - - public String getInvName() { - return "Result"; - } - - public ItemStack decrStackSize(int var1, int var2) { - if(this.stackResult[var1] != null) { - ItemStack var3 = this.stackResult[var1]; - this.stackResult[var1] = null; - return var3; - } else { - return null; - } - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - this.stackResult[var1] = var2; - } - - public int getInventoryStackLimit() { - return 64; - } - - public void onInventoryChanged() { - } -} diff --git a/src/main/java/net/minecraft/src/InventoryCrafting.java b/src/main/java/net/minecraft/src/InventoryCrafting.java deleted file mode 100644 index b5b78c3..0000000 --- a/src/main/java/net/minecraft/src/InventoryCrafting.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.minecraft.src; - -public class InventoryCrafting implements IInventory { - private ItemStack[] stackList; - private int gridSize; - private GuiContainer craftingInventory; - - public InventoryCrafting(GuiContainer var1, int var2, int var3) { - this.gridSize = var2 * var3; - this.stackList = new ItemStack[this.gridSize]; - this.craftingInventory = var1; - } - - public int getSizeInventory() { - return this.gridSize; - } - - public ItemStack getStackInSlot(int var1) { - return this.stackList[var1]; - } - - public String getInvName() { - return "Crafting"; - } - - public ItemStack decrStackSize(int var1, int var2) { - if(this.stackList[var1] != null) { - ItemStack var3; - if(this.stackList[var1].stackSize <= var2) { - var3 = this.stackList[var1]; - this.stackList[var1] = null; - this.craftingInventory.onCraftMatrixChanged(this); - return var3; - } else { - var3 = this.stackList[var1].splitStack(var2); - if(this.stackList[var1].stackSize == 0) { - this.stackList[var1] = null; - } - - this.craftingInventory.onCraftMatrixChanged(this); - return var3; - } - } else { - return null; - } - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - this.stackList[var1] = var2; - this.craftingInventory.onCraftMatrixChanged(this); - } - - public int getInventoryStackLimit() { - return 64; - } - - public void onInventoryChanged() { - } -} diff --git a/src/main/java/net/minecraft/src/InventoryLargeChest.java b/src/main/java/net/minecraft/src/InventoryLargeChest.java deleted file mode 100644 index daced98..0000000 --- a/src/main/java/net/minecraft/src/InventoryLargeChest.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.minecraft.src; - -public class InventoryLargeChest implements IInventory { - private String name; - private IInventory upperChest; - private IInventory lowerChest; - - public InventoryLargeChest(String var1, IInventory var2, IInventory var3) { - this.name = var1; - this.upperChest = var2; - this.lowerChest = var3; - } - - public int getSizeInventory() { - return this.upperChest.getSizeInventory() + this.lowerChest.getSizeInventory(); - } - - public String getInvName() { - return this.name; - } - - public ItemStack getStackInSlot(int var1) { - return var1 >= this.upperChest.getSizeInventory() ? this.lowerChest.getStackInSlot(var1 - this.upperChest.getSizeInventory()) : this.upperChest.getStackInSlot(var1); - } - - public ItemStack decrStackSize(int var1, int var2) { - return var1 >= this.upperChest.getSizeInventory() ? this.lowerChest.decrStackSize(var1 - this.upperChest.getSizeInventory(), var2) : this.upperChest.decrStackSize(var1, var2); - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - if(var1 >= this.upperChest.getSizeInventory()) { - this.lowerChest.setInventorySlotContents(var1 - this.upperChest.getSizeInventory(), var2); - } else { - this.upperChest.setInventorySlotContents(var1, var2); - } - - } - - public int getInventoryStackLimit() { - return this.upperChest.getInventoryStackLimit(); - } - - public void onInventoryChanged() { - this.upperChest.onInventoryChanged(); - this.lowerChest.onInventoryChanged(); - } -} diff --git a/src/main/java/net/minecraft/src/InventoryPlayer.java b/src/main/java/net/minecraft/src/InventoryPlayer.java deleted file mode 100644 index 3c5e832..0000000 --- a/src/main/java/net/minecraft/src/InventoryPlayer.java +++ /dev/null @@ -1,329 +0,0 @@ -package net.minecraft.src; - -public class InventoryPlayer implements IInventory { - public ItemStack[] mainInventory = new ItemStack[36]; - public ItemStack[] armorInventory = new ItemStack[4]; - public int currentItem = 0; - private EntityPlayer player; - - public InventoryPlayer(EntityPlayer var1) { - this.player = var1; - } - - public ItemStack getCurrentItem() { - return this.mainInventory[this.currentItem]; - } - - private int getInventorySlotContainItem(int var1) { - for(int var2 = 0; var2 < this.mainInventory.length; ++var2) { - if(this.mainInventory[var2] != null && this.mainInventory[var2].itemID == var1) { - return var2; - } - } - - return -1; - } - - private int storeItemStack(int var1) { - for(int var2 = 0; var2 < this.mainInventory.length; ++var2) { - if(this.mainInventory[var2] != null && this.mainInventory[var2].itemID == var1 && this.mainInventory[var2].stackSize < this.mainInventory[var2].getMaxStackSize() && this.mainInventory[var2].stackSize < this.getInventoryStackLimit()) { - return var2; - } - } - - return -1; - } - - private int getFirstEmptyStack() { - for(int var1 = 0; var1 < this.mainInventory.length; ++var1) { - if(this.mainInventory[var1] == null) { - return var1; - } - } - - return -1; - } - - public void setCurrentItem(int var1, boolean var2) { - int var3 = this.getInventorySlotContainItem(var1); - if(var3 >= 0 && var3 < 9) { - this.currentItem = var3; - } - } - - public void changeCurrentItem(int var1) { - if(var1 > 0) { - var1 = 1; - } - - if(var1 < 0) { - var1 = -1; - } - - for(this.currentItem -= var1; this.currentItem < 0; this.currentItem += 9) { - } - - while(this.currentItem >= 9) { - this.currentItem -= 9; - } - - } - - private int storePartialItemStack(int var1, int var2) { - int var3 = this.storeItemStack(var1); - if(var3 < 0) { - var3 = this.getFirstEmptyStack(); - } - - if(var3 < 0) { - return var2; - } else { - if(this.mainInventory[var3] == null) { - this.mainInventory[var3] = new ItemStack(var1, 0); - } - - int var4 = var2; - if(var2 > this.mainInventory[var3].getMaxStackSize() - this.mainInventory[var3].stackSize) { - var4 = this.mainInventory[var3].getMaxStackSize() - this.mainInventory[var3].stackSize; - } - - if(var4 > this.getInventoryStackLimit() - this.mainInventory[var3].stackSize) { - var4 = this.getInventoryStackLimit() - this.mainInventory[var3].stackSize; - } - - if(var4 == 0) { - return var2; - } else { - var2 -= var4; - this.mainInventory[var3].stackSize += var4; - this.mainInventory[var3].animationsToGo = 5; - return var2; - } - } - } - - public void decrementAnimations() { - for(int var1 = 0; var1 < this.mainInventory.length; ++var1) { - if(this.mainInventory[var1] != null && this.mainInventory[var1].animationsToGo > 0) { - --this.mainInventory[var1].animationsToGo; - } - } - - } - - public boolean consumeInventoryItem(int var1) { - int var2 = this.getInventorySlotContainItem(var1); - if(var2 < 0) { - return false; - } else { - if(--this.mainInventory[var2].stackSize <= 0) { - this.mainInventory[var2] = null; - } - - return true; - } - } - - public boolean addItemStackToInventory(ItemStack var1) { - if(var1.itemDmg == 0) { - var1.stackSize = this.storePartialItemStack(var1.itemID, var1.stackSize); - if(var1.stackSize == 0) { - return true; - } - } - - int var2 = this.getFirstEmptyStack(); - if(var2 >= 0) { - this.mainInventory[var2] = var1; - this.mainInventory[var2].animationsToGo = 5; - return true; - } else { - return false; - } - } - - public ItemStack decrStackSize(int var1, int var2) { - ItemStack[] var3 = this.mainInventory; - if(var1 >= this.mainInventory.length) { - var3 = this.armorInventory; - var1 -= this.mainInventory.length; - } - - if(var3[var1] != null) { - ItemStack var4; - if(var3[var1].stackSize <= var2) { - var4 = var3[var1]; - var3[var1] = null; - return var4; - } else { - var4 = var3[var1].splitStack(var2); - if(var3[var1].stackSize == 0) { - var3[var1] = null; - } - - return var4; - } - } else { - return null; - } - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - ItemStack[] var3 = this.mainInventory; - if(var1 >= this.mainInventory.length) { - var3 = this.armorInventory; - var1 -= this.mainInventory.length; - } - - var3[var1] = var2; - } - - public float getStrVsBlock(Block var1) { - float var2 = 1.0F; - if(this.mainInventory[this.currentItem] != null) { - var2 *= this.mainInventory[this.currentItem].getStrVsBlock(var1); - } - - return var2; - } - - public NBTTagList writeToNBT(NBTTagList var1) { - int var2; - NBTTagCompound var3; - for(var2 = 0; var2 < this.mainInventory.length; ++var2) { - if(this.mainInventory[var2] != null) { - var3 = new NBTTagCompound(); - var3.setByte("Slot", (byte)var2); - this.mainInventory[var2].writeToNBT(var3); - var1.setTag(var3); - } - } - - for(var2 = 0; var2 < this.armorInventory.length; ++var2) { - if(this.armorInventory[var2] != null) { - var3 = new NBTTagCompound(); - var3.setByte("Slot", (byte)(var2 + 100)); - this.armorInventory[var2].writeToNBT(var3); - var1.setTag(var3); - } - } - - return var1; - } - - public void readFromNBT(NBTTagList var1) { - this.mainInventory = new ItemStack[36]; - this.armorInventory = new ItemStack[4]; - - for(int var2 = 0; var2 < var1.tagCount(); ++var2) { - NBTTagCompound var3 = (NBTTagCompound)var1.tagAt(var2); - int var4 = var3.getByte("Slot") & 255; - if(var4 >= 0 && var4 < this.mainInventory.length) { - this.mainInventory[var4] = new ItemStack(var3); - } - - if(var4 >= 100 && var4 < this.armorInventory.length + 100) { - this.armorInventory[var4 - 100] = new ItemStack(var3); - } - } - - } - - public int getSizeInventory() { - return this.mainInventory.length + 4; - } - - public ItemStack getStackInSlot(int var1) { - ItemStack[] var2 = this.mainInventory; - if(var1 >= this.mainInventory.length) { - var2 = this.armorInventory; - var1 -= this.mainInventory.length; - } - - return var2[var1]; - } - - public String getInvName() { - return "Inventory"; - } - - public int getInventoryStackLimit() { - return 64; - } - - public int getDamageVsEntity(Entity var1) { - ItemStack var2 = this.getStackInSlot(this.currentItem); - return var2 != null ? var2.getDamageVsEntity(var1) : 1; - } - - public boolean canHarvestBlock(Block var1) { - if(var1.blockMaterial != Material.rock && var1.blockMaterial != Material.iron) { - return true; - } else { - ItemStack var2 = this.getStackInSlot(this.currentItem); - return var2 != null ? var2.canHarvestBlock(var1) : false; - } - } - - public ItemStack armorItemInSlot(int var1) { - return this.armorInventory[var1]; - } - - public int getTotalArmorValue() { - int var1 = 0; - int var2 = 0; - int var3 = 0; - - for(int var4 = 0; var4 < this.armorInventory.length; ++var4) { - if(this.armorInventory[var4] != null && this.armorInventory[var4].getItem() instanceof ItemArmor) { - int var5 = this.armorInventory[var4].getMaxDamage(); - int var6 = this.armorInventory[var4].itemDmg; - int var7 = var5 - var6; - var2 += var7; - var3 += var5; - int var8 = ((ItemArmor)this.armorInventory[var4].getItem()).damageReduceAmount; - var1 += var8; - } - } - - if(var3 == 0) { - return 0; - } else { - return (var1 - 1) * var2 / var3 + 1; - } - } - - public void damageArmor(int var1) { - for(int var2 = 0; var2 < this.armorInventory.length; ++var2) { - if(this.armorInventory[var2] != null && this.armorInventory[var2].getItem() instanceof ItemArmor) { - this.armorInventory[var2].damageItem(var1); - if(this.armorInventory[var2].stackSize == 0) { - this.armorInventory[var2].onItemDestroyedByUse(this.player); - this.armorInventory[var2] = null; - } - } - } - - } - - public void dropAllItems() { - int var1; - for(var1 = 0; var1 < this.mainInventory.length; ++var1) { - if(this.mainInventory[var1] != null) { - this.player.dropPlayerItemWithRandomChoice(this.mainInventory[var1], true); - this.mainInventory[var1] = null; - } - } - - for(var1 = 0; var1 < this.armorInventory.length; ++var1) { - if(this.armorInventory[var1] != null) { - this.player.dropPlayerItemWithRandomChoice(this.armorInventory[var1], true); - this.armorInventory[var1] = null; - } - } - - } - - public void onInventoryChanged() { - } -} diff --git a/src/main/java/net/minecraft/src/IsoImageBuffer.java b/src/main/java/net/minecraft/src/IsoImageBuffer.java deleted file mode 100644 index 51bd4c2..0000000 --- a/src/main/java/net/minecraft/src/IsoImageBuffer.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.awt.image.BufferedImage; - -public class IsoImageBuffer { - public BufferedImage image; - public World level; - public int chunkX; - public int chunkZ; - public boolean rendered = false; - public boolean noContent = false; - public int lastVisible = 0; - public boolean addedToRenderQueue = false; - - public IsoImageBuffer(World var1, int var2, int var3) { - this.level = var1; - this.setChunkPosition(var2, var3); - } - - public void setChunkPosition(int var1, int var2) { - this.rendered = false; - this.chunkX = var1; - this.chunkZ = var2; - this.lastVisible = 0; - this.addedToRenderQueue = false; - } - - public void setWorldAndChunkPosition(World var1, int var2, int var3) { - this.level = var1; - this.setChunkPosition(var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/Item.java b/src/main/java/net/minecraft/src/Item.java deleted file mode 100644 index 5f953d1..0000000 --- a/src/main/java/net/minecraft/src/Item.java +++ /dev/null @@ -1,141 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class Item { - protected static Random itemRand = new Random(); - public static Item[] itemsList = new Item[1024]; - public static Item shovel = (new ItemSpade(0, 2)).setIconIndex(82); - public static Item pickaxeSteel = (new ItemPickaxe(1, 2)).setIconIndex(98); - public static Item axeSteel = (new ItemAxe(2, 2)).setIconIndex(114); - public static Item striker = (new ItemFlintAndSteel(3)).setIconIndex(5); - public static Item appleRed = (new ItemFood(4, 4)).setIconIndex(10); - public static Item bow = (new ItemBow(5)).setIconIndex(21); - public static Item arrow = (new Item(6)).setIconIndex(37); - public static Item coal = (new Item(7)).setIconIndex(7); - public static Item diamond = (new Item(8)).setIconIndex(55); - public static Item ingotIron = (new Item(9)).setIconIndex(23); - public static Item ingotGold = (new Item(10)).setIconIndex(39); - public static Item swordSteel = (new ItemSword(11, 2)).setIconIndex(66); - public static Item swordWood = (new ItemSword(12, 0)).setIconIndex(64); - public static Item shovelWood = (new ItemSpade(13, 0)).setIconIndex(80); - public static Item pickaxeWood = (new ItemPickaxe(14, 0)).setIconIndex(96); - public static Item axeWood = (new ItemAxe(15, 0)).setIconIndex(112); - public static Item swordStone = (new ItemSword(16, 1)).setIconIndex(65); - public static Item shovelStone = (new ItemSpade(17, 1)).setIconIndex(81); - public static Item pickaxeStone = (new ItemPickaxe(18, 1)).setIconIndex(97); - public static Item axeStone = (new ItemAxe(19, 1)).setIconIndex(113); - public static Item swordDiamond = (new ItemSword(20, 3)).setIconIndex(67); - public static Item shovelDiamond = (new ItemSpade(21, 3)).setIconIndex(83); - public static Item pickaxeDiamond = (new ItemPickaxe(22, 3)).setIconIndex(99); - public static Item axeDiamond = (new ItemAxe(23, 3)).setIconIndex(115); - public static Item stick = (new Item(24)).setIconIndex(53); - public static Item bowlEmpty = (new Item(25)).setIconIndex(71); - public static Item bowlSoup = (new ItemSoup(26, 10)).setIconIndex(72); - public static Item swordGold = (new ItemSword(27, 0)).setIconIndex(68); - public static Item shovelGold = (new ItemSpade(28, 0)).setIconIndex(84); - public static Item pickaxeGold = (new ItemPickaxe(29, 0)).setIconIndex(100); - public static Item axeGold = (new ItemAxe(30, 0)).setIconIndex(116); - public static Item silk = (new Item(31)).setIconIndex(8); - public static Item feather = (new Item(32)).setIconIndex(24); - public static Item gunpowder = (new Item(33)).setIconIndex(40); - public static Item hoeWood = (new ItemHoe(34, 0)).setIconIndex(128); - public static Item hoeStone = (new ItemHoe(35, 1)).setIconIndex(129); - public static Item hoeSteel = (new ItemHoe(36, 2)).setIconIndex(130); - public static Item hoeDiamond = (new ItemHoe(37, 3)).setIconIndex(131); - public static Item hoeGold = (new ItemHoe(38, 4)).setIconIndex(132); - public static Item seeds = (new ItemSeeds(39, Block.crops.blockID)).setIconIndex(9); - public static Item wheat = (new Item(40)).setIconIndex(25); - public static Item bread = (new ItemFood(41, 5)).setIconIndex(41); - public static Item helmetLeather = (new ItemArmor(42, 0, 0, 0)).setIconIndex(0); - public static Item plateLeather = (new ItemArmor(43, 0, 0, 1)).setIconIndex(16); - public static Item legsLeather = (new ItemArmor(44, 0, 0, 2)).setIconIndex(32); - public static Item bootsLeather = (new ItemArmor(45, 0, 0, 3)).setIconIndex(48); - public static Item helmetChain = (new ItemArmor(46, 1, 1, 0)).setIconIndex(1); - public static Item plateChain = (new ItemArmor(47, 1, 1, 1)).setIconIndex(17); - public static Item legsChain = (new ItemArmor(48, 1, 1, 2)).setIconIndex(33); - public static Item bootsChain = (new ItemArmor(49, 1, 1, 3)).setIconIndex(49); - public static Item helmetSteel = (new ItemArmor(50, 2, 2, 0)).setIconIndex(2); - public static Item plateSteel = (new ItemArmor(51, 2, 2, 1)).setIconIndex(18); - public static Item legsSteel = (new ItemArmor(52, 2, 2, 2)).setIconIndex(34); - public static Item bootsSteel = (new ItemArmor(53, 2, 2, 3)).setIconIndex(50); - public static Item helmetDiamond = (new ItemArmor(54, 3, 3, 0)).setIconIndex(3); - public static Item plateDiamonhd = (new ItemArmor(55, 3, 3, 1)).setIconIndex(19); - public static Item legsDiamond = (new ItemArmor(56, 3, 3, 2)).setIconIndex(35); - public static Item bootsDiamond = (new ItemArmor(57, 3, 3, 3)).setIconIndex(51); - public static Item helmetGold = (new ItemArmor(58, 1, 4, 0)).setIconIndex(4); - public static Item plateGold = (new ItemArmor(59, 1, 4, 1)).setIconIndex(20); - public static Item legsGold = (new ItemArmor(60, 1, 4, 2)).setIconIndex(36); - public static Item bootsGold = (new ItemArmor(61, 1, 4, 3)).setIconIndex(52); - public static Item flint = (new Item(62)).setIconIndex(6); - public static Item porkRaw = (new ItemFood(63, 3)).setIconIndex(87); - public static Item porkCooked = (new ItemFood(64, 8)).setIconIndex(88); - public static Item painting = (new ItemPainting(65)).setIconIndex(26); - public static Item appleGold = (new ItemFood(66, 42)).setIconIndex(11); - public static Item sign = (new ItemSign(67)).setIconIndex(42); - public static Item door = (new ItemDoor(68)).setIconIndex(43); - public static Item bucketEmpty = (new ItemBucket(69, 0)).setIconIndex(74); - public static Item bucketWater = (new ItemBucket(70, Block.waterMoving.blockID)).setIconIndex(75); - public static Item bucketLava = (new ItemBucket(71, Block.lavaMoving.blockID)).setIconIndex(76); - public static Item minecart = (new ItemMinecart(72)).setIconIndex(135); - public static Item saddle = (new ItemSaddle(73)).setIconIndex(104); - public final int shiftedIndex; - protected int maxStackSize = 64; - protected int maxDamage = 32; - protected int iconIndex; - - protected Item(int var1) { - this.shiftedIndex = 256 + var1; - if(itemsList[256 + var1] != null) { - System.out.println("CONFLICT @ " + var1); - } - - itemsList[256 + var1] = this; - } - - public Item setIconIndex(int var1) { - this.iconIndex = var1; - return this; - } - - public int getIconFromDamage(ItemStack var1) { - return this.iconIndex; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - return false; - } - - public float getStrVsBlock(ItemStack var1, Block var2) { - return 1.0F; - } - - public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) { - return var1; - } - - public int getItemStackLimit() { - return this.maxStackSize; - } - - public int getMaxDamage() { - return this.maxDamage; - } - - public void hitEntity(ItemStack var1, EntityLiving var2) { - } - - public void onBlockDestroyed(ItemStack var1, int var2, int var3, int var4, int var5) { - } - - public int getDamageVsEntity(Entity var1) { - return 1; - } - - public boolean canHarvestBlock(Block var1) { - return false; - } - - public void saddleEntity(ItemStack var1, EntityLiving var2) { - } -} diff --git a/src/main/java/net/minecraft/src/ItemArmor.java b/src/main/java/net/minecraft/src/ItemArmor.java deleted file mode 100644 index e267b4d..0000000 --- a/src/main/java/net/minecraft/src/ItemArmor.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.minecraft.src; - -public class ItemArmor extends Item { - private static final int[] damageReduceAmountArray = new int[]{3, 8, 6, 3}; - private static final int[] maxDamageArray = new int[]{11, 16, 15, 13}; - public final int armorLevel; - public final int armorType; - public final int damageReduceAmount; - public final int renderIndex; - - public ItemArmor(int var1, int var2, int var3, int var4) { - super(var1); - this.armorLevel = var2; - this.armorType = var4; - this.renderIndex = var3; - this.damageReduceAmount = damageReduceAmountArray[var4]; - this.maxDamage = maxDamageArray[var4] * 3 << var2; - this.maxStackSize = 1; - } -} diff --git a/src/main/java/net/minecraft/src/ItemAxe.java b/src/main/java/net/minecraft/src/ItemAxe.java deleted file mode 100644 index 69fdc7d..0000000 --- a/src/main/java/net/minecraft/src/ItemAxe.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minecraft.src; - -public class ItemAxe extends ItemTool { - private static Block[] blocksEffectiveAgainst = new Block[]{Block.planks, Block.bookshelf, Block.wood, Block.chest}; - - public ItemAxe(int var1, int var2) { - super(var1, 3, var2, blocksEffectiveAgainst); - } -} diff --git a/src/main/java/net/minecraft/src/ItemBlock.java b/src/main/java/net/minecraft/src/ItemBlock.java deleted file mode 100644 index 5d15793..0000000 --- a/src/main/java/net/minecraft/src/ItemBlock.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.minecraft.src; - -public class ItemBlock extends Item { - private int blockID; - - public ItemBlock(int var1) { - super(var1); - this.blockID = var1 + 256; - this.setIconIndex(Block.blocksList[var1 + 256].getBlockTextureFromSide(2)); - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - if(var7 == 0) { - --var5; - } - - if(var7 == 1) { - ++var5; - } - - if(var7 == 2) { - --var6; - } - - if(var7 == 3) { - ++var6; - } - - if(var7 == 4) { - --var4; - } - - if(var7 == 5) { - ++var4; - } - - if(var1.stackSize == 0) { - return false; - } else { - if(var3.canBlockBePlacedAt(this.blockID, var4, var5, var6, false)) { - Block var8 = Block.blocksList[this.blockID]; - if(var3.setBlockWithNotify(var4, var5, var6, this.blockID)) { - Block.blocksList[this.blockID].onBlockPlaced(var3, var4, var5, var6, var7); - var3.playSoundEffect((double)((float)var4 + 0.5F), (double)((float)var5 + 0.5F), (double)((float)var6 + 0.5F), var8.stepSound.getStepSound(), (var8.stepSound.getVolume() + 1.0F) / 2.0F, var8.stepSound.getPitch() * 0.8F); - --var1.stackSize; - } - } - - return true; - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemBow.java b/src/main/java/net/minecraft/src/ItemBow.java deleted file mode 100644 index 3b7d240..0000000 --- a/src/main/java/net/minecraft/src/ItemBow.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class ItemBow extends Item { - public ItemBow(int var1) { - super(var1); - this.maxStackSize = 1; - } - - public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) { - if(var3.inventory.consumeInventoryItem(Item.arrow.shiftedIndex)) { - var2.playSoundAtEntity(var3, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 0.8F)); - var2.spawnEntityInWorld(new EntityArrow(var2, var3)); - } - - return var1; - } -} diff --git a/src/main/java/net/minecraft/src/ItemBucket.java b/src/main/java/net/minecraft/src/ItemBucket.java deleted file mode 100644 index 47af484..0000000 --- a/src/main/java/net/minecraft/src/ItemBucket.java +++ /dev/null @@ -1,82 +0,0 @@ -package net.minecraft.src; - -public class ItemBucket extends Item { - private int isFull; - - public ItemBucket(int var1, int var2) { - super(var1); - this.maxStackSize = 1; - this.maxDamage = 64; - this.isFull = var2; - } - - public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) { - float var4 = 1.0F; - float var5 = var3.prevRotationPitch + (var3.rotationPitch - var3.prevRotationPitch) * var4; - float var6 = var3.prevRotationYaw + (var3.rotationYaw - var3.prevRotationYaw) * var4; - double var7 = var3.prevPosX + (var3.posX - var3.prevPosX) * (double)var4; - double var9 = var3.prevPosY + (var3.posY - var3.prevPosY) * (double)var4; - double var11 = var3.prevPosZ + (var3.posZ - var3.prevPosZ) * (double)var4; - Vec3D var13 = Vec3D.createVector(var7, var9, var11); - float var14 = MathHelper.cos(-var6 * ((float)Math.PI / 180.0F) - (float)Math.PI); - float var15 = MathHelper.sin(-var6 * ((float)Math.PI / 180.0F) - (float)Math.PI); - float var16 = -MathHelper.cos(-var5 * ((float)Math.PI / 180.0F)); - float var17 = MathHelper.sin(-var5 * ((float)Math.PI / 180.0F)); - float var18 = var15 * var16; - float var20 = var14 * var16; - double var21 = 5.0D; - Vec3D var23 = var13.addVector((double)var18 * var21, (double)var17 * var21, (double)var20 * var21); - MovingObjectPosition var24 = var2.rayTraceBlocks_do(var13, var23, this.isFull == 0); - if(var24 == null) { - return var1; - } else { - if(var24.typeOfHit == 0) { - int var25 = var24.blockX; - int var26 = var24.blockY; - int var27 = var24.blockZ; - if(this.isFull == 0) { - if(var2.getBlockMaterial(var25, var26, var27) == Material.water && var2.getBlockMetadata(var25, var26, var27) == 0) { - var2.setBlockWithNotify(var25, var26, var27, 0); - return new ItemStack(Item.bucketWater); - } - - if(var2.getBlockMaterial(var25, var26, var27) == Material.lava && var2.getBlockMetadata(var25, var26, var27) == 0) { - var2.setBlockWithNotify(var25, var26, var27, 0); - return new ItemStack(Item.bucketLava); - } - } else { - if(var24.sideHit == 0) { - --var26; - } - - if(var24.sideHit == 1) { - ++var26; - } - - if(var24.sideHit == 2) { - --var27; - } - - if(var24.sideHit == 3) { - ++var27; - } - - if(var24.sideHit == 4) { - --var25; - } - - if(var24.sideHit == 5) { - ++var25; - } - - if(var2.getBlockId(var25, var26, var27) == 0 || !var2.getBlockMaterial(var25, var26, var27).isSolid()) { - var2.setBlockAndMetadataWithNotify(var25, var26, var27, this.isFull, 0); - return new ItemStack(Item.bucketEmpty); - } - } - } - - return var1; - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemDoor.java b/src/main/java/net/minecraft/src/ItemDoor.java deleted file mode 100644 index 95d9d03..0000000 --- a/src/main/java/net/minecraft/src/ItemDoor.java +++ /dev/null @@ -1,62 +0,0 @@ -package net.minecraft.src; - -public class ItemDoor extends Item { - public ItemDoor(int var1) { - super(var1); - this.maxDamage = 64; - this.maxStackSize = 1; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - if(var7 != 1) { - return false; - } else { - ++var5; - if(!Block.doorWood.canPlaceBlockAt(var3, var4, var5, var6)) { - return false; - } else { - int var8 = MathHelper.floor_double((double)((var2.rotationYaw + 180.0F) * 4.0F / 360.0F) - 0.5D) & 3; - byte var9 = 0; - byte var10 = 0; - if(var8 == 0) { - var10 = 1; - } - - if(var8 == 1) { - var9 = -1; - } - - if(var8 == 2) { - var10 = -1; - } - - if(var8 == 3) { - var9 = 1; - } - - int var11 = (var3.isBlockNormalCube(var4 - var9, var5, var6 - var10) ? 1 : 0) + (var3.isBlockNormalCube(var4 - var9, var5 + 1, var6 - var10) ? 1 : 0); - int var12 = (var3.isBlockNormalCube(var4 + var9, var5, var6 + var10) ? 1 : 0) + (var3.isBlockNormalCube(var4 + var9, var5 + 1, var6 + var10) ? 1 : 0); - boolean var13 = var3.getBlockId(var4 - var9, var5, var6 - var10) == Block.doorWood.blockID || var3.getBlockId(var4 - var9, var5 + 1, var6 - var10) == Block.doorWood.blockID; - boolean var14 = var3.getBlockId(var4 + var9, var5, var6 + var10) == Block.doorWood.blockID || var3.getBlockId(var4 + var9, var5 + 1, var6 + var10) == Block.doorWood.blockID; - boolean var15 = false; - if(var13 && !var14) { - var15 = true; - } else if(var12 > var11) { - var15 = true; - } - - if(var15) { - var8 = var8 - 1 & 3; - var8 += 4; - } - - var3.setBlockWithNotify(var4, var5, var6, Block.doorWood.blockID); - var3.setBlockMetadataWithNotify(var4, var5, var6, var8); - var3.setBlockWithNotify(var4, var5 + 1, var6, Block.doorWood.blockID); - var3.setBlockMetadataWithNotify(var4, var5 + 1, var6, var8 + 8); - --var1.stackSize; - return true; - } - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemFlintAndSteel.java b/src/main/java/net/minecraft/src/ItemFlintAndSteel.java deleted file mode 100644 index cd682fc..0000000 --- a/src/main/java/net/minecraft/src/ItemFlintAndSteel.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.minecraft.src; - -public class ItemFlintAndSteel extends Item { - public ItemFlintAndSteel(int var1) { - super(var1); - this.maxStackSize = 1; - this.maxDamage = 64; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - if(var7 == 0) { - --var5; - } - - if(var7 == 1) { - ++var5; - } - - if(var7 == 2) { - --var6; - } - - if(var7 == 3) { - ++var6; - } - - if(var7 == 4) { - --var4; - } - - if(var7 == 5) { - ++var4; - } - - int var8 = var3.getBlockId(var4, var5, var6); - if(var8 == 0) { - var3.playSoundEffect((double)var4 + 0.5D, (double)var5 + 0.5D, (double)var6 + 0.5D, "fire.ignite", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F); - var3.setBlockWithNotify(var4, var5, var6, Block.fire.blockID); - } - - var1.damageItem(1); - return true; - } -} diff --git a/src/main/java/net/minecraft/src/ItemFood.java b/src/main/java/net/minecraft/src/ItemFood.java deleted file mode 100644 index d0b8bf9..0000000 --- a/src/main/java/net/minecraft/src/ItemFood.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class ItemFood extends Item { - private int healAmount; - - public ItemFood(int var1, int var2) { - super(var1); - this.healAmount = var2; - this.maxStackSize = 1; - } - - public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) { - --var1.stackSize; - var3.heal(this.healAmount); - return var1; - } -} diff --git a/src/main/java/net/minecraft/src/ItemHoe.java b/src/main/java/net/minecraft/src/ItemHoe.java deleted file mode 100644 index 6e2a795..0000000 --- a/src/main/java/net/minecraft/src/ItemHoe.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.minecraft.src; - -public class ItemHoe extends Item { - public ItemHoe(int var1, int var2) { - super(var1); - this.maxStackSize = 1; - this.maxDamage = 32 << var2; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - int var8 = var3.getBlockId(var4, var5, var6); - Material var9 = var3.getBlockMaterial(var4, var5 + 1, var6); - if((var9.isSolid() || var8 != Block.grass.blockID) && var8 != Block.dirt.blockID) { - return false; - } else { - Block var10 = Block.tilledField; - var3.playSoundEffect((double)((float)var4 + 0.5F), (double)((float)var5 + 0.5F), (double)((float)var6 + 0.5F), var10.stepSound.getStepSound(), (var10.stepSound.getVolume() + 1.0F) / 2.0F, var10.stepSound.getPitch() * 0.8F); - var3.setBlockWithNotify(var4, var5, var6, var10.blockID); - var1.damageItem(1); - if(var3.rand.nextInt(8) == 0 && var8 == Block.grass.blockID) { - byte var11 = 1; - - for(int var12 = 0; var12 < var11; ++var12) { - float var13 = 0.7F; - float var14 = var3.rand.nextFloat() * var13 + (1.0F - var13) * 0.5F; - float var15 = 1.2F; - float var16 = var3.rand.nextFloat() * var13 + (1.0F - var13) * 0.5F; - EntityItem var17 = new EntityItem(var3, (double)((float)var4 + var14), (double)((float)var5 + var15), (double)((float)var6 + var16), new ItemStack(Item.seeds)); - var17.delayBeforeCanPickup = 10; - var3.spawnEntityInWorld(var17); - } - } - - return true; - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemMinecart.java b/src/main/java/net/minecraft/src/ItemMinecart.java deleted file mode 100644 index 2aa4d3f..0000000 --- a/src/main/java/net/minecraft/src/ItemMinecart.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.minecraft.src; - -public class ItemMinecart extends Item { - public ItemMinecart(int var1) { - super(var1); - this.maxStackSize = 1; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - int var8 = var3.getBlockId(var4, var5, var6); - if(var8 == Block.minecartTrack.blockID) { - var3.spawnEntityInWorld(new EntityMinecart(var3, (double)((float)var4 + 0.5F), (double)((float)var5 + 0.5F), (double)((float)var6 + 0.5F))); - --var1.stackSize; - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemPainting.java b/src/main/java/net/minecraft/src/ItemPainting.java deleted file mode 100644 index 8cfa711..0000000 --- a/src/main/java/net/minecraft/src/ItemPainting.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.minecraft.src; - -public class ItemPainting extends Item { - public ItemPainting(int var1) { - super(var1); - this.maxDamage = 64; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - if(var7 == 0) { - return false; - } else if(var7 == 1) { - return false; - } else { - byte var8 = 0; - if(var7 == 4) { - var8 = 1; - } - - if(var7 == 3) { - var8 = 2; - } - - if(var7 == 5) { - var8 = 3; - } - - EntityPainting var9 = new EntityPainting(var3, var4, var5, var6, var8); - if(var9.onValidSurface()) { - var3.spawnEntityInWorld(var9); - --var1.stackSize; - } - - return true; - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemPickaxe.java b/src/main/java/net/minecraft/src/ItemPickaxe.java deleted file mode 100644 index a5a9ab6..0000000 --- a/src/main/java/net/minecraft/src/ItemPickaxe.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public class ItemPickaxe extends ItemTool { - private static Block[] blocksEffectiveAgainst = new Block[]{Block.cobblestone, Block.stairDouble, Block.stairSingle, Block.stone, Block.cobblestoneMossy, Block.oreIron, Block.blockSteel, Block.oreCoal, Block.blockGold, Block.oreGold, Block.oreDiamond, Block.blockDiamond}; - private int getHarvestLevel; - - public ItemPickaxe(int var1, int var2) { - super(var1, 2, var2, blocksEffectiveAgainst); - this.getHarvestLevel = var2; - } - - public boolean canHarvestBlock(Block var1) { - return var1 == Block.obsidian ? this.getHarvestLevel == 3 : (var1 != Block.blockDiamond && var1 != Block.oreDiamond ? (var1 != Block.blockGold && var1 != Block.oreGold ? (var1 != Block.blockSteel && var1 != Block.oreIron ? (var1.blockMaterial == Material.rock ? true : var1.blockMaterial == Material.iron) : this.getHarvestLevel >= 1) : this.getHarvestLevel >= 2) : this.getHarvestLevel >= 2); - } -} diff --git a/src/main/java/net/minecraft/src/ItemRenderer.java b/src/main/java/net/minecraft/src/ItemRenderer.java deleted file mode 100644 index 1d1a353..0000000 --- a/src/main/java/net/minecraft/src/ItemRenderer.java +++ /dev/null @@ -1,361 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class ItemRenderer { - private Minecraft mc; - private ItemStack itemToRender = null; - private float equippedProgress = 0.0F; - private float prevEquippedProgress = 0.0F; - private int swingProgress = 0; - private boolean itemSwingState = false; - private RenderBlocks renderBlocksInstance = new RenderBlocks(); - - public ItemRenderer(Minecraft var1) { - this.mc = var1; - } - - public void renderItemInFirstPerson(float var1) { - float var2 = this.prevEquippedProgress + (this.equippedProgress - this.prevEquippedProgress) * var1; - EntityPlayerSP var3 = this.mc.thePlayer; - GL11.glPushMatrix(); - GL11.glRotatef(var3.prevRotationPitch + (var3.rotationPitch - var3.prevRotationPitch) * var1, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(var3.prevRotationYaw + (var3.rotationYaw - var3.prevRotationYaw) * var1, 0.0F, 1.0F, 0.0F); - RenderHelper.enableStandardItemLighting(); - GL11.glPopMatrix(); - float var4 = this.mc.theWorld.getBrightness(MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ)); - GL11.glColor4f(var4, var4, var4, 1.0F); - float var5; - float var6; - float var7; - float var8; - if(this.itemToRender != null) { - GL11.glPushMatrix(); - var5 = 0.8F; - if(this.itemSwingState) { - var6 = ((float)this.swingProgress + var1) / 8.0F; - var7 = MathHelper.sin(var6 * (float)Math.PI); - var8 = MathHelper.sin(MathHelper.sqrt_float(var6) * (float)Math.PI); - GL11.glTranslatef(-var8 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(var6) * (float)Math.PI * 2.0F) * 0.2F, -var7 * 0.2F); - } - - GL11.glTranslatef(0.7F * var5, -0.65F * var5 - (1.0F - var2) * 0.6F, -0.9F * var5); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - if(this.itemSwingState) { - var6 = ((float)this.swingProgress + var1) / 8.0F; - var7 = MathHelper.sin(var6 * var6 * (float)Math.PI); - var8 = MathHelper.sin(MathHelper.sqrt_float(var6) * (float)Math.PI); - GL11.glRotatef(-var7 * 20.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-var8 * 20.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(-var8 * 80.0F, 1.0F, 0.0F, 0.0F); - } - - var6 = 0.4F; - GL11.glScalef(var6, var6, var6); - if(this.itemToRender.itemID < 256 && Block.blocksList[this.itemToRender.itemID].getRenderType() == 0) { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png")); - this.renderBlocksInstance.renderBlockOnInventory(Block.blocksList[this.itemToRender.itemID]); - } else { - if(this.itemToRender.itemID < 256) { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/terrain.png")); - } else { - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTexture("/gui/items.png")); - } - - Tessellator var22 = Tessellator.instance; - var8 = (float)(this.itemToRender.getIconIndex() % 16 * 16 + 0) / 256.0F; - float var9 = (float)(this.itemToRender.getIconIndex() % 16 * 16 + 16) / 256.0F; - float var10 = (float)(this.itemToRender.getIconIndex() / 16 * 16 + 0) / 256.0F; - float var11 = (float)(this.itemToRender.getIconIndex() / 16 * 16 + 16) / 256.0F; - float var12 = 1.0F; - float var13 = 0.0F; - float var14 = 0.3F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glTranslatef(-var13, -var14, 0.0F); - float var15 = 1.5F; - GL11.glScalef(var15, var15, var15); - GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-(15.0F / 16.0F), -(1.0F / 16.0F), 0.0F); - float var16 = 1.0F / 16.0F; - var22.startDrawingQuads(); - var22.setNormal(0.0F, 0.0F, 1.0F); - var22.addVertexWithUV(0.0D, 0.0D, 0.0D, (double)var9, (double)var11); - var22.addVertexWithUV((double)var12, 0.0D, 0.0D, (double)var8, (double)var11); - var22.addVertexWithUV((double)var12, 1.0D, 0.0D, (double)var8, (double)var10); - var22.addVertexWithUV(0.0D, 1.0D, 0.0D, (double)var9, (double)var10); - var22.draw(); - var22.startDrawingQuads(); - var22.setNormal(0.0F, 0.0F, -1.0F); - var22.addVertexWithUV(0.0D, 1.0D, (double)(0.0F - var16), (double)var9, (double)var10); - var22.addVertexWithUV((double)var12, 1.0D, (double)(0.0F - var16), (double)var8, (double)var10); - var22.addVertexWithUV((double)var12, 0.0D, (double)(0.0F - var16), (double)var8, (double)var11); - var22.addVertexWithUV(0.0D, 0.0D, (double)(0.0F - var16), (double)var9, (double)var11); - var22.draw(); - var22.startDrawingQuads(); - var22.setNormal(-1.0F, 0.0F, 0.0F); - - int var17; - float var18; - float var19; - float var20; - for(var17 = 0; var17 < 16; ++var17) { - var18 = (float)var17 / 16.0F; - var19 = var9 + (var8 - var9) * var18 - 0.001953125F; - var20 = var12 * var18; - var22.addVertexWithUV((double)var20, 0.0D, (double)(0.0F - var16), (double)var19, (double)var11); - var22.addVertexWithUV((double)var20, 0.0D, 0.0D, (double)var19, (double)var11); - var22.addVertexWithUV((double)var20, 1.0D, 0.0D, (double)var19, (double)var10); - var22.addVertexWithUV((double)var20, 1.0D, (double)(0.0F - var16), (double)var19, (double)var10); - } - - var22.draw(); - var22.startDrawingQuads(); - var22.setNormal(1.0F, 0.0F, 0.0F); - - for(var17 = 0; var17 < 16; ++var17) { - var18 = (float)var17 / 16.0F; - var19 = var9 + (var8 - var9) * var18 - 0.001953125F; - var20 = var12 * var18 + 1.0F / 16.0F; - var22.addVertexWithUV((double)var20, 1.0D, (double)(0.0F - var16), (double)var19, (double)var10); - var22.addVertexWithUV((double)var20, 1.0D, 0.0D, (double)var19, (double)var10); - var22.addVertexWithUV((double)var20, 0.0D, 0.0D, (double)var19, (double)var11); - var22.addVertexWithUV((double)var20, 0.0D, (double)(0.0F - var16), (double)var19, (double)var11); - } - - var22.draw(); - var22.startDrawingQuads(); - var22.setNormal(0.0F, 1.0F, 0.0F); - - for(var17 = 0; var17 < 16; ++var17) { - var18 = (float)var17 / 16.0F; - var19 = var11 + (var10 - var11) * var18 - 0.001953125F; - var20 = var12 * var18 + 1.0F / 16.0F; - var22.addVertexWithUV(0.0D, (double)var20, 0.0D, (double)var9, (double)var19); - var22.addVertexWithUV((double)var12, (double)var20, 0.0D, (double)var8, (double)var19); - var22.addVertexWithUV((double)var12, (double)var20, (double)(0.0F - var16), (double)var8, (double)var19); - var22.addVertexWithUV(0.0D, (double)var20, (double)(0.0F - var16), (double)var9, (double)var19); - } - - var22.draw(); - var22.startDrawingQuads(); - var22.setNormal(0.0F, -1.0F, 0.0F); - - for(var17 = 0; var17 < 16; ++var17) { - var18 = (float)var17 / 16.0F; - var19 = var11 + (var10 - var11) * var18 - 0.001953125F; - var20 = var12 * var18; - var22.addVertexWithUV((double)var12, (double)var20, 0.0D, (double)var8, (double)var19); - var22.addVertexWithUV(0.0D, (double)var20, 0.0D, (double)var9, (double)var19); - var22.addVertexWithUV(0.0D, (double)var20, (double)(0.0F - var16), (double)var9, (double)var19); - var22.addVertexWithUV((double)var12, (double)var20, (double)(0.0F - var16), (double)var8, (double)var19); - } - - var22.draw(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } - - GL11.glPopMatrix(); - } else { - GL11.glPushMatrix(); - var5 = 0.8F; - if(this.itemSwingState) { - var6 = ((float)this.swingProgress + var1) / 8.0F; - var7 = MathHelper.sin(var6 * (float)Math.PI); - var8 = MathHelper.sin(MathHelper.sqrt_float(var6) * (float)Math.PI); - GL11.glTranslatef(-var8 * 0.3F, MathHelper.sin(MathHelper.sqrt_float(var6) * (float)Math.PI * 2.0F) * 0.4F, -var7 * 0.4F); - } - - GL11.glTranslatef(0.8F * var5, -(12.0F / 16.0F) * var5 - (1.0F - var2) * 0.6F, -0.9F * var5); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - if(this.itemSwingState) { - var6 = ((float)this.swingProgress + var1) / 8.0F; - var7 = MathHelper.sin(var6 * var6 * (float)Math.PI); - var8 = MathHelper.sin(MathHelper.sqrt_float(var6) * (float)Math.PI); - GL11.glRotatef(var8 * 70.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-var7 * 20.0F, 0.0F, 0.0F, 1.0F); - } - - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTextureForDownloadableImage(this.mc.thePlayer.skinUrl, this.mc.thePlayer.getTexture())); - GL11.glTranslatef(-1.0F, 3.6F, 3.5F); - GL11.glRotatef(120.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(200.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); - GL11.glScalef(1.0F, 1.0F, 1.0F); - GL11.glTranslatef(5.6F, 0.0F, 0.0F); - Render var21 = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer); - RenderPlayer var23 = (RenderPlayer)var21; - var8 = 1.0F; - GL11.glScalef(var8, var8, var8); - var23.drawFirstPersonHand(); - GL11.glPopMatrix(); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - RenderHelper.disableStandardItemLighting(); - } - - public void renderOverlays(float var1) { - GL11.glDisable(GL11.GL_ALPHA_TEST); - int var2; - if(this.mc.thePlayer.fire > 0) { - var2 = this.mc.renderEngine.getTexture("/terrain.png"); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var2); - this.renderFireInFirstPerson(var1); - } - - if(this.mc.theWorld.playerEntity.isEntityInsideOpaqueBlock()) { - var2 = MathHelper.floor_double(this.mc.thePlayer.posX); - int var3 = MathHelper.floor_double(this.mc.thePlayer.posY); - int var4 = MathHelper.floor_double(this.mc.thePlayer.posZ); - int var5 = this.mc.renderEngine.getTexture("/terrain.png"); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var5); - int var6 = this.mc.theWorld.getBlockId(var2, var3, var4); - if(Block.blocksList[var6] != null) { - this.renderInsideOfBlock(var1, Block.blocksList[var6].getBlockTextureFromSide(2)); - } - } - - if(this.mc.thePlayer.isInsideOfMaterial(Material.water)) { - var2 = this.mc.renderEngine.getTexture("/water.png"); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var2); - this.renderWarpedTextureOverlay(var1); - } - - GL11.glEnable(GL11.GL_ALPHA_TEST); - } - - private void renderInsideOfBlock(float var1, int var2) { - Tessellator var3 = Tessellator.instance; - this.mc.thePlayer.getEntityBrightness(var1); - float var4 = 0.1F; - GL11.glColor4f(var4, var4, var4, 0.5F); - GL11.glPushMatrix(); - float var5 = -1.0F; - float var6 = 1.0F; - float var7 = -1.0F; - float var8 = 1.0F; - float var9 = -0.5F; - float var10 = 0.0078125F; - float var11 = (float)(var2 % 16) / 256.0F - var10; - float var12 = ((float)(var2 % 16) + 15.99F) / 256.0F + var10; - float var13 = (float)(var2 / 16) / 256.0F - var10; - float var14 = ((float)(var2 / 16) + 15.99F) / 256.0F + var10; - var3.startDrawingQuads(); - var3.addVertexWithUV((double)var5, (double)var7, (double)var9, (double)var12, (double)var14); - var3.addVertexWithUV((double)var6, (double)var7, (double)var9, (double)var11, (double)var14); - var3.addVertexWithUV((double)var6, (double)var8, (double)var9, (double)var11, (double)var13); - var3.addVertexWithUV((double)var5, (double)var8, (double)var9, (double)var12, (double)var13); - var3.draw(); - GL11.glPopMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } - - private void renderWarpedTextureOverlay(float var1) { - Tessellator var2 = Tessellator.instance; - float var3 = this.mc.thePlayer.getEntityBrightness(var1); - GL11.glColor4f(var3, var3, var3, 0.5F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glPushMatrix(); - float var4 = 4.0F; - float var5 = -1.0F; - float var6 = 1.0F; - float var7 = -1.0F; - float var8 = 1.0F; - float var9 = -0.5F; - float var10 = -this.mc.thePlayer.rotationYaw / 64.0F; - float var11 = this.mc.thePlayer.rotationPitch / 64.0F; - var2.startDrawingQuads(); - var2.addVertexWithUV((double)var5, (double)var7, (double)var9, (double)(var4 + var10), (double)(var4 + var11)); - var2.addVertexWithUV((double)var6, (double)var7, (double)var9, (double)(0.0F + var10), (double)(var4 + var11)); - var2.addVertexWithUV((double)var6, (double)var8, (double)var9, (double)(0.0F + var10), (double)(0.0F + var11)); - var2.addVertexWithUV((double)var5, (double)var8, (double)var9, (double)(var4 + var10), (double)(0.0F + var11)); - var2.draw(); - GL11.glPopMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - } - - private void renderFireInFirstPerson(float var1) { - Tessellator var2 = Tessellator.instance; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.9F); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - float var3 = 1.0F; - - for(int var4 = 0; var4 < 2; ++var4) { - GL11.glPushMatrix(); - int var5 = Block.fire.blockIndexInTexture + var4 * 16; - int var6 = (var5 & 15) << 4; - int var7 = var5 & 240; - float var8 = (float)var6 / 256.0F; - float var9 = ((float)var6 + 15.99F) / 256.0F; - float var10 = (float)var7 / 256.0F; - float var11 = ((float)var7 + 15.99F) / 256.0F; - float var12 = (0.0F - var3) / 2.0F; - float var13 = var12 + var3; - float var14 = 0.0F - var3 / 2.0F; - float var15 = var14 + var3; - float var16 = -0.5F; - GL11.glTranslatef((float)(-(var4 * 2 - 1)) * 0.24F, -0.3F, 0.0F); - GL11.glRotatef((float)(var4 * 2 - 1) * 10.0F, 0.0F, 1.0F, 0.0F); - var2.startDrawingQuads(); - var2.addVertexWithUV((double)var12, (double)var14, (double)var16, (double)var9, (double)var11); - var2.addVertexWithUV((double)var13, (double)var14, (double)var16, (double)var8, (double)var11); - var2.addVertexWithUV((double)var13, (double)var15, (double)var16, (double)var8, (double)var10); - var2.addVertexWithUV((double)var12, (double)var15, (double)var16, (double)var9, (double)var10); - var2.draw(); - GL11.glPopMatrix(); - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - } - - public void updateEquippedItem() { - this.prevEquippedProgress = this.equippedProgress; - if(this.itemSwingState) { - ++this.swingProgress; - if(this.swingProgress == 8) { - this.swingProgress = 0; - this.itemSwingState = false; - } - } - - EntityPlayerSP var1 = this.mc.thePlayer; - ItemStack var2 = var1.inventory.getCurrentItem(); - float var4 = 0.4F; - float var5 = var2 == this.itemToRender ? 1.0F : 0.0F; - float var6 = var5 - this.equippedProgress; - if(var6 < -var4) { - var6 = -var4; - } - - if(var6 > var4) { - var6 = var4; - } - - this.equippedProgress += var6; - if(this.equippedProgress < 0.1F) { - this.itemToRender = var2; - } - - } - - public void resetEquippedProgress() { - this.equippedProgress = 0.0F; - } - - public void swing() { - this.swingProgress = -1; - this.itemSwingState = true; - } - - public void resetEquippedProgress2() { - this.equippedProgress = 0.0F; - } -} diff --git a/src/main/java/net/minecraft/src/ItemSaddle.java b/src/main/java/net/minecraft/src/ItemSaddle.java deleted file mode 100644 index 9bb552f..0000000 --- a/src/main/java/net/minecraft/src/ItemSaddle.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.minecraft.src; - -public class ItemSaddle extends Item { - public ItemSaddle(int var1) { - super(var1); - this.maxStackSize = 1; - this.maxDamage = 64; - } - - public void saddleEntity(ItemStack var1, EntityLiving var2) { - if(var2 instanceof EntityPig) { - EntityPig var3 = (EntityPig)var2; - if(!var3.saddled) { - var3.saddled = true; - --var1.stackSize; - } - } - - } - - public void hitEntity(ItemStack var1, EntityLiving var2) { - this.saddleEntity(var1, var2); - } -} diff --git a/src/main/java/net/minecraft/src/ItemSeeds.java b/src/main/java/net/minecraft/src/ItemSeeds.java deleted file mode 100644 index 91ad225..0000000 --- a/src/main/java/net/minecraft/src/ItemSeeds.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.minecraft.src; - -public class ItemSeeds extends Item { - private int blockType; - - public ItemSeeds(int var1, int var2) { - super(var1); - this.blockType = var2; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - if(var7 != 1) { - return false; - } else { - int var8 = var3.getBlockId(var4, var5, var6); - if(var8 == Block.tilledField.blockID) { - var3.setBlockWithNotify(var4, var5 + 1, var6, this.blockType); - --var1.stackSize; - return true; - } else { - return false; - } - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemSign.java b/src/main/java/net/minecraft/src/ItemSign.java deleted file mode 100644 index f760b3e..0000000 --- a/src/main/java/net/minecraft/src/ItemSign.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minecraft.src; - -public class ItemSign extends Item { - public ItemSign(int var1) { - super(var1); - this.maxDamage = 64; - this.maxStackSize = 1; - } - - public boolean onItemUse(ItemStack var1, EntityPlayer var2, World var3, int var4, int var5, int var6, int var7) { - if(var7 != 1) { - return false; - } else { - ++var5; - if(!Block.signStanding.canPlaceBlockAt(var3, var4, var5, var6)) { - return false; - } else { - var3.setBlockWithNotify(var4, var5, var6, Block.signStanding.blockID); - var3.setBlockMetadataWithNotify(var4, var5, var6, MathHelper.floor_double((double)((var2.rotationYaw + 180.0F) * 16.0F / 360.0F) - 0.5D) & 15); - --var1.stackSize; - var2.displayGUIEditSign((TileEntitySign)var3.getBlockTileEntity(var4, var5, var6)); - return true; - } - } - } -} diff --git a/src/main/java/net/minecraft/src/ItemSoup.java b/src/main/java/net/minecraft/src/ItemSoup.java deleted file mode 100644 index 7143549..0000000 --- a/src/main/java/net/minecraft/src/ItemSoup.java +++ /dev/null @@ -1,12 +0,0 @@ -package net.minecraft.src; - -public class ItemSoup extends ItemFood { - public ItemSoup(int var1, int var2) { - super(var1, var2); - } - - public ItemStack onItemRightClick(ItemStack var1, World var2, EntityPlayer var3) { - super.onItemRightClick(var1, var2, var3); - return new ItemStack(Item.bowlEmpty); - } -} diff --git a/src/main/java/net/minecraft/src/ItemSpade.java b/src/main/java/net/minecraft/src/ItemSpade.java deleted file mode 100644 index 5328e68..0000000 --- a/src/main/java/net/minecraft/src/ItemSpade.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minecraft.src; - -public class ItemSpade extends ItemTool { - private static Block[] blocksEffectiveAgainst = new Block[]{Block.grass, Block.dirt, Block.sand, Block.gravel}; - - public ItemSpade(int var1, int var2) { - super(var1, 1, var2, blocksEffectiveAgainst); - } -} diff --git a/src/main/java/net/minecraft/src/ItemStack.java b/src/main/java/net/minecraft/src/ItemStack.java deleted file mode 100644 index 83d7a12..0000000 --- a/src/main/java/net/minecraft/src/ItemStack.java +++ /dev/null @@ -1,128 +0,0 @@ -package net.minecraft.src; - -public final class ItemStack { - public int stackSize; - public int animationsToGo; - public int itemID; - public int itemDmg; - - public ItemStack(Block var1) { - this((Block)var1, 1); - } - - public ItemStack(Block var1, int var2) { - this(var1.blockID, var2); - } - - public ItemStack(Item var1) { - this((Item)var1, 1); - } - - public ItemStack(Item var1, int var2) { - this(var1.shiftedIndex, var2); - } - - public ItemStack(int var1) { - this(var1, 1); - } - - public ItemStack(int var1, int var2) { - this.stackSize = 0; - this.itemID = var1; - this.stackSize = var2; - } - - public ItemStack(int var1, int var2, int var3) { - this.stackSize = 0; - this.itemID = var1; - this.stackSize = var2; - this.itemDmg = var3; - } - - public ItemStack(NBTTagCompound var1) { - this.stackSize = 0; - this.readFromNBT(var1); - } - - public ItemStack splitStack(int var1) { - this.stackSize -= var1; - return new ItemStack(this.itemID, var1, this.itemDmg); - } - - public Item getItem() { - return Item.itemsList[this.itemID]; - } - - public int getIconIndex() { - return this.getItem().getIconFromDamage(this); - } - - public boolean useItem(EntityPlayer var1, World var2, int var3, int var4, int var5, int var6) { - return this.getItem().onItemUse(this, var1, var2, var3, var4, var5, var6); - } - - public float getStrVsBlock(Block var1) { - return this.getItem().getStrVsBlock(this, var1); - } - - public ItemStack useItemRightClick(World var1, EntityPlayer var2) { - return this.getItem().onItemRightClick(this, var1, var2); - } - - public NBTTagCompound writeToNBT(NBTTagCompound var1) { - var1.setShort("id", (short)this.itemID); - var1.setByte("Count", (byte)this.stackSize); - var1.setShort("Damage", (short)this.itemDmg); - return var1; - } - - public void readFromNBT(NBTTagCompound var1) { - this.itemID = var1.getShort("id"); - this.stackSize = var1.getByte("Count"); - this.itemDmg = var1.getShort("Damage"); - } - - public int getMaxStackSize() { - return this.getItem().getItemStackLimit(); - } - - public int getMaxDamage() { - return Item.itemsList[this.itemID].getMaxDamage(); - } - - public void damageItem(int var1) { - this.itemDmg += var1; - if(this.itemDmg > this.getMaxDamage()) { - --this.stackSize; - if(this.stackSize < 0) { - this.stackSize = 0; - } - - this.itemDmg = 0; - } - - } - - public void hitEntity(EntityLiving var1) { - Item.itemsList[this.itemID].hitEntity(this, var1); - } - - public void onDestroyBlock(int var1, int var2, int var3, int var4) { - Item.itemsList[this.itemID].onBlockDestroyed(this, var1, var2, var3, var4); - } - - public int getDamageVsEntity(Entity var1) { - return Item.itemsList[this.itemID].getDamageVsEntity(var1); - } - - public boolean canHarvestBlock(Block var1) { - return Item.itemsList[this.itemID].canHarvestBlock(var1); - } - - public void onItemDestroyedByUse(EntityPlayer var1) { - } - - public void useItemOnEntity(EntityLiving var1) { - Item.itemsList[this.itemID].saddleEntity(this, var1); - } -} diff --git a/src/main/java/net/minecraft/src/ItemSword.java b/src/main/java/net/minecraft/src/ItemSword.java deleted file mode 100644 index a7c1046..0000000 --- a/src/main/java/net/minecraft/src/ItemSword.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.minecraft.src; - -public class ItemSword extends Item { - private int weaponDamage; - - public ItemSword(int var1, int var2) { - super(var1); - this.maxStackSize = 1; - this.maxDamage = 32 << var2; - this.weaponDamage = 4 + var2 * 2; - } - - public float getStrVsBlock(ItemStack var1, Block var2) { - return 1.5F; - } - - public void hitEntity(ItemStack var1, EntityLiving var2) { - var1.damageItem(1); - } - - public void onBlockDestroyed(ItemStack var1, int var2, int var3, int var4, int var5) { - var1.damageItem(2); - } - - public int getDamageVsEntity(Entity var1) { - return this.weaponDamage; - } -} diff --git a/src/main/java/net/minecraft/src/ItemTool.java b/src/main/java/net/minecraft/src/ItemTool.java deleted file mode 100644 index 9c231e1..0000000 --- a/src/main/java/net/minecraft/src/ItemTool.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.minecraft.src; - -public class ItemTool extends Item { - private Block[] blocksEffectiveAgainst; - private float efficiencyOnProperMaterial = 4.0F; - private int damageVsEntity; - protected int toolMaterial; - - public ItemTool(int var1, int var2, int var3, Block[] var4) { - super(var1); - this.toolMaterial = var3; - this.blocksEffectiveAgainst = var4; - this.maxStackSize = 1; - this.maxDamage = 32 << var3; - if(var3 == 3) { - this.maxDamage *= 2; - } - - this.efficiencyOnProperMaterial = (float)((var3 + 1) * 2); - this.damageVsEntity = var2 + var3; - } - - public float getStrVsBlock(ItemStack var1, Block var2) { - for(int var3 = 0; var3 < this.blocksEffectiveAgainst.length; ++var3) { - if(this.blocksEffectiveAgainst[var3] == var2) { - return this.efficiencyOnProperMaterial; - } - } - - return 1.0F; - } - - public void hitEntity(ItemStack var1, EntityLiving var2) { - var1.damageItem(2); - } - - public void onBlockDestroyed(ItemStack var1, int var2, int var3, int var4, int var5) { - var1.damageItem(1); - } - - public int getDamageVsEntity(Entity var1) { - return this.damageVsEntity; - } -} diff --git a/src/main/java/net/minecraft/src/KeyBinding.java b/src/main/java/net/minecraft/src/KeyBinding.java deleted file mode 100644 index 6d27b38..0000000 --- a/src/main/java/net/minecraft/src/KeyBinding.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -public class KeyBinding { - public String keyDescription; - public int keyCode; - - public KeyBinding(String var1, int var2) { - this.keyDescription = var1; - this.keyCode = var2; - } -} diff --git a/src/main/java/net/minecraft/src/LoadingScreenRenderer.java b/src/main/java/net/minecraft/src/LoadingScreenRenderer.java deleted file mode 100644 index 435c9ac..0000000 --- a/src/main/java/net/minecraft/src/LoadingScreenRenderer.java +++ /dev/null @@ -1,124 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.Display; -import org.lwjgl.opengl.GL11; - -public class LoadingScreenRenderer implements IProgressUpdate { - private String currentlyDisplayedProgress = ""; - private Minecraft mc; - private String currentlyDisplayedText = ""; - private long systemTime = System.currentTimeMillis(); - private boolean printText = false; - - public LoadingScreenRenderer(Minecraft var1) { - this.mc = var1; - } - - public void printText(String var1) { - this.printText = false; - this.drawScreen(var1); - } - - public void displayProgressMessage(String var1) { - this.printText = true; - this.drawScreen(this.currentlyDisplayedText); - } - - public void drawScreen(String var1) { - if(!this.mc.running) { - if(!this.printText) { - throw new MinecraftError(); - } - } else { - this.currentlyDisplayedText = var1; - ScaledResolution var2 = new ScaledResolution(this.mc.displayWidth, this.mc.displayHeight); - int var3 = var2.getScaledWidth(); - int var4 = var2.getScaledHeight(); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glOrtho(0.0D, (double)var3, (double)var4, 0.0D, 100.0D, 300.0D); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - GL11.glTranslatef(0.0F, 0.0F, -200.0F); - } - } - - public void displayLoadingString(String var1) { - if(!this.mc.running) { - if(!this.printText) { - throw new MinecraftError(); - } - } else { - this.systemTime = 0L; - this.currentlyDisplayedProgress = var1; - this.setLoadingProgress(-1); - this.systemTime = 0L; - } - } - - public void setLoadingProgress(int var1) { - if(!this.mc.running) { - if(!this.printText) { - throw new MinecraftError(); - } - } else { - long var2 = System.currentTimeMillis(); - if(var2 - this.systemTime >= 20L) { - this.systemTime = var2; - ScaledResolution var4 = new ScaledResolution(this.mc.displayWidth, this.mc.displayHeight); - int var5 = var4.getScaledWidth(); - int var6 = var4.getScaledHeight(); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glOrtho(0.0D, (double)var5, (double)var6, 0.0D, 100.0D, 300.0D); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - GL11.glTranslatef(0.0F, 0.0F, -200.0F); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); - Tessellator var7 = Tessellator.instance; - int var8 = this.mc.renderEngine.getTexture("/dirt.png"); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var8); - float var9 = 32.0F; - var7.startDrawingQuads(); - var7.setColorOpaque_I(4210752); - var7.addVertexWithUV(0.0D, (double)var6, 0.0D, 0.0D, (double)((float)var6 / var9)); - var7.addVertexWithUV((double)var5, (double)var6, 0.0D, (double)((float)var5 / var9), (double)((float)var6 / var9)); - var7.addVertexWithUV((double)var5, 0.0D, 0.0D, (double)((float)var5 / var9), 0.0D); - var7.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D); - var7.draw(); - if(var1 >= 0) { - byte var10 = 100; - byte var11 = 2; - int var12 = var5 / 2 - var10 / 2; - int var13 = var6 / 2 + 16; - GL11.glDisable(GL11.GL_TEXTURE_2D); - var7.startDrawingQuads(); - var7.setColorOpaque_I(8421504); - var7.addVertex((double)var12, (double)var13, 0.0D); - var7.addVertex((double)var12, (double)(var13 + var11), 0.0D); - var7.addVertex((double)(var12 + var10), (double)(var13 + var11), 0.0D); - var7.addVertex((double)(var12 + var10), (double)var13, 0.0D); - var7.setColorOpaque_I(8454016); - var7.addVertex((double)var12, (double)var13, 0.0D); - var7.addVertex((double)var12, (double)(var13 + var11), 0.0D); - var7.addVertex((double)(var12 + var1), (double)(var13 + var11), 0.0D); - var7.addVertex((double)(var12 + var1), (double)var13, 0.0D); - var7.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - this.mc.fontRenderer.drawStringWithShadow(this.currentlyDisplayedText, (var5 - this.mc.fontRenderer.getStringWidth(this.currentlyDisplayedText)) / 2, var6 / 2 - 4 - 16, 16777215); - this.mc.fontRenderer.drawStringWithShadow(this.currentlyDisplayedProgress, (var5 - this.mc.fontRenderer.getStringWidth(this.currentlyDisplayedProgress)) / 2, var6 / 2 - 4 + 8, 16777215); - Display.update(); - - try { - Thread.yield(); - } catch (Exception var14) { - } - - } - } - } -} diff --git a/src/main/java/net/minecraft/src/Material.java b/src/main/java/net/minecraft/src/Material.java deleted file mode 100644 index 1f1bf08..0000000 --- a/src/main/java/net/minecraft/src/Material.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.minecraft.src; - -public class Material { - public static final Material air = new MaterialTransparent(); - public static final Material ground = new Material(); - public static final Material wood = new Material(); - public static final Material rock = new Material(); - public static final Material iron = new Material(); - public static final Material water = new MaterialLiquid(); - public static final Material lava = new MaterialLiquid(); - public static final Material leaves = new Material(); - public static final Material plants = new MaterialLogic(); - public static final Material sponge = new Material(); - public static final Material cloth = new Material(); - public static final Material fire = new MaterialTransparent(); - public static final Material sand = new Material(); - public static final Material circuits = new MaterialLogic(); - public static final Material glass = new Material(); - public static final Material tnt = new Material(); - public static final Material unused = new Material(); - - public boolean getIsLiquid() { - return false; - } - - public boolean isSolid() { - return true; - } - - public boolean getCanBlockGrass() { - return true; - } - - public boolean getIsSolid() { - return true; - } -} diff --git a/src/main/java/net/minecraft/src/MaterialLiquid.java b/src/main/java/net/minecraft/src/MaterialLiquid.java deleted file mode 100644 index 54efda3..0000000 --- a/src/main/java/net/minecraft/src/MaterialLiquid.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -public class MaterialLiquid extends Material { - public boolean getIsLiquid() { - return true; - } - - public boolean isSolid() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/MaterialLogic.java b/src/main/java/net/minecraft/src/MaterialLogic.java deleted file mode 100644 index 19d5b0d..0000000 --- a/src/main/java/net/minecraft/src/MaterialLogic.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public class MaterialLogic extends Material { - public boolean isSolid() { - return false; - } - - public boolean getCanBlockGrass() { - return false; - } - - public boolean getIsSolid() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/MaterialTransparent.java b/src/main/java/net/minecraft/src/MaterialTransparent.java deleted file mode 100644 index a475877..0000000 --- a/src/main/java/net/minecraft/src/MaterialTransparent.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public class MaterialTransparent extends Material { - public boolean isSolid() { - return false; - } - - public boolean getCanBlockGrass() { - return false; - } - - public boolean getIsSolid() { - return false; - } -} diff --git a/src/main/java/net/minecraft/src/MathHelper.java b/src/main/java/net/minecraft/src/MathHelper.java deleted file mode 100644 index 30da5de..0000000 --- a/src/main/java/net/minecraft/src/MathHelper.java +++ /dev/null @@ -1,60 +0,0 @@ -package net.minecraft.src; - -public class MathHelper { - private static final float[] SIN_TABLE = new float[65536]; - private static final float SIN_CONVERSION_FACTOR = 10430.378F; - private static final float COS_CONVERSION_FACTOR = 16384.0F; - private static final float INVERSE_SIN_TABLE_LENGTH = 1.0F / SIN_TABLE.length; - - static { - for (int i = 0; i < SIN_TABLE.length; ++i) { - SIN_TABLE[i] = (float) Math.sin(i * 2 * Math.PI * INVERSE_SIN_TABLE_LENGTH); - } - } - - public static final float sin(float var0) { - return SIN_TABLE[(int) (var0 * SIN_CONVERSION_FACTOR) & 65535]; - } - - public static final float cos(float var0) { - return SIN_TABLE[(int) (var0 * SIN_CONVERSION_FACTOR + COS_CONVERSION_FACTOR) & 65535]; - } - - public static final float sqrt_float(float var0) { - return (float) Math.sqrt((double) var0); - } - - public static final float sqrt_double(double var0) { - return (float) Math.sqrt(var0); - } - - public static int floor_float(float var0) { - int var1 = (int) var0; - return var0 < (float) var1 ? var1 - 1 : var1; - } - - public static int floor_double(double var0) { - int var2 = (int) var0; - return var0 < (double) var2 ? var2 - 1 : var2; - } - - public static float abs(float var0) { - return var0 >= 0.0F ? var0 : -var0; - } - - public static double abs_max(double var0, double var2) { - if (var0 < 0.0D) { - var0 = -var0; - } - - if (var2 < 0.0D) { - var2 = -var2; - } - - return var0 > var2 ? var0 : var2; - } - - public static int bucketInt(int var0, int var1) { - return var0 < 0 ? -((-var0 - 1) / var1) - 1 : var0 / var1; - } -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/MetadataChunkBlock.java b/src/main/java/net/minecraft/src/MetadataChunkBlock.java deleted file mode 100644 index 6f9e4d9..0000000 --- a/src/main/java/net/minecraft/src/MetadataChunkBlock.java +++ /dev/null @@ -1,153 +0,0 @@ -package net.minecraft.src; - -public class MetadataChunkBlock { - public final EnumSkyBlock skyBlock; - public int x; - public int y; - public int z; - public int maxX; - public int maxY; - public int maxZ; - - public MetadataChunkBlock(EnumSkyBlock var1, int var2, int var3, int var4, int var5, int var6, int var7) { - this.skyBlock = var1; - this.x = var2; - this.y = var3; - this.z = var4; - this.maxX = var5; - this.maxY = var6; - this.maxZ = var7; - } - - public void updateLight(World var1) { - for(int var2 = this.x; var2 <= this.maxX; ++var2) { - for(int var3 = this.z; var3 <= this.maxZ; ++var3) { - if(var1.blockExists(var2, 0, var3)) { - for(int var4 = this.y; var4 <= this.maxY; ++var4) { - if(var4 >= 0 && var4 < 128) { - int var5 = var1.getSavedLightValue(this.skyBlock, var2, var4, var3); - boolean var6 = false; - int var7 = var1.getBlockId(var2, var4, var3); - int var8 = Block.lightOpacity[var7]; - if(var8 == 0) { - var8 = 1; - } - - int var9 = 0; - if(this.skyBlock == EnumSkyBlock.Sky) { - if(var1.canExistingBlockSeeTheSky(var2, var4, var3)) { - var9 = 15; - } - } else if(this.skyBlock == EnumSkyBlock.Block) { - var9 = Block.lightValue[var7]; - } - - int var10; - int var16; - if(var8 >= 15 && var9 == 0) { - var16 = 0; - } else { - var10 = var1.getSavedLightValue(this.skyBlock, var2 - 1, var4, var3); - int var11 = var1.getSavedLightValue(this.skyBlock, var2 + 1, var4, var3); - int var12 = var1.getSavedLightValue(this.skyBlock, var2, var4 - 1, var3); - int var13 = var1.getSavedLightValue(this.skyBlock, var2, var4 + 1, var3); - int var14 = var1.getSavedLightValue(this.skyBlock, var2, var4, var3 - 1); - int var15 = var1.getSavedLightValue(this.skyBlock, var2, var4, var3 + 1); - var16 = var10; - if(var11 > var10) { - var16 = var11; - } - - if(var12 > var16) { - var16 = var12; - } - - if(var13 > var16) { - var16 = var13; - } - - if(var14 > var16) { - var16 = var14; - } - - if(var15 > var16) { - var16 = var15; - } - - var16 -= var8; - if(var16 < 0) { - var16 = 0; - } - - if(var9 > var16) { - var16 = var9; - } - } - - if(var5 != var16) { - var1.setLightValue(this.skyBlock, var2, var4, var3, var16); - var10 = var16 - 1; - if(var10 < 0) { - var10 = 0; - } - - var1.neighborLightPropagationChanged(this.skyBlock, var2 - 1, var4, var3, var10); - var1.neighborLightPropagationChanged(this.skyBlock, var2, var4 - 1, var3, var10); - var1.neighborLightPropagationChanged(this.skyBlock, var2, var4, var3 - 1, var10); - if(var2 + 1 >= this.maxX) { - var1.neighborLightPropagationChanged(this.skyBlock, var2 + 1, var4, var3, var10); - } - - if(var4 + 1 >= this.maxY) { - var1.neighborLightPropagationChanged(this.skyBlock, var2, var4 + 1, var3, var10); - } - - if(var3 + 1 >= this.maxZ) { - var1.neighborLightPropagationChanged(this.skyBlock, var2, var4, var3 + 1, var10); - } - } - } - } - } - } - } - - } - - public boolean getLightUpdated(int var1, int var2, int var3, int var4, int var5, int var6) { - if(var1 >= this.x && var2 >= this.y && var3 >= this.z && var4 <= this.maxX && var5 <= this.maxY && var6 <= this.maxZ) { - return true; - } else { - byte var7 = 1; - if(var1 >= this.x - var7 && var2 >= this.y - var7 && var3 >= this.z - var7 && var4 <= this.maxX + var7 && var5 <= this.maxY + var7 && var6 <= this.maxZ + var7) { - if(var1 < this.x) { - this.x = var1; - } - - if(var2 < this.y) { - this.y = var2; - } - - if(var3 < this.z) { - this.z = var3; - } - - if(var4 > this.maxX) { - this.maxX = var4; - } - - if(var5 > this.maxY) { - this.maxY = var5; - } - - if(var6 > this.maxZ) { - this.maxZ = var6; - } - - return true; - } else { - return false; - } - } - } -} diff --git a/src/main/java/net/minecraft/src/MinecartTrackLogic.java b/src/main/java/net/minecraft/src/MinecartTrackLogic.java deleted file mode 100644 index 87e209a..0000000 --- a/src/main/java/net/minecraft/src/MinecartTrackLogic.java +++ /dev/null @@ -1,250 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; - -class MinecartTrackLogic { - private World worldObj; - private int trackX; - private int trackY; - private int trackZ; - private int trackMetadata; - private List connectedTracks; - final BlockMinecartTrack minecartTrack; - - public MinecartTrackLogic(BlockMinecartTrack var1, World var2, int var3, int var4, int var5) { - this.minecartTrack = var1; - this.connectedTracks = new ArrayList(); - this.worldObj = var2; - this.trackX = var3; - this.trackY = var4; - this.trackZ = var5; - this.trackMetadata = var2.getBlockMetadata(var3, var4, var5); - this.calculateConnectedTracks(); - } - - private void calculateConnectedTracks() { - this.connectedTracks.clear(); - if(this.trackMetadata == 0) { - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1)); - } else if(this.trackMetadata == 1) { - this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ)); - } else if(this.trackMetadata == 2) { - this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY + 1, this.trackZ)); - } else if(this.trackMetadata == 3) { - this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY + 1, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ)); - } else if(this.trackMetadata == 4) { - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY + 1, this.trackZ - 1)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1)); - } else if(this.trackMetadata == 5) { - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY + 1, this.trackZ + 1)); - } else if(this.trackMetadata == 6) { - this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1)); - } else if(this.trackMetadata == 7) { - this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1)); - } else if(this.trackMetadata == 8) { - this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1)); - } else if(this.trackMetadata == 9) { - this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ)); - this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1)); - } - - } - - private void refreshConnectedTracks() { - for(int var1 = 0; var1 < this.connectedTracks.size(); ++var1) { - MinecartTrackLogic var2 = this.getMinecartTrackLogic((ChunkPosition)this.connectedTracks.get(var1)); - if(var2 != null && var2.isConnectedTo(this)) { - this.connectedTracks.set(var1, new ChunkPosition(var2.trackX, var2.trackY, var2.trackZ)); - } else { - this.connectedTracks.remove(var1--); - } - } - - } - - private MinecartTrackLogic getMinecartTrackLogic(ChunkPosition var1) { - return this.worldObj.getBlockId(var1.x, var1.y, var1.z) == this.minecartTrack.blockID ? new MinecartTrackLogic(this.minecartTrack, this.worldObj, var1.x, var1.y, var1.z) : (this.worldObj.getBlockId(var1.x, var1.y + 1, var1.z) == this.minecartTrack.blockID ? new MinecartTrackLogic(this.minecartTrack, this.worldObj, var1.x, var1.y + 1, var1.z) : (this.worldObj.getBlockId(var1.x, var1.y - 1, var1.z) == this.minecartTrack.blockID ? new MinecartTrackLogic(this.minecartTrack, this.worldObj, var1.x, var1.y - 1, var1.z) : null)); - } - - private boolean isConnectedTo(MinecartTrackLogic var1) { - for(int var2 = 0; var2 < this.connectedTracks.size(); ++var2) { - ChunkPosition var3 = (ChunkPosition)this.connectedTracks.get(var2); - if(var3.x == var1.trackX && var3.z == var1.trackZ) { - return true; - } - } - - return false; - } - - private boolean isInTrack(int var1, int var2, int var3) { - for(int var4 = 0; var4 < this.connectedTracks.size(); ++var4) { - ChunkPosition var5 = (ChunkPosition)this.connectedTracks.get(var4); - if(var5.x == var1 && var5.z == var3) { - return true; - } - } - - return false; - } - - private boolean handleKeyPress(MinecartTrackLogic var1) { - if(this.isConnectedTo(var1)) { - return true; - } else if(this.connectedTracks.size() == 2) { - return false; - } else if(this.connectedTracks.size() == 0) { - return true; - } else { - ChunkPosition var2 = (ChunkPosition)this.connectedTracks.get(0); - return var1.trackY == this.trackY && var2.y == this.trackY ? true : true; - } - } - - private void connectToNeighbor(MinecartTrackLogic var1) { - this.connectedTracks.add(new ChunkPosition(var1.trackX, var1.trackY, var1.trackZ)); - boolean var2 = this.isInTrack(this.trackX, this.trackY, this.trackZ - 1); - boolean var3 = this.isInTrack(this.trackX, this.trackY, this.trackZ + 1); - boolean var4 = this.isInTrack(this.trackX - 1, this.trackY, this.trackZ); - boolean var5 = this.isInTrack(this.trackX + 1, this.trackY, this.trackZ); - byte var6 = -1; - if(var2 || var3) { - var6 = 0; - } - - if(var4 || var5) { - var6 = 1; - } - - if(var3 && var5 && !var2 && !var4) { - var6 = 6; - } - - if(var3 && var4 && !var2 && !var5) { - var6 = 7; - } - - if(var2 && var4 && !var3 && !var5) { - var6 = 8; - } - - if(var2 && var5 && !var3 && !var4) { - var6 = 9; - } - - if(var6 == 0) { - if(this.worldObj.getBlockId(this.trackX, this.trackY + 1, this.trackZ - 1) == this.minecartTrack.blockID) { - var6 = 4; - } - - if(this.worldObj.getBlockId(this.trackX, this.trackY + 1, this.trackZ + 1) == this.minecartTrack.blockID) { - var6 = 5; - } - } - - if(var6 == 1) { - if(this.worldObj.getBlockId(this.trackX + 1, this.trackY + 1, this.trackZ) == this.minecartTrack.blockID) { - var6 = 2; - } - - if(this.worldObj.getBlockId(this.trackX - 1, this.trackY + 1, this.trackZ) == this.minecartTrack.blockID) { - var6 = 3; - } - } - - if(var6 < 0) { - var6 = 0; - } - - this.worldObj.setBlockMetadataWithNotify(this.trackX, this.trackY, this.trackZ, var6); - } - - private boolean canConnectFrom(int var1, int var2, int var3) { - MinecartTrackLogic var4 = this.getMinecartTrackLogic(new ChunkPosition(var1, var2, var3)); - if(var4 == null) { - return false; - } else { - var4.refreshConnectedTracks(); - return var4.handleKeyPress(this); - } - } - - public void place() { - boolean var1 = this.canConnectFrom(this.trackX, this.trackY, this.trackZ - 1); - boolean var2 = this.canConnectFrom(this.trackX, this.trackY, this.trackZ + 1); - boolean var3 = this.canConnectFrom(this.trackX - 1, this.trackY, this.trackZ); - boolean var4 = this.canConnectFrom(this.trackX + 1, this.trackY, this.trackZ); - byte var5 = -1; - if(var1 || var2) { - var5 = 0; - } - - if(var3 || var4) { - var5 = 1; - } - - if(var2 && var4 && !var1 && !var3) { - var5 = 6; - } - - if(var2 && var3 && !var1 && !var4) { - var5 = 7; - } - - if(var1 && var3 && !var2 && !var4) { - var5 = 8; - } - - if(var1 && var4 && !var2 && !var3) { - var5 = 9; - } - - if(var5 == 0) { - if(this.worldObj.getBlockId(this.trackX, this.trackY + 1, this.trackZ - 1) == this.minecartTrack.blockID) { - var5 = 4; - } - - if(this.worldObj.getBlockId(this.trackX, this.trackY + 1, this.trackZ + 1) == this.minecartTrack.blockID) { - var5 = 5; - } - } - - if(var5 == 1) { - if(this.worldObj.getBlockId(this.trackX + 1, this.trackY + 1, this.trackZ) == this.minecartTrack.blockID) { - var5 = 2; - } - - if(this.worldObj.getBlockId(this.trackX - 1, this.trackY + 1, this.trackZ) == this.minecartTrack.blockID) { - var5 = 3; - } - } - - if(var5 < 0) { - var5 = 0; - } - - this.trackMetadata = var5; - this.calculateConnectedTracks(); - this.worldObj.setBlockMetadataWithNotify(this.trackX, this.trackY, this.trackZ, var5); - - for(int var6 = 0; var6 < this.connectedTracks.size(); ++var6) { - MinecartTrackLogic var7 = this.getMinecartTrackLogic((ChunkPosition)this.connectedTracks.get(var6)); - if(var7 != null) { - var7.refreshConnectedTracks(); - if(var7.handleKeyPress(this)) { - var7.connectToNeighbor(this); - } - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/Minecraft.java b/src/main/java/net/minecraft/src/Minecraft.java deleted file mode 100644 index 1711804..0000000 --- a/src/main/java/net/minecraft/src/Minecraft.java +++ /dev/null @@ -1,851 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.LWJGLException; -import org.lwjgl.input.Keyboard; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.Display; -import org.lwjgl.opengl.GL11; - -import net.PeytonPlayz585.io.File; -import net.PeytonPlayz585.opengl.LWJGLMain; - -public class Minecraft implements Runnable { - public PlayerController playerController = new PlayerControllerSP(this); - private boolean fullscreen = false; - public int displayWidth; - public int displayHeight; - private Timer timer = new Timer(20.0F); - public World theWorld; - public RenderGlobal renderGlobal; - public EntityPlayerSP thePlayer; - public EffectRenderer effectRenderer; - public Session session = null; - public String minecraftUri; - public volatile boolean isGamePaused = false; - public RenderEngine renderEngine; - public FontRenderer fontRenderer; - public GuiScreen currentScreen = null; - public LoadingScreenRenderer loadingScreen = new LoadingScreenRenderer(this); - public EntityRenderer entityRenderer = new EntityRenderer(this); - private int ticksRan = 0; - private int leftClickCounter = 0; - private int tempDisplayWidth; - private int tempDisplayHeight; - public String objectMouseOverString = null; - public int rightClickDelayTimer = 0; - public GuiIngame ingameGUI; - public boolean skipRenderWorld = false; - public ModelBiped playerModelBiped = new ModelBiped(0.0F); - public MovingObjectPosition objectMouseOver = null; - public GameSettings gameSettings; - //public SoundManager sndManager = new SoundManager(); - public MouseHelper mouseHelper; - public File mcDataDir; - public static long[] tickTimes = new long[512]; - public static int numRecordedFrameTimes = 0; - private TextureWaterFX textureWaterFX = new TextureWaterFX(); - private TextureLavaFX textureLavaFX = new TextureLavaFX(); - private static File minecraftDir = null; - volatile boolean running = true; - public String debug = ""; - long prevFrameTime = -1L; - public boolean inGameHasFocus = false; - private int mouseTicksRan = 0; - public boolean isRaining = false; - long systemTime = System.currentTimeMillis(); - - public Minecraft(int var4, int var5, boolean var6) { - this.tempDisplayWidth = var4; - this.tempDisplayHeight = var5; - this.fullscreen = var6; - new ThreadSleepForever(this, "Timer hack thread"); - this.displayWidth = var4; - this.displayHeight = var5; - this.fullscreen = var6; - } - - public void setServer(String var1, int var2) { - } - - public void startGame() throws LWJGLException { - this.mcDataDir = getMinecraftDir(); - this.gameSettings = new GameSettings(this); - this.renderEngine = new RenderEngine(this.gameSettings); - this.fontRenderer = new FontRenderer(this.gameSettings, "/default.png", this.renderEngine); - this.loadScreen(); - this.mouseHelper = new MouseHelper(); - - this.checkGLError("Pre startup"); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glShadeModel(GL11.GL_SMOOTH); - GL11.glClearDepth((float)1.0D); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - GL11.glCullFace(GL11.GL_BACK); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - this.checkGLError("Startup"); - //this.sndManager.loadSoundSettings(this.gameSettings); - this.renderEngine.registerTextureFX(this.textureLavaFX); - this.renderEngine.registerTextureFX(this.textureWaterFX); - this.renderEngine.registerTextureFX(new TextureWaterFlowFX()); - this.renderEngine.registerTextureFX(new TextureLavaFlowFX()); - this.renderEngine.registerTextureFX(new TextureFlamesFX(0)); - this.renderEngine.registerTextureFX(new TextureFlamesFX(1)); - this.renderGlobal = new RenderGlobal(this, this.renderEngine); - GL11.glViewport(0, 0, this.displayWidth, this.displayHeight); - this.displayGuiScreen(new GuiMainMenu()); - this.effectRenderer = new EffectRenderer(this.theWorld, this.renderEngine); - this.checkGLError("Post startup"); - this.ingameGUI = new GuiIngame(this); - this.playerController.init(); - } - - private void loadScreen() throws LWJGLException { - ScaledResolution var1 = new ScaledResolution(this.displayWidth, this.displayHeight); - int var2 = var1.getScaledWidth(); - int var3 = var1.getScaledHeight(); - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT | GL11.GL_COLOR_BUFFER_BIT); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glOrtho(0.0D, (double)var2, (double)var3, 0.0D, 1000.0D, 3000.0D); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - GL11.glTranslatef(0.0F, 0.0F, -2000.0F); - GL11.glViewport(0, 0, this.displayWidth, this.displayHeight); - GL11.glClearColor(0.0F, 0.0F, 0.0F, 0.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_FOG); - GL11.glEnable(GL11.GL_TEXTURE_2D); - Tessellator var4 = Tessellator.instance; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.renderEngine.getTexture("/dirt.png")); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - float var5 = 32.0F; - var4.startDrawingQuads(); - var4.setColorOpaque_I(4210752); - var4.addVertexWithUV(0.0D, (double)this.displayHeight, 0.0D, 0.0D, (double)((float)this.displayHeight / var5 + 0.0F)); - var4.addVertexWithUV((double)this.displayWidth, (double)this.displayHeight, 0.0D, (double)((float)this.displayWidth / var5), (double)((float)this.displayHeight / var5 + 0.0F)); - var4.addVertexWithUV((double)this.displayWidth, 0.0D, 0.0D, (double)((float)this.displayWidth / var5), 0.0D); - var4.addVertexWithUV(0.0D, 0.0D, 0.0D, 0.0D, 0.0D); - var4.draw(); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); - this.fontRenderer.drawStringWithShadow("Loading...", 8, this.displayHeight / 2 - 16, -1); - } - - public static File getMinecraftDir() { - if(minecraftDir == null) { - minecraftDir = getAppDir("minecraft"); - } - - return minecraftDir; - } - - public static File getAppDir(String var0) { - String var1 = System.getProperty("user.home", "."); - File var2; - switch(OSMap.osValues[getOs().ordinal()]) { - case 1: - case 2: - var2 = new File(var1, '.' + var0 + '/'); - break; - case 3: - var2 = new File(var1, '.' + var0 + '/'); - break; - case 4: - var2 = new File(var1, "Library/Application Support/" + var0); - break; - default: - var2 = new File(var1, var0 + '/'); - } - - if(!var2.exists() && !var2.mkdirs()) { - throw new RuntimeException("The working directory could not be created: " + var2); - } else { - return var2; - } - } - - private static EnumOS getOs() { - String var0 = System.getProperty("os.name").toLowerCase(); - return var0.contains("win") ? EnumOS.windows : (var0.contains("mac") ? EnumOS.macos : (var0.contains("solaris") ? EnumOS.solaris : (var0.contains("sunos") ? EnumOS.solaris : (var0.contains("linux") ? EnumOS.linux : (var0.contains("unix") ? EnumOS.linux : EnumOS.unknown))))); - } - - public void displayGuiScreen(GuiScreen var1) { - if(!(this.currentScreen instanceof GuiErrorScreen)) { - if(this.currentScreen != null) { - this.currentScreen.onGuiClosed(); - } - - if(var1 == null && this.theWorld == null) { - var1 = new GuiMainMenu(); - } else if(var1 == null && this.thePlayer.health <= 0) { - var1 = new GuiGameOver(); - } - - this.currentScreen = (GuiScreen)var1; - if(var1 != null) { - this.setIngameNotInFocus(); - ScaledResolution var2 = new ScaledResolution(this.displayWidth, this.displayHeight); - int var3 = var2.getScaledWidth(); - int var4 = var2.getScaledHeight(); - ((GuiScreen)var1).setWorldAndResolution(this, var3, var4); - this.skipRenderWorld = false; - } else { - this.setIngameFocus(); - } - - } - } - - private void checkGLError(String var1) { - int var2 = GL11.glGetError(); - if(var2 != 0) { - String var3 = GL11.gluErrorString(var2); - System.out.println("########## GL ERROR ##########"); - System.out.println("@ " + var1); - System.out.println(var2 + ": " + var3); - } - - } - - public void shutdownMinecraftApplet() { - System.out.println("Stopping!"); - this.changeWorld1((World)null); - GLAllocation.deleteTexturesAndDisplayLists(); - //this.sndManager.closeMinecraft(); - - System.gc(); - } - - public void run() { - this.running = true; - - try { - this.startGame(); - } catch (Exception var10) { - var10.printStackTrace(); - new UnexpectedThrowable("Failed to start game", var10); - return; - } - - try { - long var1 = System.currentTimeMillis(); - int var3 = 0; - - while(this.running) { - AxisAlignedBB.clearBoundingBoxPool(); - Vec3D.initialize(); - - if(this.isGamePaused) { - float var4 = this.timer.renderPartialTicks; - this.timer.updateTimer(); - this.timer.renderPartialTicks = var4; - } else { - this.timer.updateTimer(); - } - - for(int var14 = 0; var14 < this.timer.elapsedTicks; ++var14) { - ++this.ticksRan; - this.runTick(); - } - - this.checkGLError("Pre render"); - if(this.isGamePaused) { - this.timer.renderPartialTicks = 1.0F; - } - - //this.sndManager.setListener(this.thePlayer, this.timer.renderPartialTicks); - GL11.glEnable(GL11.GL_TEXTURE_2D); - if(this.theWorld != null) { - while(this.theWorld.updatingLighting()) { - } - } - - if(!this.skipRenderWorld) { - this.playerController.setPartialTime(this.timer.renderPartialTicks); - this.entityRenderer.updateCameraAndRender(this.timer.renderPartialTicks); - } - - if(Keyboard.isKeyDown(33) && Keyboard.isKeyDown(7)) { - this.displayDebugInfo(); - } else { - this.prevFrameTime = System.nanoTime(); - } - - Thread.yield(); - Display.update(); - if(LWJGLMain.canvas.getWidth() != this.displayWidth || LWJGLMain.canvas.getHeight() != this.displayHeight) { - this.displayWidth = LWJGLMain.canvas.getWidth(); - this.displayHeight = LWJGLMain.canvas.getHeight(); - if(this.displayWidth <= 0) { - this.displayWidth = 1; - } - - if(this.displayHeight <= 0) { - this.displayHeight = 1; - } - - this.resize(this.displayWidth, this.displayHeight); - } - - if(this.gameSettings.limitFramerate) { - Thread.sleep(5L); - } - - this.checkGLError("Post render"); - ++var3; - - for(this.isGamePaused = !this.isMultiplayerWorld() && this.currentScreen != null && this.currentScreen.doesGuiPauseGame(); System.currentTimeMillis() >= var1 + 1000L; var3 = 0) { - this.debug = var3 + " fps, " + WorldRenderer.chunksUpdated + " chunk updates"; - WorldRenderer.chunksUpdated = 0; - var1 += 1000L; - } - } - } catch (MinecraftError var11) { - } catch (Exception var12) { - var12.printStackTrace(); - new UnexpectedThrowable("Unexpected error", var12); - } finally { - this.shutdownMinecraftApplet(); - } - - } - - private void displayDebugInfo() { - if(this.prevFrameTime == -1L) { - this.prevFrameTime = System.nanoTime(); - } - - long var1 = System.nanoTime(); - tickTimes[numRecordedFrameTimes++ & tickTimes.length - 1] = var1 - this.prevFrameTime; - this.prevFrameTime = var1; - GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); - GL11.glMatrixMode(GL11.GL_PROJECTION); - GL11.glLoadIdentity(); - GL11.glOrtho(0.0D, (double)this.displayWidth, (double)this.displayHeight, 0.0D, 1000.0D, 3000.0D); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glLoadIdentity(); - GL11.glTranslatef(0.0F, 0.0F, -2000.0F); - GL11.glLineWidth(1.0F); - GL11.glDisable(GL11.GL_TEXTURE_2D); - Tessellator var3 = Tessellator.instance; - var3.startDrawing(7); - var3.setColorOpaque_I(538968064); - var3.addVertex(0.0D, (double)(this.displayHeight - 100), 0.0D); - var3.addVertex(0.0D, (double)this.displayHeight, 0.0D); - var3.addVertex((double)tickTimes.length, (double)this.displayHeight, 0.0D); - var3.addVertex((double)tickTimes.length, (double)(this.displayHeight - 100), 0.0D); - var3.draw(); - long var4 = 0L; - - int var6; - for(var6 = 0; var6 < tickTimes.length; ++var6) { - var4 += tickTimes[var6]; - } - - var6 = (int)(var4 / 200000L / (long)tickTimes.length); - var3.startDrawing(7); - var3.setColorOpaque_I(541065216); - var3.addVertex(0.0D, (double)(this.displayHeight - var6), 0.0D); - var3.addVertex(0.0D, (double)this.displayHeight, 0.0D); - var3.addVertex((double)tickTimes.length, (double)this.displayHeight, 0.0D); - var3.addVertex((double)tickTimes.length, (double)(this.displayHeight - var6), 0.0D); - var3.draw(); - var3.startDrawing(1); - - for(int var7 = 0; var7 < tickTimes.length; ++var7) { - int var8 = (var7 - numRecordedFrameTimes & tickTimes.length - 1) * 255 / tickTimes.length; - int var9 = var8 * var8 / 255; - var9 = var9 * var9 / 255; - int var10 = var9 * var9 / 255; - var10 = var10 * var10 / 255; - var3.setColorOpaque_I(-16777216 + var10 + var9 * 256 + var8 * 65536); - long var11 = tickTimes[var7] / 200000L; - var3.addVertex((double)((float)var7 + 0.5F), (double)((float)((long)this.displayHeight - var11) + 0.5F), 0.0D); - var3.addVertex((double)((float)var7 + 0.5F), (double)((float)this.displayHeight + 0.5F), 0.0D); - } - - var3.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - public void shutdown() { - this.running = false; - } - - public void setIngameFocus() { - if(Display.isActive()) { - if(!this.inGameHasFocus) { - this.inGameHasFocus = true; - this.mouseHelper.grabMouseCursor(); - this.displayGuiScreen((GuiScreen)null); - this.mouseTicksRan = this.ticksRan + 10000; - } - } - } - - public void setIngameNotInFocus() { - if(this.inGameHasFocus) { - if(this.thePlayer != null) { - this.thePlayer.resetPlayerKeyState(); - } - - this.inGameHasFocus = false; - this.mouseHelper.ungrabMouseCursor(); - } - } - - public void displayInGameMenu() { - if(this.currentScreen == null) { - this.displayGuiScreen(new GuiIngameMenu()); - } - } - - private void sendClickBlockToController(int var1, boolean var2) { - if(!this.playerController.isInTestMode) { - if(var1 != 0 || this.leftClickCounter <= 0) { - if(var2 && this.objectMouseOver != null && this.objectMouseOver.typeOfHit == 0 && var1 == 0) { - int var3 = this.objectMouseOver.blockX; - int var4 = this.objectMouseOver.blockY; - int var5 = this.objectMouseOver.blockZ; - this.playerController.sendBlockRemoving(var3, var4, var5, this.objectMouseOver.sideHit); - this.effectRenderer.addBlockHitEffects(var3, var4, var5, this.objectMouseOver.sideHit); - } else { - this.playerController.resetBlockRemoving(); - } - - } - } - } - - private void clickMouse(int var1) { - if(var1 != 0 || this.leftClickCounter <= 0) { - if(var1 == 0) { - this.entityRenderer.itemRenderer.swing(); - } - - int var3; - if(this.objectMouseOver == null) { - if(var1 == 0 && !(this.playerController instanceof PlayerControllerCreative)) { - this.leftClickCounter = 10; - } - } else if(this.objectMouseOver.typeOfHit == 1) { - if(var1 == 0) { - this.thePlayer.attackEntity(this.objectMouseOver.entityHit); - } - - if(var1 == 1) { - this.thePlayer.interactWithEntity(this.objectMouseOver.entityHit); - } - } else if(this.objectMouseOver.typeOfHit == 0) { - int var2 = this.objectMouseOver.blockX; - var3 = this.objectMouseOver.blockY; - int var4 = this.objectMouseOver.blockZ; - int var5 = this.objectMouseOver.sideHit; - Block var6 = Block.blocksList[this.theWorld.getBlockId(var2, var3, var4)]; - if(var1 == 0) { - this.theWorld.extinguishFire(var2, var3, var4, this.objectMouseOver.sideHit); - if(var6 != Block.bedrock || this.thePlayer.unusedMiningCooldown >= 100) { - this.playerController.clickBlock(var2, var3, var4); - } - } else { - ItemStack var7 = this.thePlayer.inventory.getCurrentItem(); - int var8 = this.theWorld.getBlockId(var2, var3, var4); - if(var8 > 0 && Block.blocksList[var8].blockActivated(this.theWorld, var2, var3, var4, this.thePlayer)) { - return; - } - - if(var7 == null) { - return; - } - - int var9 = var7.stackSize; - if(var7.useItem(this.thePlayer, this.theWorld, var2, var3, var4, var5)) { - this.entityRenderer.itemRenderer.swing(); - } - - if(var7.stackSize == 0) { - this.thePlayer.inventory.mainInventory[this.thePlayer.inventory.currentItem] = null; - } else if(var7.stackSize != var9) { - this.entityRenderer.itemRenderer.resetEquippedProgress(); - } - } - } - - if(var1 == 1) { - ItemStack var10 = this.thePlayer.inventory.getCurrentItem(); - if(var10 != null) { - var3 = var10.stackSize; - ItemStack var11 = var10.useItemRightClick(this.theWorld, this.thePlayer); - if(var11 != var10 || var11 != null && var11.stackSize != var3) { - this.thePlayer.inventory.mainInventory[this.thePlayer.inventory.currentItem] = var11; - this.entityRenderer.itemRenderer.resetEquippedProgress2(); - if(var11.stackSize == 0) { - this.thePlayer.inventory.mainInventory[this.thePlayer.inventory.currentItem] = null; - } - } - } - } - - } - } - - private void resize(int var1, int var2) { - if(var1 <= 0) { - var1 = 1; - } - - if(var2 <= 0) { - var2 = 1; - } - - this.displayWidth = var1; - this.displayHeight = var2; - if(this.currentScreen != null) { - ScaledResolution var3 = new ScaledResolution(var1, var2); - int var4 = var3.getScaledWidth(); - int var5 = var3.getScaledHeight(); - this.currentScreen.setWorldAndResolution(this, var4, var5); - } - - } - - private void clickMiddleMouseButton() { - if(this.objectMouseOver != null) { - int var1 = this.theWorld.getBlockId(this.objectMouseOver.blockX, this.objectMouseOver.blockY, this.objectMouseOver.blockZ); - if(var1 == Block.grass.blockID) { - var1 = Block.dirt.blockID; - } - - if(var1 == Block.stairDouble.blockID) { - var1 = Block.stairSingle.blockID; - } - - if(var1 == Block.bedrock.blockID) { - var1 = Block.stone.blockID; - } - - this.thePlayer.inventory.setCurrentItem(var1, this.playerController instanceof PlayerControllerCreative); - } - - } - - public void runTick() { - this.ingameGUI.updateTick(); - if(!this.isGamePaused && this.theWorld != null) { - this.playerController.onUpdate(); - } - - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.renderEngine.getTexture("/terrain.png")); - - if(this.currentScreen == null && this.thePlayer != null && this.thePlayer.health <= 0) { - this.displayGuiScreen((GuiScreen)null); - } - - if(this.currentScreen == null || this.currentScreen.allowUserInput) { - label226: - while(true) { - while(true) { - while(true) { - long var1; - do { - if(!Mouse.next()) { - if(this.leftClickCounter > 0) { - --this.leftClickCounter; - } - - while(true) { - while(true) { - do { - if(!Keyboard.next()) { - if(this.currentScreen == null) { - if(Mouse.isButtonDown(0) && (float)(this.ticksRan - this.mouseTicksRan) >= this.timer.ticksPerSecond / 4.0F && this.inGameHasFocus) { - this.clickMouse(0); - this.mouseTicksRan = this.ticksRan; - } - - if(Mouse.isButtonDown(1) && (float)(this.ticksRan - this.mouseTicksRan) >= this.timer.ticksPerSecond / 4.0F && this.inGameHasFocus) { - this.clickMouse(1); - this.mouseTicksRan = this.ticksRan; - } - } - - this.sendClickBlockToController(0, this.currentScreen == null && Mouse.isButtonDown(0) && this.inGameHasFocus); - break label226; - } - - this.thePlayer.handleKeyPress(Keyboard.getEventKey(), Keyboard.getEventKeyState()); - } while(!Keyboard.getEventKeyState()); - - if(this.currentScreen != null) { - this.currentScreen.handleKeyboardInput(); - } else { - if(Keyboard.getEventKey() == 1) { - this.displayInGameMenu(); - } - - if(this.playerController instanceof PlayerControllerCreative) { - if(Keyboard.getEventKey() == this.gameSettings.keyBindLoad.keyCode) { - } - - if(Keyboard.getEventKey() == this.gameSettings.keyBindSave.keyCode) { - } - } - - if(Keyboard.getEventKey() == 33 && Keyboard.isKeyDown(6)) { - this.gameSettings.thirdPersonView = !this.gameSettings.thirdPersonView; - this.isRaining = !this.isRaining; - } - - if(Keyboard.getEventKey() == this.gameSettings.keyBindInventory.keyCode) { - this.displayGuiScreen(new GuiInventory(this.thePlayer.inventory)); - } - - if(Keyboard.getEventKey() == this.gameSettings.keyBindDrop.keyCode) { - this.thePlayer.dropPlayerItemWithRandomChoice(this.thePlayer.inventory.decrStackSize(this.thePlayer.inventory.currentItem, 1), false); - } - } - - for(int var4 = 0; var4 < 9; ++var4) { - if(Keyboard.getEventKey() == 2 + var4) { - this.thePlayer.inventory.currentItem = var4; - } - } - - if(Keyboard.getEventKey() == this.gameSettings.keyBindToggleFog.keyCode) { - this.gameSettings.setOptionFloatValue(4, !Keyboard.isKeyDown(42) && !Keyboard.isKeyDown(54) ? 1 : -1); - } - } - } - } - - var1 = System.currentTimeMillis() - this.systemTime; - } while(var1 > 200L); - - int var3 = Mouse.getEventDWheel(); - if(var3 != 0) { - this.thePlayer.inventory.changeCurrentItem(var3); - } - - if(this.currentScreen == null) { - if(!this.inGameHasFocus && Mouse.getEventButtonState()) { - this.setIngameFocus(); - } else { - if(Mouse.getEventButton() == 0 && Mouse.getEventButtonState()) { - this.clickMouse(0); - this.mouseTicksRan = this.ticksRan; - } - - if(Mouse.getEventButton() == 1 && Mouse.getEventButtonState()) { - this.clickMouse(1); - this.mouseTicksRan = this.ticksRan; - } - - if(Mouse.getEventButton() == 2 && Mouse.getEventButtonState()) { - this.clickMiddleMouseButton(); - } - } - } else if(this.currentScreen != null) { - this.currentScreen.handleMouseInput(); - } - } - } - } - } - - if(this.currentScreen != null) { - this.mouseTicksRan = this.ticksRan + 10000; - } - - if(this.currentScreen != null) { - this.currentScreen.handleInput(); - if(this.currentScreen != null) { - this.currentScreen.updateScreen(); - } - } - - if(this.theWorld != null) { - this.theWorld.difficultySetting = this.gameSettings.difficulty; - if(!this.isGamePaused) { - this.entityRenderer.updateRenderer(); - } - - if(!this.isGamePaused) { - this.renderGlobal.updateClouds(); - } - - if(!this.isGamePaused) { - this.theWorld.updateEntities(); - } - - if(!this.isGamePaused && !this.isMultiplayerWorld()) { - this.theWorld.tick(); - } - - if(!this.isGamePaused) { - this.theWorld.randomDisplayUpdates(MathHelper.floor_double(this.thePlayer.posX), MathHelper.floor_double(this.thePlayer.posY), MathHelper.floor_double(this.thePlayer.posZ)); - } - - if(!this.isGamePaused) { - this.effectRenderer.updateEffects(); - } - } - - this.systemTime = System.currentTimeMillis(); - } - - public boolean isMultiplayerWorld() { - return false; - } - - public void startWorld(String var1) { - this.changeWorld1((World)null); - System.gc(); - World var2 = new World(new File(getMinecraftDir(), "saves"), var1); - if(var2.isNewWorld) { - this.changeWorld2(var2, "Generating level"); - } else { - this.changeWorld2(var2, "Loading level"); - } - - } - - public void changeWorld1(World var1) { - this.changeWorld2(var1, ""); - } - - public void changeWorld2(World var1, String var2) { - if(this.theWorld != null) { - this.theWorld.saveWorldIndirectly(this.loadingScreen); - } - - this.theWorld = var1; - if(var1 != null) { - this.playerController.onWorldChange(var1); - var1.fontRenderer = this.fontRenderer; - if(!this.isMultiplayerWorld()) { - this.thePlayer = (EntityPlayerSP)var1.createDebugPlayer(EntityPlayerSP.class); - var1.playerEntity = this.thePlayer; - } else if(this.thePlayer != null) { - this.thePlayer.preparePlayerToSpawn(); - if(var1 != null) { - var1.playerEntity = this.thePlayer; - var1.spawnEntityInWorld(this.thePlayer); - } - } - - this.preloadWorld(var2); - if(this.thePlayer == null) { - this.thePlayer = new EntityPlayerSP(this, var1, this.session); - this.thePlayer.preparePlayerToSpawn(); - this.playerController.flipPlayer(this.thePlayer); - } - - this.thePlayer.movementInput = new MovementInputFromOptions(this.gameSettings); - if(this.renderGlobal != null) { - this.renderGlobal.changeWorld(var1); - } - - if(this.effectRenderer != null) { - this.effectRenderer.clearEffects(var1); - } - - this.playerController.onRespawn(this.thePlayer); - var1.playerEntity = this.thePlayer; - var1.spawnPlayerWithLoadedChunks(); - if(var1.isNewWorld) { - var1.saveWorldIndirectly(this.loadingScreen); - } - } - - System.gc(); - this.systemTime = 0L; - } - - private void preloadWorld(String var1) { - this.loadingScreen.printText(var1); - this.loadingScreen.displayLoadingString("Building terrain"); - short var2 = 128; - int var3 = 0; - int var4 = var2 * 2 / 16 + 1; - var4 *= var4; - - int var5; - for(var5 = -var2; var5 <= var2; var5 += 16) { - int var6 = this.theWorld.spawnX; - int var7 = this.theWorld.spawnZ; - if(this.theWorld.playerEntity != null) { - var6 = (int)this.theWorld.playerEntity.posX; - var7 = (int)this.theWorld.playerEntity.posZ; - } - - for(int var8 = -var2; var8 <= var2; var8 += 16) { - this.loadingScreen.setLoadingProgress(var3++ * 100 / var4); - this.theWorld.getBlockId(var6 + var5, 64, var7 + var8); - - while(this.theWorld.updatingLighting()) { - } - } - } - - this.loadingScreen.displayLoadingString("Simulating world for a bit"); - short var9 = 2000; - BlockSand.fallInstantly = true; - - for(var5 = 0; var5 < var9; ++var5) { - this.theWorld.tickUpdates(true); - } - - this.theWorld.dropOldChunks(); - BlockSand.fallInstantly = false; - } - - public void installResource(String var1, File var2) { - int var3 = var1.indexOf("/"); - String var4 = var1.substring(0, var3); - var1 = var1.substring(var3 + 1); - if(var4.equalsIgnoreCase("sound")) { - //this.sndManager.addSound(var1, var2); - } else if(var4.equalsIgnoreCase("newsound")) { - //this.sndManager.addSound(var1, var2); - } else if(var4.equalsIgnoreCase("music")) { - //this.sndManager.addMusic(var1, var2); - } - - } - - public String debugInfoRenders() { - return this.renderGlobal.getDebugInfoRenders(); - } - - public String getEntityDebug() { - return this.renderGlobal.getDebugInfoEntities(); - } - - public String debugInfoEntities() { - return "P: " + this.effectRenderer.getStatistics() + ". T: " + this.theWorld.getDebugLoadedEntities(); - } - - public void respawn() { - if(this.thePlayer != null && this.theWorld != null) { - this.theWorld.setEntityDead(this.thePlayer); - } - - this.theWorld.setSpawnLocation(); - this.thePlayer = new EntityPlayerSP(this, this.theWorld, this.session); - this.thePlayer.preparePlayerToSpawn(); - this.playerController.flipPlayer(this.thePlayer); - if(this.theWorld != null) { - this.theWorld.playerEntity = this.thePlayer; - this.theWorld.spawnPlayerWithLoadedChunks(); - } - - this.thePlayer.movementInput = new MovementInputFromOptions(this.gameSettings); - this.playerController.onRespawn(this.thePlayer); - this.preloadWorld("Respawning"); - } -} diff --git a/src/main/java/net/minecraft/src/MinecraftError.java b/src/main/java/net/minecraft/src/MinecraftError.java deleted file mode 100644 index 9a75dec..0000000 --- a/src/main/java/net/minecraft/src/MinecraftError.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.minecraft.src; - -public class MinecraftError extends Error { -} diff --git a/src/main/java/net/minecraft/src/ModelBase.java b/src/main/java/net/minecraft/src/ModelBase.java deleted file mode 100644 index 06d3a6f..0000000 --- a/src/main/java/net/minecraft/src/ModelBase.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -public abstract class ModelBase { - public float swingProgress; - - public void render(float var1, float var2, float var3, float var4, float var5, float var6) { - } - - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - } -} diff --git a/src/main/java/net/minecraft/src/ModelBiped.java b/src/main/java/net/minecraft/src/ModelBiped.java deleted file mode 100644 index 5a2b40b..0000000 --- a/src/main/java/net/minecraft/src/ModelBiped.java +++ /dev/null @@ -1,73 +0,0 @@ -package net.minecraft.src; - -public class ModelBiped extends ModelBase { - public ModelRenderer bipedHead; - public ModelRenderer bipedHeadwear; - public ModelRenderer bipedBody; - public ModelRenderer bipedRightArm; - public ModelRenderer bipedLeftArm; - public ModelRenderer bipedRightLeg; - public ModelRenderer bipedLeftLeg; - - public ModelBiped() { - this(0.0F); - } - - public ModelBiped(float var1) { - this(var1, 0.0F); - } - - public ModelBiped(float var1, float var2) { - this.bipedHead = new ModelRenderer(0, 0); - this.bipedHead.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, var1); - this.bipedHead.setRotationPoint(0.0F, 0.0F + var2, 0.0F); - this.bipedHeadwear = new ModelRenderer(32, 0); - this.bipedHeadwear.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, var1 + 0.5F); - this.bipedHeadwear.setRotationPoint(0.0F, 0.0F + var2, 0.0F); - this.bipedBody = new ModelRenderer(16, 16); - this.bipedBody.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, var1); - this.bipedBody.setRotationPoint(0.0F, 0.0F + var2, 0.0F); - this.bipedRightArm = new ModelRenderer(40, 16); - this.bipedRightArm.addBox(-3.0F, -2.0F, -2.0F, 4, 12, 4, var1); - this.bipedRightArm.setRotationPoint(-5.0F, 2.0F + var2, 0.0F); - this.bipedLeftArm = new ModelRenderer(40, 16); - this.bipedLeftArm.mirror = true; - this.bipedLeftArm.addBox(-1.0F, -2.0F, -2.0F, 4, 12, 4, var1); - this.bipedLeftArm.setRotationPoint(5.0F, 2.0F + var2, 0.0F); - this.bipedRightLeg = new ModelRenderer(0, 16); - this.bipedRightLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, var1); - this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F + var2, 0.0F); - this.bipedLeftLeg = new ModelRenderer(0, 16); - this.bipedLeftLeg.mirror = true; - this.bipedLeftLeg.addBox(-2.0F, 0.0F, -2.0F, 4, 12, 4, var1); - this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F + var2, 0.0F); - } - - public void render(float var1, float var2, float var3, float var4, float var5, float var6) { - this.setRotationAngles(var1, var2, var3, var4, var5, var6); - this.bipedHead.render(var6); - this.bipedBody.render(var6); - this.bipedRightArm.render(var6); - this.bipedLeftArm.render(var6); - this.bipedRightLeg.render(var6); - this.bipedLeftLeg.render(var6); - this.bipedHeadwear.render(var6); - } - - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - this.bipedHead.rotateAngleY = var4 / (180.0F / (float)Math.PI); - this.bipedHead.rotateAngleX = var5 / (180.0F / (float)Math.PI); - this.bipedHeadwear.rotateAngleY = this.bipedHead.rotateAngleY; - this.bipedHeadwear.rotateAngleX = this.bipedHead.rotateAngleX; - this.bipedRightArm.rotateAngleX = MathHelper.cos(var1 * 0.6662F + (float)Math.PI) * 2.0F * var2; - this.bipedRightArm.rotateAngleZ = (MathHelper.cos(var1 * 0.2312F) + 1.0F) * 1.0F * var2; - this.bipedLeftArm.rotateAngleX = MathHelper.cos(var1 * 0.6662F) * 2.0F * var2; - this.bipedLeftArm.rotateAngleZ = (MathHelper.cos(var1 * 0.2812F) - 1.0F) * 1.0F * var2; - this.bipedRightLeg.rotateAngleX = MathHelper.cos(var1 * 0.6662F) * 1.4F * var2; - this.bipedLeftLeg.rotateAngleX = MathHelper.cos(var1 * 0.6662F + (float)Math.PI) * 1.4F * var2; - this.bipedRightArm.rotateAngleZ += MathHelper.cos(var3 * 0.09F) * 0.05F + 0.05F; - this.bipedLeftArm.rotateAngleZ -= MathHelper.cos(var3 * 0.09F) * 0.05F + 0.05F; - this.bipedRightArm.rotateAngleX += MathHelper.sin(var3 * 0.067F) * 0.05F; - this.bipedLeftArm.rotateAngleX -= MathHelper.sin(var3 * 0.067F) * 0.05F; - } -} diff --git a/src/main/java/net/minecraft/src/ModelCreeper.java b/src/main/java/net/minecraft/src/ModelCreeper.java deleted file mode 100644 index eac89c4..0000000 --- a/src/main/java/net/minecraft/src/ModelCreeper.java +++ /dev/null @@ -1,56 +0,0 @@ -package net.minecraft.src; - -public class ModelCreeper extends ModelBase { - public ModelRenderer head; - public ModelRenderer headwear; - public ModelRenderer body; - public ModelRenderer leg1; - public ModelRenderer leg2; - public ModelRenderer leg3; - public ModelRenderer leg4; - - public ModelCreeper() { - float var1 = 0.0F; - byte var2 = 4; - this.head = new ModelRenderer(0, 0); - this.head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, var1); - this.head.setRotationPoint(0.0F, (float)var2, 0.0F); - this.headwear = new ModelRenderer(32, 0); - this.headwear.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, var1 + 0.5F); - this.headwear.setRotationPoint(0.0F, (float)var2, 0.0F); - this.body = new ModelRenderer(16, 16); - this.body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, var1); - this.body.setRotationPoint(0.0F, (float)var2, 0.0F); - this.leg1 = new ModelRenderer(0, 16); - this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg1.setRotationPoint(-2.0F, (float)(12 + var2), 4.0F); - this.leg2 = new ModelRenderer(0, 16); - this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg2.setRotationPoint(2.0F, (float)(12 + var2), 4.0F); - this.leg3 = new ModelRenderer(0, 16); - this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg3.setRotationPoint(-2.0F, (float)(12 + var2), -4.0F); - this.leg4 = new ModelRenderer(0, 16); - this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg4.setRotationPoint(2.0F, (float)(12 + var2), -4.0F); - } - - public void render(float var1, float var2, float var3, float var4, float var5, float var6) { - this.setRotationAngles(var1, var2, var3, var4, var5, var6); - this.head.render(var6); - this.body.render(var6); - this.leg1.render(var6); - this.leg2.render(var6); - this.leg3.render(var6); - this.leg4.render(var6); - } - - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - this.head.rotateAngleY = var4 / (180.0F / (float)Math.PI); - this.head.rotateAngleX = var5 / (180.0F / (float)Math.PI); - this.leg1.rotateAngleX = MathHelper.cos(var1 * 0.6662F) * 1.4F * var2; - this.leg2.rotateAngleX = MathHelper.cos(var1 * 0.6662F + (float)Math.PI) * 1.4F * var2; - this.leg3.rotateAngleX = MathHelper.cos(var1 * 0.6662F + (float)Math.PI) * 1.4F * var2; - this.leg4.rotateAngleX = MathHelper.cos(var1 * 0.6662F) * 1.4F * var2; - } -} diff --git a/src/main/java/net/minecraft/src/ModelMinecart.java b/src/main/java/net/minecraft/src/ModelMinecart.java deleted file mode 100644 index 68425ee..0000000 --- a/src/main/java/net/minecraft/src/ModelMinecart.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.minecraft.src; - -public class ModelMinecart extends ModelBase { - public ModelRenderer[] sideModels = new ModelRenderer[7]; - - public ModelMinecart() { - this.sideModels[0] = new ModelRenderer(0, 10); - this.sideModels[1] = new ModelRenderer(0, 0); - this.sideModels[2] = new ModelRenderer(0, 0); - this.sideModels[3] = new ModelRenderer(0, 0); - this.sideModels[4] = new ModelRenderer(0, 0); - this.sideModels[5] = new ModelRenderer(44, 10); - byte var1 = 20; - byte var2 = 8; - byte var3 = 16; - byte var4 = 4; - this.sideModels[0].addBox((float)(-var1 / 2), (float)(-var3 / 2), -1.0F, var1, var3, 2, 0.0F); - this.sideModels[0].setRotationPoint(0.0F, (float)(0 + var4), 0.0F); - this.sideModels[5].addBox((float)(-var1 / 2 + 1), (float)(-var3 / 2 + 1), -1.0F, var1 - 2, var3 - 2, 1, 0.0F); - this.sideModels[5].setRotationPoint(0.0F, (float)(0 + var4), 0.0F); - this.sideModels[1].addBox((float)(-var1 / 2 + 2), (float)(-var2 - 1), -1.0F, var1 - 4, var2, 2, 0.0F); - this.sideModels[1].setRotationPoint((float)(-var1 / 2 + 1), (float)(0 + var4), 0.0F); - this.sideModels[2].addBox((float)(-var1 / 2 + 2), (float)(-var2 - 1), -1.0F, var1 - 4, var2, 2, 0.0F); - this.sideModels[2].setRotationPoint((float)(var1 / 2 - 1), (float)(0 + var4), 0.0F); - this.sideModels[3].addBox((float)(-var1 / 2 + 2), (float)(-var2 - 1), -1.0F, var1 - 4, var2, 2, 0.0F); - this.sideModels[3].setRotationPoint(0.0F, (float)(0 + var4), (float)(-var3 / 2 + 1)); - this.sideModels[4].addBox((float)(-var1 / 2 + 2), (float)(-var2 - 1), -1.0F, var1 - 4, var2, 2, 0.0F); - this.sideModels[4].setRotationPoint(0.0F, (float)(0 + var4), (float)(var3 / 2 - 1)); - this.sideModels[0].rotateAngleX = (float)Math.PI * 0.5F; - this.sideModels[1].rotateAngleY = (float)Math.PI * 3.0F / 2.0F; - this.sideModels[2].rotateAngleY = (float)Math.PI * 0.5F; - this.sideModels[3].rotateAngleY = (float)Math.PI; - this.sideModels[5].rotateAngleX = (float)Math.PI * -0.5F; - } - - public void render(float var1, float var2, float var3, float var4, float var5, float var6) { - this.sideModels[5].rotationPointY = 4.0F - var3; - - for(int var7 = 0; var7 < 6; ++var7) { - this.sideModels[var7].render(var6); - } - - } - - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - } -} diff --git a/src/main/java/net/minecraft/src/ModelPig.java b/src/main/java/net/minecraft/src/ModelPig.java deleted file mode 100644 index c300bd4..0000000 --- a/src/main/java/net/minecraft/src/ModelPig.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -public class ModelPig extends ModelQuadruped { - public ModelPig() { - super(6, 0.0F); - } - - public ModelPig(float var1) { - super(6, var1); - } -} diff --git a/src/main/java/net/minecraft/src/ModelQuadruped.java b/src/main/java/net/minecraft/src/ModelQuadruped.java deleted file mode 100644 index d37c549..0000000 --- a/src/main/java/net/minecraft/src/ModelQuadruped.java +++ /dev/null @@ -1,49 +0,0 @@ -package net.minecraft.src; - -public class ModelQuadruped extends ModelBase { - public ModelRenderer head = new ModelRenderer(0, 0); - public ModelRenderer body; - public ModelRenderer leg1; - public ModelRenderer leg2; - public ModelRenderer leg3; - public ModelRenderer leg4; - - public ModelQuadruped(int var1, float var2) { - this.head.addBox(-4.0F, -4.0F, -8.0F, 8, 8, 8, var2); - this.head.setRotationPoint(0.0F, (float)(18 - var1), -6.0F); - this.body = new ModelRenderer(28, 8); - this.body.addBox(-5.0F, -10.0F, -7.0F, 10, 16, 8, var2); - this.body.setRotationPoint(0.0F, (float)(17 - var1), 2.0F); - this.leg1 = new ModelRenderer(0, 16); - this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, var1, 4, var2); - this.leg1.setRotationPoint(-3.0F, (float)(24 - var1), 7.0F); - this.leg2 = new ModelRenderer(0, 16); - this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, var1, 4, var2); - this.leg2.setRotationPoint(3.0F, (float)(24 - var1), 7.0F); - this.leg3 = new ModelRenderer(0, 16); - this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, var1, 4, var2); - this.leg3.setRotationPoint(-3.0F, (float)(24 - var1), -5.0F); - this.leg4 = new ModelRenderer(0, 16); - this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, var1, 4, var2); - this.leg4.setRotationPoint(3.0F, (float)(24 - var1), -5.0F); - } - - public void render(float var1, float var2, float var3, float var4, float var5, float var6) { - this.setRotationAngles(var1, var2, var3, var4, var5, var6); - this.head.render(var6); - this.body.render(var6); - this.leg1.render(var6); - this.leg2.render(var6); - this.leg3.render(var6); - this.leg4.render(var6); - } - - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - this.head.rotateAngleY = var4 / (180.0F / (float)Math.PI); - this.body.rotateAngleX = (float)Math.PI * 0.5F; - this.leg1.rotateAngleX = MathHelper.cos(var1 * 0.6662F) * 1.4F * var2; - this.leg2.rotateAngleX = MathHelper.cos(var1 * 0.6662F + (float)Math.PI) * 1.4F * var2; - this.leg3.rotateAngleX = MathHelper.cos(var1 * 0.6662F + (float)Math.PI) * 1.4F * var2; - this.leg4.rotateAngleX = MathHelper.cos(var1 * 0.6662F) * 1.4F * var2; - } -} diff --git a/src/main/java/net/minecraft/src/ModelRenderer.java b/src/main/java/net/minecraft/src/ModelRenderer.java deleted file mode 100644 index 20b1eb0..0000000 --- a/src/main/java/net/minecraft/src/ModelRenderer.java +++ /dev/null @@ -1,131 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class ModelRenderer { - private PositionTextureVertex[] corners; - private TexturedQuad[] faces; - private int textureOffsetX; - private int textureOffsetY; - public float rotationPointX; - public float rotationPointY; - public float rotationPointZ; - public float rotateAngleX; - public float rotateAngleY; - public float rotateAngleZ; - private boolean compiled = false; - private int displayList = 0; - public boolean mirror = false; - public boolean showModel = true; - public boolean isHidden = false; - - public ModelRenderer(int var1, int var2) { - this.textureOffsetX = var1; - this.textureOffsetY = var2; - } - - public void addBox(float var1, float var2, float var3, int var4, int var5, int var6, float var7) { - this.corners = new PositionTextureVertex[8]; - this.faces = new TexturedQuad[6]; - float var8 = var1 + (float)var4; - float var9 = var2 + (float)var5; - float var10 = var3 + (float)var6; - var1 -= var7; - var2 -= var7; - var3 -= var7; - var8 += var7; - var9 += var7; - var10 += var7; - if(this.mirror) { - float var11 = var8; - var8 = var1; - var1 = var11; - } - - PositionTextureVertex var20 = new PositionTextureVertex(var1, var2, var3, 0.0F, 0.0F); - PositionTextureVertex var12 = new PositionTextureVertex(var8, var2, var3, 0.0F, 8.0F); - PositionTextureVertex var13 = new PositionTextureVertex(var8, var9, var3, 8.0F, 8.0F); - PositionTextureVertex var14 = new PositionTextureVertex(var1, var9, var3, 8.0F, 0.0F); - PositionTextureVertex var15 = new PositionTextureVertex(var1, var2, var10, 0.0F, 0.0F); - PositionTextureVertex var16 = new PositionTextureVertex(var8, var2, var10, 0.0F, 8.0F); - PositionTextureVertex var17 = new PositionTextureVertex(var8, var9, var10, 8.0F, 8.0F); - PositionTextureVertex var18 = new PositionTextureVertex(var1, var9, var10, 8.0F, 0.0F); - this.corners[0] = var20; - this.corners[1] = var12; - this.corners[2] = var13; - this.corners[3] = var14; - this.corners[4] = var15; - this.corners[5] = var16; - this.corners[6] = var17; - this.corners[7] = var18; - this.faces[0] = new TexturedQuad(new PositionTextureVertex[]{var16, var12, var13, var17}, this.textureOffsetX + var6 + var4, this.textureOffsetY + var6, this.textureOffsetX + var6 + var4 + var6, this.textureOffsetY + var6 + var5); - this.faces[1] = new TexturedQuad(new PositionTextureVertex[]{var20, var15, var18, var14}, this.textureOffsetX + 0, this.textureOffsetY + var6, this.textureOffsetX + var6, this.textureOffsetY + var6 + var5); - this.faces[2] = new TexturedQuad(new PositionTextureVertex[]{var16, var15, var20, var12}, this.textureOffsetX + var6, this.textureOffsetY + 0, this.textureOffsetX + var6 + var4, this.textureOffsetY + var6); - this.faces[3] = new TexturedQuad(new PositionTextureVertex[]{var13, var14, var18, var17}, this.textureOffsetX + var6 + var4, this.textureOffsetY + 0, this.textureOffsetX + var6 + var4 + var4, this.textureOffsetY + var6); - this.faces[4] = new TexturedQuad(new PositionTextureVertex[]{var12, var20, var14, var13}, this.textureOffsetX + var6, this.textureOffsetY + var6, this.textureOffsetX + var6 + var4, this.textureOffsetY + var6 + var5); - this.faces[5] = new TexturedQuad(new PositionTextureVertex[]{var15, var16, var17, var18}, this.textureOffsetX + var6 + var4 + var6, this.textureOffsetY + var6, this.textureOffsetX + var6 + var4 + var6 + var4, this.textureOffsetY + var6 + var5); - if(this.mirror) { - for(int var19 = 0; var19 < this.faces.length; ++var19) { - this.faces[var19].flipFace(); - } - } - - } - - public void setRotationPoint(float var1, float var2, float var3) { - this.rotationPointX = var1; - this.rotationPointY = var2; - this.rotationPointZ = var3; - } - - public void render(float var1) { - if(!this.isHidden) { - if(this.showModel) { - if(!this.compiled) { - this.compileDisplayList(var1); - } - - if(this.rotateAngleX == 0.0F && this.rotateAngleY == 0.0F && this.rotateAngleZ == 0.0F) { - if(this.rotationPointX == 0.0F && this.rotationPointY == 0.0F && this.rotationPointZ == 0.0F) { - GL11.glCallList(this.displayList); - } else { - GL11.glTranslatef(this.rotationPointX * var1, this.rotationPointY * var1, this.rotationPointZ * var1); - GL11.glCallList(this.displayList); - GL11.glTranslatef(-this.rotationPointX * var1, -this.rotationPointY * var1, -this.rotationPointZ * var1); - } - } else { - GL11.glPushMatrix(); - GL11.glTranslatef(this.rotationPointX * var1, this.rotationPointY * var1, this.rotationPointZ * var1); - if(this.rotateAngleZ != 0.0F) { - GL11.glRotatef(this.rotateAngleZ * (180.0F / (float)Math.PI), 0.0F, 0.0F, 1.0F); - } - - if(this.rotateAngleY != 0.0F) { - GL11.glRotatef(this.rotateAngleY * (180.0F / (float)Math.PI), 0.0F, 1.0F, 0.0F); - } - - if(this.rotateAngleX != 0.0F) { - GL11.glRotatef(this.rotateAngleX * (180.0F / (float)Math.PI), 1.0F, 0.0F, 0.0F); - } - - GL11.glCallList(this.displayList); - GL11.glPopMatrix(); - } - - } - } - } - - private void compileDisplayList(float var1) { - this.displayList = GLAllocation.generateDisplayLists(1); - GL11.glNewList(this.displayList, GL11.GL_COMPILE); - Tessellator var2 = Tessellator.instance; - - for(int var3 = 0; var3 < this.faces.length; ++var3) { - this.faces[var3].draw(var2, var1); - } - - GL11.glEndList(); - this.compiled = true; - } -} diff --git a/src/main/java/net/minecraft/src/ModelSheep.java b/src/main/java/net/minecraft/src/ModelSheep.java deleted file mode 100644 index df1c1c4..0000000 --- a/src/main/java/net/minecraft/src/ModelSheep.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.minecraft.src; - -public class ModelSheep extends ModelQuadruped { - public ModelSheep() { - super(12, 0.0F); - this.head = new ModelRenderer(0, 0); - this.head.addBox(-3.0F, -4.0F, -6.0F, 6, 6, 8, 0.0F); - this.head.setRotationPoint(0.0F, 6.0F, -8.0F); - this.body = new ModelRenderer(28, 8); - this.body.addBox(-4.0F, -10.0F, -7.0F, 8, 16, 6, 0.0F); - this.body.setRotationPoint(0.0F, 5.0F, 2.0F); - } -} diff --git a/src/main/java/net/minecraft/src/ModelSheepFur.java b/src/main/java/net/minecraft/src/ModelSheepFur.java deleted file mode 100644 index 55bc761..0000000 --- a/src/main/java/net/minecraft/src/ModelSheepFur.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minecraft.src; - -public class ModelSheepFur extends ModelQuadruped { - public ModelSheepFur() { - super(12, 0.0F); - this.head = new ModelRenderer(0, 0); - this.head.addBox(-3.0F, -4.0F, -4.0F, 6, 6, 6, 0.6F); - this.head.setRotationPoint(0.0F, 6.0F, -8.0F); - this.body = new ModelRenderer(28, 8); - this.body.addBox(-4.0F, -10.0F, -7.0F, 8, 16, 6, 1.75F); - this.body.setRotationPoint(0.0F, 5.0F, 2.0F); - float var1 = 0.5F; - this.leg1 = new ModelRenderer(0, 16); - this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg1.setRotationPoint(-3.0F, 12.0F, 7.0F); - this.leg2 = new ModelRenderer(0, 16); - this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg2.setRotationPoint(3.0F, 12.0F, 7.0F); - this.leg3 = new ModelRenderer(0, 16); - this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg3.setRotationPoint(-3.0F, 12.0F, -5.0F); - this.leg4 = new ModelRenderer(0, 16); - this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, var1); - this.leg4.setRotationPoint(3.0F, 12.0F, -5.0F); - } -} diff --git a/src/main/java/net/minecraft/src/ModelSkeleton.java b/src/main/java/net/minecraft/src/ModelSkeleton.java deleted file mode 100644 index e9447b8..0000000 --- a/src/main/java/net/minecraft/src/ModelSkeleton.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.minecraft.src; - -public class ModelSkeleton extends ModelZombie { - public ModelSkeleton() { - float var1 = 0.0F; - this.bipedRightArm = new ModelRenderer(40, 16); - this.bipedRightArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, var1); - this.bipedRightArm.setRotationPoint(-5.0F, 2.0F, 0.0F); - this.bipedLeftArm = new ModelRenderer(40, 16); - this.bipedLeftArm.mirror = true; - this.bipedLeftArm.addBox(-1.0F, -2.0F, -1.0F, 2, 12, 2, var1); - this.bipedLeftArm.setRotationPoint(5.0F, 2.0F, 0.0F); - this.bipedRightLeg = new ModelRenderer(0, 16); - this.bipedRightLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, var1); - this.bipedRightLeg.setRotationPoint(-2.0F, 12.0F, 0.0F); - this.bipedLeftLeg = new ModelRenderer(0, 16); - this.bipedLeftLeg.mirror = true; - this.bipedLeftLeg.addBox(-1.0F, 0.0F, -1.0F, 2, 12, 2, var1); - this.bipedLeftLeg.setRotationPoint(2.0F, 12.0F, 0.0F); - } -} diff --git a/src/main/java/net/minecraft/src/ModelSpider.java b/src/main/java/net/minecraft/src/ModelSpider.java deleted file mode 100644 index ee7e099..0000000 --- a/src/main/java/net/minecraft/src/ModelSpider.java +++ /dev/null @@ -1,116 +0,0 @@ -package net.minecraft.src; - -public class ModelSpider extends ModelBase { - public ModelRenderer spiderHead; - public ModelRenderer spiderNeck; - public ModelRenderer spiderBody; - public ModelRenderer spiderLeg1; - public ModelRenderer spiderLeg2; - public ModelRenderer spiderLeg3; - public ModelRenderer spiderLeg4; - public ModelRenderer spiderLeg5; - public ModelRenderer spiderLeg6; - public ModelRenderer spiderLeg7; - public ModelRenderer spiderLeg8; - - public ModelSpider() { - float var1 = 0.0F; - byte var2 = 15; - this.spiderHead = new ModelRenderer(32, 4); - this.spiderHead.addBox(-4.0F, -4.0F, -8.0F, 8, 8, 8, var1); - this.spiderHead.setRotationPoint(0.0F, (float)(0 + var2), -3.0F); - this.spiderNeck = new ModelRenderer(0, 0); - this.spiderNeck.addBox(-3.0F, -3.0F, -3.0F, 6, 6, 6, var1); - this.spiderNeck.setRotationPoint(0.0F, (float)var2, 0.0F); - this.spiderBody = new ModelRenderer(0, 12); - this.spiderBody.addBox(-5.0F, -4.0F, -6.0F, 10, 8, 12, var1); - this.spiderBody.setRotationPoint(0.0F, (float)(0 + var2), 9.0F); - this.spiderLeg1 = new ModelRenderer(18, 0); - this.spiderLeg1.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg1.setRotationPoint(-4.0F, (float)(0 + var2), 2.0F); - this.spiderLeg2 = new ModelRenderer(18, 0); - this.spiderLeg2.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg2.setRotationPoint(4.0F, (float)(0 + var2), 2.0F); - this.spiderLeg3 = new ModelRenderer(18, 0); - this.spiderLeg3.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg3.setRotationPoint(-4.0F, (float)(0 + var2), 1.0F); - this.spiderLeg4 = new ModelRenderer(18, 0); - this.spiderLeg4.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg4.setRotationPoint(4.0F, (float)(0 + var2), 1.0F); - this.spiderLeg5 = new ModelRenderer(18, 0); - this.spiderLeg5.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg5.setRotationPoint(-4.0F, (float)(0 + var2), 0.0F); - this.spiderLeg6 = new ModelRenderer(18, 0); - this.spiderLeg6.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg6.setRotationPoint(4.0F, (float)(0 + var2), 0.0F); - this.spiderLeg7 = new ModelRenderer(18, 0); - this.spiderLeg7.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg7.setRotationPoint(-4.0F, (float)(0 + var2), -1.0F); - this.spiderLeg8 = new ModelRenderer(18, 0); - this.spiderLeg8.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, var1); - this.spiderLeg8.setRotationPoint(4.0F, (float)(0 + var2), -1.0F); - } - - public void render(float var1, float var2, float var3, float var4, float var5, float var6) { - this.setRotationAngles(var1, var2, var3, var4, var5, var6); - this.spiderHead.render(var6); - this.spiderNeck.render(var6); - this.spiderBody.render(var6); - this.spiderLeg1.render(var6); - this.spiderLeg2.render(var6); - this.spiderLeg3.render(var6); - this.spiderLeg4.render(var6); - this.spiderLeg5.render(var6); - this.spiderLeg6.render(var6); - this.spiderLeg7.render(var6); - this.spiderLeg8.render(var6); - } - - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - this.spiderHead.rotateAngleY = var4 / (180.0F / (float)Math.PI); - this.spiderHead.rotateAngleX = var5 / (180.0F / (float)Math.PI); - float var7 = (float)Math.PI * 0.25F; - this.spiderLeg1.rotateAngleZ = -var7; - this.spiderLeg2.rotateAngleZ = var7; - this.spiderLeg3.rotateAngleZ = -var7 * 0.74F; - this.spiderLeg4.rotateAngleZ = var7 * 0.74F; - this.spiderLeg5.rotateAngleZ = -var7 * 0.74F; - this.spiderLeg6.rotateAngleZ = var7 * 0.74F; - this.spiderLeg7.rotateAngleZ = -var7; - this.spiderLeg8.rotateAngleZ = var7; - float var8 = -0.0F; - float var9 = (float)Math.PI * 0.125F; - this.spiderLeg1.rotateAngleY = var9 * 2.0F + var8; - this.spiderLeg2.rotateAngleY = -var9 * 2.0F - var8; - this.spiderLeg3.rotateAngleY = var9 * 1.0F + var8; - this.spiderLeg4.rotateAngleY = -var9 * 1.0F - var8; - this.spiderLeg5.rotateAngleY = -var9 * 1.0F + var8; - this.spiderLeg6.rotateAngleY = var9 * 1.0F - var8; - this.spiderLeg7.rotateAngleY = -var9 * 2.0F + var8; - this.spiderLeg8.rotateAngleY = var9 * 2.0F - var8; - float var10 = -(MathHelper.cos(var1 * 0.6662F * 2.0F + 0.0F) * 0.4F) * var2; - float var11 = -(MathHelper.cos(var1 * 0.6662F * 2.0F + (float)Math.PI) * 0.4F) * var2; - float var12 = -(MathHelper.cos(var1 * 0.6662F * 2.0F + (float)Math.PI * 0.5F) * 0.4F) * var2; - float var13 = -(MathHelper.cos(var1 * 0.6662F * 2.0F + (float)Math.PI * 3.0F / 2.0F) * 0.4F) * var2; - float var14 = Math.abs(MathHelper.sin(var1 * 0.6662F + 0.0F) * 0.4F) * var2; - float var15 = Math.abs(MathHelper.sin(var1 * 0.6662F + (float)Math.PI) * 0.4F) * var2; - float var16 = Math.abs(MathHelper.sin(var1 * 0.6662F + (float)Math.PI * 0.5F) * 0.4F) * var2; - float var17 = Math.abs(MathHelper.sin(var1 * 0.6662F + (float)Math.PI * 3.0F / 2.0F) * 0.4F) * var2; - this.spiderLeg1.rotateAngleY += var10; - this.spiderLeg2.rotateAngleY += -var10; - this.spiderLeg3.rotateAngleY += var11; - this.spiderLeg4.rotateAngleY += -var11; - this.spiderLeg5.rotateAngleY += var12; - this.spiderLeg6.rotateAngleY += -var12; - this.spiderLeg7.rotateAngleY += var13; - this.spiderLeg8.rotateAngleY += -var13; - this.spiderLeg1.rotateAngleZ += var14; - this.spiderLeg2.rotateAngleZ += -var14; - this.spiderLeg3.rotateAngleZ += var15; - this.spiderLeg4.rotateAngleZ += -var15; - this.spiderLeg5.rotateAngleZ += var16; - this.spiderLeg6.rotateAngleZ += -var16; - this.spiderLeg7.rotateAngleZ += var17; - this.spiderLeg8.rotateAngleZ += -var17; - } -} diff --git a/src/main/java/net/minecraft/src/ModelZombie.java b/src/main/java/net/minecraft/src/ModelZombie.java deleted file mode 100644 index b0e93e1..0000000 --- a/src/main/java/net/minecraft/src/ModelZombie.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.minecraft.src; - -public class ModelZombie extends ModelBiped { - public void setRotationAngles(float var1, float var2, float var3, float var4, float var5, float var6) { - super.setRotationAngles(var1, var2, var3, var4, var5, var6); - float var7 = MathHelper.sin(this.swingProgress * (float)Math.PI); - float var8 = MathHelper.sin((1.0F - (1.0F - this.swingProgress) * (1.0F - this.swingProgress)) * (float)Math.PI); - this.bipedRightArm.rotateAngleZ = 0.0F; - this.bipedLeftArm.rotateAngleZ = 0.0F; - this.bipedRightArm.rotateAngleY = -(0.1F - var7 * 0.6F); - this.bipedLeftArm.rotateAngleY = 0.1F - var7 * 0.6F; - this.bipedRightArm.rotateAngleX = (float)Math.PI * -0.5F; - this.bipedLeftArm.rotateAngleX = (float)Math.PI * -0.5F; - this.bipedRightArm.rotateAngleX -= var7 * 1.2F - var8 * 0.4F; - this.bipedLeftArm.rotateAngleX -= var7 * 1.2F - var8 * 0.4F; - this.bipedRightArm.rotateAngleZ += MathHelper.cos(var3 * 0.09F) * 0.05F + 0.05F; - this.bipedLeftArm.rotateAngleZ -= MathHelper.cos(var3 * 0.09F) * 0.05F + 0.05F; - this.bipedRightArm.rotateAngleX += MathHelper.sin(var3 * 0.067F) * 0.05F; - this.bipedLeftArm.rotateAngleX -= MathHelper.sin(var3 * 0.067F) * 0.05F; - } -} diff --git a/src/main/java/net/minecraft/src/MouseHelper.java b/src/main/java/net/minecraft/src/MouseHelper.java deleted file mode 100644 index f194c00..0000000 --- a/src/main/java/net/minecraft/src/MouseHelper.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.input.Mouse; -import net.PeytonPlayz585.opengl.LWJGLMain; - -public class MouseHelper { - - public void grabMouseCursor() { - Mouse.setNativeCursor(true); - deltaX = 0; - deltaY = 0; - } - - public void ungrabMouseCursor() { - Mouse.setCursorPosition(LWJGLMain.getCanvasWidth() / 2, LWJGLMain.getCanvasHeight() / 2); - Mouse.setNativeCursor(false); - } - - public void mouseXYChange() { - if(LWJGLMain.isPointerLocked2()) { - deltaX = Mouse.getDX(); - deltaY = Mouse.getDY(); - }else { - deltaX = 0; - deltaY = 0; - } - } - - public int deltaX; - public int deltaY; -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/MovementInput.java b/src/main/java/net/minecraft/src/MovementInput.java deleted file mode 100644 index 0b511d4..0000000 --- a/src/main/java/net/minecraft/src/MovementInput.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class MovementInput { - public float moveStrafe = 0.0F; - public float moveForward = 0.0F; - public boolean unused = false; - public boolean jump = false; - - public void updatePlayerMoveState(EntityPlayer var1) { - } - - public void resetKeyState() { - } - - public void checkKeyForMovementInput(int var1, boolean var2) { - } -} diff --git a/src/main/java/net/minecraft/src/MovementInputFromOptions.java b/src/main/java/net/minecraft/src/MovementInputFromOptions.java deleted file mode 100644 index e92f2ec..0000000 --- a/src/main/java/net/minecraft/src/MovementInputFromOptions.java +++ /dev/null @@ -1,67 +0,0 @@ -package net.minecraft.src; - -public class MovementInputFromOptions extends MovementInput { - private boolean[] movementKeyStates = new boolean[10]; - private GameSettings gameSettings; - - public MovementInputFromOptions(GameSettings var1) { - this.gameSettings = var1; - } - - public void checkKeyForMovementInput(int var1, boolean var2) { - byte var3 = -1; - if(var1 == this.gameSettings.keyBindForward.keyCode) { - var3 = 0; - } - - if(var1 == this.gameSettings.keyBindBack.keyCode) { - var3 = 1; - } - - if(var1 == this.gameSettings.keyBindLeft.keyCode) { - var3 = 2; - } - - if(var1 == this.gameSettings.keyBindRight.keyCode) { - var3 = 3; - } - - if(var1 == this.gameSettings.keyBindJump.keyCode) { - var3 = 4; - } - - if(var3 >= 0) { - this.movementKeyStates[var3] = var2; - } - - } - - public void resetKeyState() { - for(int var1 = 0; var1 < 10; ++var1) { - this.movementKeyStates[var1] = false; - } - - } - - public void updatePlayerMoveState(EntityPlayer var1) { - this.moveStrafe = 0.0F; - this.moveForward = 0.0F; - if(this.movementKeyStates[0]) { - ++this.moveForward; - } - - if(this.movementKeyStates[1]) { - --this.moveForward; - } - - if(this.movementKeyStates[2]) { - ++this.moveStrafe; - } - - if(this.movementKeyStates[3]) { - --this.moveStrafe; - } - - this.jump = this.movementKeyStates[4]; - } -} diff --git a/src/main/java/net/minecraft/src/MovingObjectPosition.java b/src/main/java/net/minecraft/src/MovingObjectPosition.java deleted file mode 100644 index 764010a..0000000 --- a/src/main/java/net/minecraft/src/MovingObjectPosition.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minecraft.src; - -public class MovingObjectPosition { - public int typeOfHit; - public int blockX; - public int blockY; - public int blockZ; - public int sideHit; - public Vec3D hitVec; - public Entity entityHit; - - public MovingObjectPosition(int var1, int var2, int var3, int var4, Vec3D var5) { - this.typeOfHit = 0; - this.blockX = var1; - this.blockY = var2; - this.blockZ = var3; - this.sideHit = var4; - this.hitVec = Vec3D.createVector(var5.xCoord, var5.yCoord, var5.zCoord); - } - - public MovingObjectPosition(Entity var1) { - this.typeOfHit = 1; - this.entityHit = var1; - this.hitVec = Vec3D.createVector(var1.posX, var1.posY, var1.posZ); - } -} diff --git a/src/main/java/net/minecraft/src/NBTBase.java b/src/main/java/net/minecraft/src/NBTBase.java deleted file mode 100644 index ba02104..0000000 --- a/src/main/java/net/minecraft/src/NBTBase.java +++ /dev/null @@ -1,102 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public abstract class NBTBase { - private String key = null; - - abstract void writeTagContents(DataOutput var1) throws IOException; - - abstract void readTagContents(DataInput var1) throws IOException; - - public abstract byte getType(); - - public String getKey() { - return this.key == null ? "" : this.key; - } - - public NBTBase setKey(String var1) { - this.key = var1; - return this; - } - - public static NBTBase readNamedTag(DataInput var0) throws IOException { - byte var1 = var0.readByte(); - if(var1 == 0) { - return new NBTTagEnd(); - } else { - NBTBase var2 = createTagOfType(var1); - var2.key = var0.readUTF(); - var2.readTagContents(var0); - return var2; - } - } - - public static void writeNamedTag(NBTBase var0, DataOutput var1) throws IOException { - var1.writeByte(var0.getType()); - if(var0.getType() != 0) { - var1.writeUTF(var0.getKey()); - var0.writeTagContents(var1); - } - } - - public static NBTBase createTagOfType(byte var0) { - switch(var0) { - case 0: - return new NBTTagEnd(); - case 1: - return new NBTTagByte(); - case 2: - return new NBTTagShort(); - case 3: - return new NBTTagInt(); - case 4: - return new NBTTagLong(); - case 5: - return new NBTTagFloat(); - case 6: - return new NBTTagDouble(); - case 7: - return new NBTTagByteArray(); - case 8: - return new NBTTagString(); - case 9: - return new NBTTagList(); - case 10: - return new NBTTagCompound(); - default: - return null; - } - } - - public static String getTagName(byte var0) { - switch(var0) { - case 0: - return "TAG_End"; - case 1: - return "TAG_Byte"; - case 2: - return "TAG_Short"; - case 3: - return "TAG_Int"; - case 4: - return "TAG_Long"; - case 5: - return "TAG_Float"; - case 6: - return "TAG_Double"; - case 7: - return "TAG_Byte_Array"; - case 8: - return "TAG_String"; - case 9: - return "TAG_List"; - case 10: - return "TAG_Compound"; - default: - return "UNKNOWN"; - } - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagByte.java b/src/main/java/net/minecraft/src/NBTTagByte.java deleted file mode 100644 index 3260724..0000000 --- a/src/main/java/net/minecraft/src/NBTTagByte.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagByte extends NBTBase { - public byte byteValue; - - public NBTTagByte() { - } - - public NBTTagByte(byte var1) { - this.byteValue = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeByte(this.byteValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.byteValue = var1.readByte(); - } - - public byte getType() { - return (byte)1; - } - - public String toString() { - return "" + this.byteValue; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagByteArray.java b/src/main/java/net/minecraft/src/NBTTagByteArray.java deleted file mode 100644 index 0f58fe1..0000000 --- a/src/main/java/net/minecraft/src/NBTTagByteArray.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagByteArray extends NBTBase { - public byte[] byteArray; - - public NBTTagByteArray() { - } - - public NBTTagByteArray(byte[] var1) { - this.byteArray = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeInt(this.byteArray.length); - var1.write(this.byteArray); - } - - void readTagContents(DataInput var1) throws IOException { - int var2 = var1.readInt(); - this.byteArray = new byte[var2]; - var1.readFully(this.byteArray); - } - - public byte getType() { - return (byte)7; - } - - public String toString() { - return "[" + this.byteArray.length + " bytes]"; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagCompound.java b/src/main/java/net/minecraft/src/NBTTagCompound.java deleted file mode 100644 index a7fa2f8..0000000 --- a/src/main/java/net/minecraft/src/NBTTagCompound.java +++ /dev/null @@ -1,128 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -public class NBTTagCompound extends NBTBase { - private Map tagMap = new HashMap(); - - void writeTagContents(DataOutput var1) throws IOException { - Iterator var2 = this.tagMap.values().iterator(); - - while(var2.hasNext()) { - NBTBase var3 = (NBTBase)var2.next(); - NBTBase.writeNamedTag(var3, var1); - } - - var1.writeByte(0); - } - - void readTagContents(DataInput var1) throws IOException { - this.tagMap.clear(); - - while(true) { - NBTBase var2 = NBTBase.readNamedTag(var1); - if(var2.getType() == 0) { - return; - } - - this.tagMap.put(var2.getKey(), var2); - } - } - - public byte getType() { - return (byte)10; - } - - public void setTag(String var1, NBTBase var2) { - this.tagMap.put(var1, var2.setKey(var1)); - } - - public void setByte(String var1, byte var2) { - this.tagMap.put(var1, (new NBTTagByte(var2)).setKey(var1)); - } - - public void setShort(String var1, short var2) { - this.tagMap.put(var1, (new NBTTagShort(var2)).setKey(var1)); - } - - public void setInteger(String var1, int var2) { - this.tagMap.put(var1, (new NBTTagInt(var2)).setKey(var1)); - } - - public void setLong(String var1, long var2) { - this.tagMap.put(var1, (new NBTTagLong(var2)).setKey(var1)); - } - - public void setFloat(String var1, float var2) { - this.tagMap.put(var1, (new NBTTagFloat(var2)).setKey(var1)); - } - - public void setString(String var1, String var2) { - this.tagMap.put(var1, (new NBTTagString(var2)).setKey(var1)); - } - - public void setByteArray(String var1, byte[] var2) { - this.tagMap.put(var1, (new NBTTagByteArray(var2)).setKey(var1)); - } - - public void setCompoundTag(String var1, NBTTagCompound var2) { - this.tagMap.put(var1, var2.setKey(var1)); - } - - public void setBoolean(String var1, boolean var2) { - this.setByte(var1, (byte)(var2 ? 1 : 0)); - } - - public boolean hasKey(String var1) { - return this.tagMap.containsKey(var1); - } - - public byte getByte(String var1) { - return !this.tagMap.containsKey(var1) ? 0 : ((NBTTagByte)this.tagMap.get(var1)).byteValue; - } - - public short getShort(String var1) { - return !this.tagMap.containsKey(var1) ? 0 : ((NBTTagShort)this.tagMap.get(var1)).shortValue; - } - - public int getInteger(String var1) { - return !this.tagMap.containsKey(var1) ? 0 : ((NBTTagInt)this.tagMap.get(var1)).intValue; - } - - public long getLong(String var1) { - return !this.tagMap.containsKey(var1) ? 0L : ((NBTTagLong)this.tagMap.get(var1)).longValue; - } - - public float getFloat(String var1) { - return !this.tagMap.containsKey(var1) ? 0.0F : ((NBTTagFloat)this.tagMap.get(var1)).floatValue; - } - - public String getString(String var1) { - return !this.tagMap.containsKey(var1) ? "" : ((NBTTagString)this.tagMap.get(var1)).stringValue; - } - - public byte[] getByteArray(String var1) { - return !this.tagMap.containsKey(var1) ? new byte[0] : ((NBTTagByteArray)this.tagMap.get(var1)).byteArray; - } - - public NBTTagCompound getCompoundTag(String var1) { - return !this.tagMap.containsKey(var1) ? new NBTTagCompound() : (NBTTagCompound)this.tagMap.get(var1); - } - - public NBTTagList getTagList(String var1) { - return !this.tagMap.containsKey(var1) ? new NBTTagList() : (NBTTagList)this.tagMap.get(var1); - } - - public boolean getBoolean(String var1) { - return this.getByte(var1) != 0; - } - - public String toString() { - return "" + this.tagMap.size() + " entries"; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagDouble.java b/src/main/java/net/minecraft/src/NBTTagDouble.java deleted file mode 100644 index cd00968..0000000 --- a/src/main/java/net/minecraft/src/NBTTagDouble.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagDouble extends NBTBase { - public double doubleValue; - - public NBTTagDouble() { - } - - public NBTTagDouble(double var1) { - this.doubleValue = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeDouble(this.doubleValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.doubleValue = var1.readDouble(); - } - - public byte getType() { - return (byte)6; - } - - public String toString() { - return "" + this.doubleValue; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagEnd.java b/src/main/java/net/minecraft/src/NBTTagEnd.java deleted file mode 100644 index a04e7d6..0000000 --- a/src/main/java/net/minecraft/src/NBTTagEnd.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagEnd extends NBTBase { - void readTagContents(DataInput var1) throws IOException { - } - - void writeTagContents(DataOutput var1) throws IOException { - } - - public byte getType() { - return (byte)0; - } - - public String toString() { - return "END"; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagFloat.java b/src/main/java/net/minecraft/src/NBTTagFloat.java deleted file mode 100644 index cf59c93..0000000 --- a/src/main/java/net/minecraft/src/NBTTagFloat.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagFloat extends NBTBase { - public float floatValue; - - public NBTTagFloat() { - } - - public NBTTagFloat(float var1) { - this.floatValue = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeFloat(this.floatValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.floatValue = var1.readFloat(); - } - - public byte getType() { - return (byte)5; - } - - public String toString() { - return "" + this.floatValue; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagInt.java b/src/main/java/net/minecraft/src/NBTTagInt.java deleted file mode 100644 index 6dfdfe6..0000000 --- a/src/main/java/net/minecraft/src/NBTTagInt.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagInt extends NBTBase { - public int intValue; - - public NBTTagInt() { - } - - public NBTTagInt(int var1) { - this.intValue = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeInt(this.intValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.intValue = var1.readInt(); - } - - public byte getType() { - return (byte)3; - } - - public String toString() { - return "" + this.intValue; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagList.java b/src/main/java/net/minecraft/src/NBTTagList.java deleted file mode 100644 index 3ee8caf..0000000 --- a/src/main/java/net/minecraft/src/NBTTagList.java +++ /dev/null @@ -1,62 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -public class NBTTagList extends NBTBase { - private List tagList = new ArrayList(); - private byte tagType; - - void writeTagContents(DataOutput var1) throws IOException { - if(this.tagList.size() > 0) { - this.tagType = ((NBTBase)this.tagList.get(0)).getType(); - } else { - this.tagType = 1; - } - - var1.writeByte(this.tagType); - var1.writeInt(this.tagList.size()); - - for(int var2 = 0; var2 < this.tagList.size(); ++var2) { - ((NBTBase)this.tagList.get(var2)).writeTagContents(var1); - } - - } - - void readTagContents(DataInput var1) throws IOException { - this.tagType = var1.readByte(); - int var2 = var1.readInt(); - this.tagList = new ArrayList(); - - for(int var3 = 0; var3 < var2; ++var3) { - NBTBase var4 = NBTBase.createTagOfType(this.tagType); - var4.readTagContents(var1); - this.tagList.add(var4); - } - - } - - public byte getType() { - return (byte)9; - } - - public String toString() { - return "" + this.tagList.size() + " entries of type " + NBTBase.getTagName(this.tagType); - } - - public void setTag(NBTBase var1) { - this.tagType = var1.getType(); - this.tagList.add(var1); - } - - public NBTBase tagAt(int var1) { - return (NBTBase)this.tagList.get(var1); - } - - public int tagCount() { - return this.tagList.size(); - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagLong.java b/src/main/java/net/minecraft/src/NBTTagLong.java deleted file mode 100644 index 646f80d..0000000 --- a/src/main/java/net/minecraft/src/NBTTagLong.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagLong extends NBTBase { - public long longValue; - - public NBTTagLong() { - } - - public NBTTagLong(long var1) { - this.longValue = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeLong(this.longValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.longValue = var1.readLong(); - } - - public byte getType() { - return (byte)4; - } - - public String toString() { - return "" + this.longValue; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagShort.java b/src/main/java/net/minecraft/src/NBTTagShort.java deleted file mode 100644 index 3345229..0000000 --- a/src/main/java/net/minecraft/src/NBTTagShort.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagShort extends NBTBase { - public short shortValue; - - public NBTTagShort() { - } - - public NBTTagShort(short var1) { - this.shortValue = var1; - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeShort(this.shortValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.shortValue = var1.readShort(); - } - - public byte getType() { - return (byte)2; - } - - public String toString() { - return "" + this.shortValue; - } -} diff --git a/src/main/java/net/minecraft/src/NBTTagString.java b/src/main/java/net/minecraft/src/NBTTagString.java deleted file mode 100644 index 93fca6e..0000000 --- a/src/main/java/net/minecraft/src/NBTTagString.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.minecraft.src; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.IOException; - -public class NBTTagString extends NBTBase { - public String stringValue; - - public NBTTagString() { - } - - public NBTTagString(String var1) { - this.stringValue = var1; - if(var1 == null) { - throw new IllegalArgumentException("Empty string not allowed"); - } - } - - void writeTagContents(DataOutput var1) throws IOException { - var1.writeUTF(this.stringValue); - } - - void readTagContents(DataInput var1) throws IOException { - this.stringValue = var1.readUTF(); - } - - public byte getType() { - return (byte)8; - } - - public String toString() { - return "" + this.stringValue; - } -} diff --git a/src/main/java/net/minecraft/src/NextTickListEntry.java b/src/main/java/net/minecraft/src/NextTickListEntry.java deleted file mode 100644 index 3870d49..0000000 --- a/src/main/java/net/minecraft/src/NextTickListEntry.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.minecraft.src; - -public class NextTickListEntry implements Comparable { - private static long nextTickEntryID = 0L; - public int xCoord; - public int yCoord; - public int zCoord; - public int blockID; - public long scheduledTime; - private long tickEntryID = nextTickEntryID++; - - public NextTickListEntry(int var1, int var2, int var3, int var4) { - this.xCoord = var1; - this.yCoord = var2; - this.zCoord = var3; - this.blockID = var4; - } - - public boolean equals(Object var1) { - if(!(var1 instanceof NextTickListEntry)) { - return false; - } else { - NextTickListEntry var2 = (NextTickListEntry)var1; - return this.xCoord == var2.xCoord && this.yCoord == var2.yCoord && this.zCoord == var2.zCoord && this.blockID == var2.blockID; - } - } - - public int hashCode() { - return (this.xCoord * 128 * 1024 + this.zCoord * 128 + this.yCoord) * 256 + this.blockID; - } - - public NextTickListEntry setScheduledTime(long var1) { - this.scheduledTime = var1; - return this; - } - - public int a(NextTickListEntry var1) { - return this.scheduledTime < var1.scheduledTime ? -1 : (this.scheduledTime > var1.scheduledTime ? 1 : (this.tickEntryID < var1.tickEntryID ? -1 : (this.tickEntryID > var1.tickEntryID ? 1 : 0))); - } - - public int compareTo(Object var1) { - return this.a((NextTickListEntry)var1); - } -} diff --git a/src/main/java/net/minecraft/src/NibbleArray.java b/src/main/java/net/minecraft/src/NibbleArray.java deleted file mode 100644 index 56a0293..0000000 --- a/src/main/java/net/minecraft/src/NibbleArray.java +++ /dev/null @@ -1,36 +0,0 @@ -package net.minecraft.src; - -public class NibbleArray { - public final byte[] data; - - public NibbleArray(int var1) { - this.data = new byte[var1 >> 1]; - } - - public NibbleArray(byte[] var1) { - this.data = var1; - } - - public int get(int var1, int var2, int var3) { - int var4 = var1 << 11 | var3 << 7 | var2; - int var5 = var4 >> 1; - int var6 = var4 & 1; - return var6 == 0 ? this.data[var5] & 15 : this.data[var5] >> 4 & 15; - } - - public void set(int var1, int var2, int var3, int var4) { - int var5 = var1 << 11 | var3 << 7 | var2; - int var6 = var5 >> 1; - int var7 = var5 & 1; - if(var7 == 0) { - this.data[var6] = (byte)(this.data[var6] & 240 | var4 & 15); - } else { - this.data[var6] = (byte)(this.data[var6] & 15 | (var4 & 15) << 4); - } - - } - - public boolean isValid() { - return this.data != null; - } -} diff --git a/src/main/java/net/minecraft/src/NoiseGenerator.java b/src/main/java/net/minecraft/src/NoiseGenerator.java deleted file mode 100644 index 53e6d05..0000000 --- a/src/main/java/net/minecraft/src/NoiseGenerator.java +++ /dev/null @@ -1,4 +0,0 @@ -package net.minecraft.src; - -public abstract class NoiseGenerator { -} diff --git a/src/main/java/net/minecraft/src/NoiseGeneratorOctaves.java b/src/main/java/net/minecraft/src/NoiseGeneratorOctaves.java deleted file mode 100644 index b58f601..0000000 --- a/src/main/java/net/minecraft/src/NoiseGeneratorOctaves.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class NoiseGeneratorOctaves extends NoiseGenerator { - private NoiseGeneratorPerlin[] generatorCollection; - private int octaves; - - public NoiseGeneratorOctaves(Random var1, int var2) { - this.octaves = var2; - this.generatorCollection = new NoiseGeneratorPerlin[var2]; - - for(int var3 = 0; var3 < var2; ++var3) { - this.generatorCollection[var3] = new NoiseGeneratorPerlin(var1); - } - - } - - public double generateNoiseOctaves(double var1, double var3) { - double var5 = 0.0D; - double var7 = 1.0D; - - for(int var9 = 0; var9 < this.octaves; ++var9) { - var5 += this.generatorCollection[var9].generateNoise(var1 * var7, var3 * var7) / var7; - var7 /= 2.0D; - } - - return var5; - } - - public double a(double var1, double var3, double var5) { - double var7 = 0.0D; - double var9 = 1.0D; - - for(int var11 = 0; var11 < this.octaves; ++var11) { - var7 += this.generatorCollection[var11].c(var1 * var9, var3 * var9, var5 * var9) / var9; - var9 /= 2.0D; - } - - return var7; - } - - public double[] a(double[] var1, int var2, int var3, int var4, int var5, int var6, int var7, double var8, double var10, double var12) { - if(var1 == null) { - var1 = new double[var5 * var6 * var7]; - } else { - for(int var14 = 0; var14 < var1.length; ++var14) { - var1[var14] = 0.0D; - } - } - - double var17 = 1.0D; - - for(int var16 = 0; var16 < this.octaves; ++var16) { - this.generatorCollection[var16].a(var1, var2, var3, var4, var5, var6, var7, var8 * var17, var10 * var17, var12 * var17, var17); - var17 /= 2.0D; - } - - return var1; - } -} diff --git a/src/main/java/net/minecraft/src/NoiseGeneratorPerlin.java b/src/main/java/net/minecraft/src/NoiseGeneratorPerlin.java deleted file mode 100644 index 29fb064..0000000 --- a/src/main/java/net/minecraft/src/NoiseGeneratorPerlin.java +++ /dev/null @@ -1,162 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class NoiseGeneratorPerlin extends NoiseGenerator { - private int[] permutations; - public double xCoord; - public double yCoord; - public double zCoord; - - public NoiseGeneratorPerlin() { - this(new Random()); - } - - public NoiseGeneratorPerlin(Random var1) { - this.permutations = new int[512]; - this.xCoord = var1.nextDouble() * 256.0D; - this.yCoord = var1.nextDouble() * 256.0D; - this.zCoord = var1.nextDouble() * 256.0D; - - int var2; - for(var2 = 0; var2 < 256; this.permutations[var2] = var2++) { - } - - for(var2 = 0; var2 < 256; ++var2) { - int var3 = var1.nextInt(256 - var2) + var2; - int var4 = this.permutations[var2]; - this.permutations[var2] = this.permutations[var3]; - this.permutations[var3] = var4; - this.permutations[var2 + 256] = this.permutations[var2]; - } - - } - - public double generateNoise(double var1, double var3, double var5) { - double var7 = var1 + this.xCoord; - double var9 = var3 + this.yCoord; - double var11 = var5 + this.zCoord; - int var13 = (int)var7; - int var14 = (int)var9; - int var15 = (int)var11; - if(var7 < (double)var13) { - --var13; - } - - if(var9 < (double)var14) { - --var14; - } - - if(var11 < (double)var15) { - --var15; - } - - int var16 = var13 & 255; - int var17 = var14 & 255; - int var18 = var15 & 255; - var7 -= (double)var13; - var9 -= (double)var14; - var11 -= (double)var15; - double var19 = var7 * var7 * var7 * (var7 * (var7 * 6.0D - 15.0D) + 10.0D); - double var21 = var9 * var9 * var9 * (var9 * (var9 * 6.0D - 15.0D) + 10.0D); - double var23 = var11 * var11 * var11 * (var11 * (var11 * 6.0D - 15.0D) + 10.0D); - int var25 = this.permutations[var16] + var17; - int var26 = this.permutations[var25] + var18; - int var27 = this.permutations[var25 + 1] + var18; - int var28 = this.permutations[var16 + 1] + var17; - int var29 = this.permutations[var28] + var18; - int var30 = this.permutations[var28 + 1] + var18; - return this.lerp(var23, this.lerp(var21, this.lerp(var19, this.grad(this.permutations[var26], var7, var9, var11), this.grad(this.permutations[var29], var7 - 1.0D, var9, var11)), this.lerp(var19, this.grad(this.permutations[var27], var7, var9 - 1.0D, var11), this.grad(this.permutations[var30], var7 - 1.0D, var9 - 1.0D, var11))), this.lerp(var21, this.lerp(var19, this.grad(this.permutations[var26 + 1], var7, var9, var11 - 1.0D), this.grad(this.permutations[var29 + 1], var7 - 1.0D, var9, var11 - 1.0D)), this.lerp(var19, this.grad(this.permutations[var27 + 1], var7, var9 - 1.0D, var11 - 1.0D), this.grad(this.permutations[var30 + 1], var7 - 1.0D, var9 - 1.0D, var11 - 1.0D)))); - } - - public double lerp(double var1, double var3, double var5) { - return var3 + var1 * (var5 - var3); - } - - public double grad(int var1, double var2, double var4, double var6) { - int var8 = var1 & 15; - double var9 = var8 < 8 ? var2 : var4; - double var11 = var8 < 4 ? var4 : (var8 != 12 && var8 != 14 ? var6 : var2); - return ((var8 & 1) == 0 ? var9 : -var9) + ((var8 & 2) == 0 ? var11 : -var11); - } - - public double generateNoise(double var1, double var3) { - return this.generateNoise(var1, var3, 0.0D); - } - - public double c(double var1, double var3, double var5) { - return this.generateNoise(var1, var3, var5); - } - - public void a(double[] var1, int var2, int var3, int var4, int var5, int var6, int var7, double var8, double var10, double var12, double var14) { - int var16 = 0; - double var17 = 1.0D / var14; - int var19 = -1; - boolean var20 = false; - boolean var21 = false; - boolean var22 = false; - boolean var23 = false; - boolean var24 = false; - boolean var25 = false; - double var26 = 0.0D; - double var28 = 0.0D; - double var30 = 0.0D; - double var32 = 0.0D; - - for(int var34 = 0; var34 < var5; ++var34) { - double var35 = (double)(var2 + var34) * var8 + this.xCoord; - int var37 = (int)var35; - if(var35 < (double)var37) { - --var37; - } - - int var38 = var37 & 255; - var35 -= (double)var37; - double var39 = var35 * var35 * var35 * (var35 * (var35 * 6.0D - 15.0D) + 10.0D); - - for(int var41 = 0; var41 < var7; ++var41) { - double var42 = (double)(var4 + var41) * var12 + this.zCoord; - int var44 = (int)var42; - if(var42 < (double)var44) { - --var44; - } - - int var45 = var44 & 255; - var42 -= (double)var44; - double var46 = var42 * var42 * var42 * (var42 * (var42 * 6.0D - 15.0D) + 10.0D); - - for(int var48 = 0; var48 < var6; ++var48) { - double var49 = (double)(var3 + var48) * var10 + this.yCoord; - int var51 = (int)var49; - if(var49 < (double)var51) { - --var51; - } - - int var52 = var51 & 255; - var49 -= (double)var51; - double var53 = var49 * var49 * var49 * (var49 * (var49 * 6.0D - 15.0D) + 10.0D); - if(var48 == 0 || var52 != var19) { - var19 = var52; - int var61 = this.permutations[var38] + var52; - int var62 = this.permutations[var61] + var45; - int var63 = this.permutations[var61 + 1] + var45; - int var64 = this.permutations[var38 + 1] + var52; - int var65 = this.permutations[var64] + var45; - int var66 = this.permutations[var64 + 1] + var45; - var26 = this.lerp(var39, this.grad(this.permutations[var62], var35, var49, var42), this.grad(this.permutations[var65], var35 - 1.0D, var49, var42)); - var28 = this.lerp(var39, this.grad(this.permutations[var63], var35, var49 - 1.0D, var42), this.grad(this.permutations[var66], var35 - 1.0D, var49 - 1.0D, var42)); - var30 = this.lerp(var39, this.grad(this.permutations[var62 + 1], var35, var49, var42 - 1.0D), this.grad(this.permutations[var65 + 1], var35 - 1.0D, var49, var42 - 1.0D)); - var32 = this.lerp(var39, this.grad(this.permutations[var63 + 1], var35, var49 - 1.0D, var42 - 1.0D), this.grad(this.permutations[var66 + 1], var35 - 1.0D, var49 - 1.0D, var42 - 1.0D)); - } - - double var55 = this.lerp(var53, var26, var28); - double var57 = this.lerp(var53, var30, var32); - double var59 = this.lerp(var46, var55, var57); - int var10001 = var16++; - var1[var10001] += var59 * var17; - } - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/OSMap.java b/src/main/java/net/minecraft/src/OSMap.java deleted file mode 100644 index c183c05..0000000 --- a/src/main/java/net/minecraft/src/OSMap.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.minecraft.src; - -class OSMap { - static final int[] osValues = new int[EnumOS.values().length]; - - static { - try { - osValues[EnumOS.linux.ordinal()] = 1; - } catch (NoSuchFieldError var4) { - } - - try { - osValues[EnumOS.solaris.ordinal()] = 2; - } catch (NoSuchFieldError var3) { - } - - try { - osValues[EnumOS.windows.ordinal()] = 3; - } catch (NoSuchFieldError var2) { - } - - try { - osValues[EnumOS.macos.ordinal()] = 4; - } catch (NoSuchFieldError var1) { - } - - } -} diff --git a/src/main/java/net/minecraft/src/OSMapIsom.java b/src/main/java/net/minecraft/src/OSMapIsom.java deleted file mode 100644 index 16687c5..0000000 --- a/src/main/java/net/minecraft/src/OSMapIsom.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.minecraft.src; - -class OSMapIsom { - static final int[] osValues = new int[EnumOSIsom.values().length]; - - static { - try { - osValues[EnumOSIsom.linux.ordinal()] = 1; - } catch (NoSuchFieldError var4) { - } - - try { - osValues[EnumOSIsom.solaris.ordinal()] = 2; - } catch (NoSuchFieldError var3) { - } - - try { - osValues[EnumOSIsom.windows.ordinal()] = 3; - } catch (NoSuchFieldError var2) { - } - - try { - osValues[EnumOSIsom.macos.ordinal()] = 4; - } catch (NoSuchFieldError var1) { - } - - } -} diff --git a/src/main/java/net/minecraft/src/PanelCrashReport.java b/src/main/java/net/minecraft/src/PanelCrashReport.java deleted file mode 100644 index ef40e49..0000000 --- a/src/main/java/net/minecraft/src/PanelCrashReport.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.minecraft.src; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.text.SimpleDateFormat; -import java.util.Date; -import org.lwjgl.opengl.GL11; - -public class PanelCrashReport { - public PanelCrashReport(UnexpectedThrowable var1) { - StringWriter var2 = new StringWriter(); - var1.exception.printStackTrace(new PrintWriter(var2)); - String var3 = var2.toString(); - String var4 = ""; - String var5 = ""; - - try { - var5 = var5 + "Generated " + (new SimpleDateFormat()).format(new Date()) + "\n"; - var5 = var5 + "\n"; - var5 = var5 + "Minecraft: Minecraft Infdev\n"; - var5 = var5 + "OS: " + System.getProperty("os.name") + " (" + System.getProperty("os.arch") + ") version " + System.getProperty("os.version") + "\n"; - var5 = var5 + "Java: " + "1.8" + ", " + "JDK (Java Development Kit)" + "\n"; - var5 = var5 + "VM: " + "OpenGL Desktop Emulator" + " (" + "WebGL 2.0" + "), " + "\n"; - var5 = var5 + "WebGL: " + "2.0" + "\n"; - var4 = GL11.gluErrorString(GL11.GL_VENDOR); - var5 = var5 + "OpenGL: " + GL11.gluErrorString(GL11.GL_RENDERER) + " version " + GL11.gluErrorString(GL11.GL_VERSION) + ", " + GL11.gluErrorString(GL11.GL_VENDOR) + "\n"; - } catch (Throwable var8) { - var5 = var5 + "[failed to get system properties]\n"; - } - - var5 = var5 + "\n"; - var5 = var5 + var3; - String var6 = ""; - var6 = var6 + "\n"; - var6 = var6 + "\n"; - if(var3.contains("Pixel format not accelerated")) { - var6 = var6 + " Bad video card drivers! \n"; - var6 = var6 + " ----------------------- \n"; - var6 = var6 + "\n"; - var6 = var6 + "Minecraft was unable to start because it failed to find an accelerated OpenGL mode.\n"; - var6 = var6 + "This can usually be fixed by updating the video card drivers.\n"; - if(var4.toLowerCase().contains("nvidia")) { - var6 = var6 + "\n"; - var6 = var6 + "You might be able to find drivers for your video card here:\n"; - var6 = var6 + " http://www.nvidia.com/\n"; - } else if(var4.toLowerCase().contains("ati")) { - var6 = var6 + "\n"; - var6 = var6 + "You might be able to find drivers for your video card here:\n"; - var6 = var6 + " http://www.amd.com/\n"; - } - } else { - var6 = var6 + " Minecraft has crashed! \n"; - var6 = var6 + " ---------------------- \n"; - var6 = var6 + "\n"; - var6 = var6 + "Minecraft has stopped running because it encountered a problem.\n"; - var6 = var6 + "\n"; - var6 = var6 + "If you wish to report this, please copy this entire text and email it to support@mojang.com.\n"; - var6 = var6 + "Please include a description of what you did when the error occured.\n"; - } - - var6 = var6 + "\n"; - var6 = var6 + "\n"; - var6 = var6 + "\n"; - var6 = var6 + "--- BEGIN ERROR REPORT " + Integer.toHexString(var6.hashCode()) + " --------\n"; - var6 = var6 + var5; - var6 = var6 + "--- END ERROR REPORT " + Integer.toHexString(var6.hashCode()) + " ----------\n"; - var6 = var6 + "\n"; - var6 = var6 + "\n"; - } -} diff --git a/src/main/java/net/minecraft/src/Path.java b/src/main/java/net/minecraft/src/Path.java deleted file mode 100644 index ce289f0..0000000 --- a/src/main/java/net/minecraft/src/Path.java +++ /dev/null @@ -1,119 +0,0 @@ -package net.minecraft.src; - -public class Path { - private PathPoint[] pathPoints = new PathPoint[1024]; - private int count = 0; - - public PathPoint addPoint(PathPoint var1) { - if(var1.index >= 0) { - throw new IllegalStateException("OW KNOWS!"); - } else { - if(this.count == this.pathPoints.length) { - PathPoint[] var2 = new PathPoint[this.count << 1]; - System.arraycopy(this.pathPoints, 0, var2, 0, this.count); - this.pathPoints = var2; - } - - this.pathPoints[this.count] = var1; - var1.index = this.count; - this.sortBack(this.count++); - return var1; - } - } - - public void clearPath() { - this.count = 0; - } - - public PathPoint dequeue() { - PathPoint var1 = this.pathPoints[0]; - this.pathPoints[0] = this.pathPoints[--this.count]; - this.pathPoints[this.count] = null; - if(this.count > 0) { - this.sortForward(0); - } - - var1.index = -1; - return var1; - } - - public void changeDistance(PathPoint var1, float var2) { - float var3 = var1.distanceToTarget; - var1.distanceToTarget = var2; - if(var2 < var3) { - this.sortBack(var1.index); - } else { - this.sortForward(var1.index); - } - - } - - private void sortBack(int var1) { - PathPoint var2 = this.pathPoints[var1]; - - int var4; - for(float var3 = var2.distanceToTarget; var1 > 0; var1 = var4) { - var4 = var1 - 1 >> 1; - PathPoint var5 = this.pathPoints[var4]; - if(var3 >= var5.distanceToTarget) { - break; - } - - this.pathPoints[var1] = var5; - var5.index = var1; - } - - this.pathPoints[var1] = var2; - var2.index = var1; - } - - private void sortForward(int var1) { - PathPoint var2 = this.pathPoints[var1]; - float var3 = var2.distanceToTarget; - - while(true) { - int var4 = 1 + (var1 << 1); - int var5 = var4 + 1; - if(var4 >= this.count) { - break; - } - - PathPoint var6 = this.pathPoints[var4]; - float var7 = var6.distanceToTarget; - PathPoint var8; - float var9; - if(var5 >= this.count) { - var8 = null; - var9 = Float.POSITIVE_INFINITY; - } else { - var8 = this.pathPoints[var5]; - var9 = var8.distanceToTarget; - } - - if(var7 < var9) { - if(var7 >= var3) { - break; - } - - this.pathPoints[var1] = var6; - var6.index = var1; - var1 = var4; - } else { - if(var9 >= var3) { - break; - } - - this.pathPoints[var1] = var8; - var8.index = var1; - var1 = var5; - } - } - - this.pathPoints[var1] = var2; - var2.index = var1; - } - - public boolean isPathEmpty() { - return this.count == 0; - } -} diff --git a/src/main/java/net/minecraft/src/PathEntity.java b/src/main/java/net/minecraft/src/PathEntity.java deleted file mode 100644 index e1994b1..0000000 --- a/src/main/java/net/minecraft/src/PathEntity.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.minecraft.src; - -public class PathEntity { - private final PathPoint[] points; - public final int pathLength; - private int pathIndex; - - public PathEntity(PathPoint[] var1) { - this.points = var1; - this.pathLength = var1.length; - } - - public void incrementPathIndex() { - ++this.pathIndex; - } - - public boolean isFinished() { - return this.pathIndex >= this.points.length; - } - - public Vec3D getPosition(Entity var1) { - float var2 = (float)this.points[this.pathIndex].xCoord + (float)((int)(var1.width + 1.0F)) * 0.5F; - float var3 = (float)this.points[this.pathIndex].yCoord; - float var4 = (float)this.points[this.pathIndex].zCoord + (float)((int)(var1.width + 1.0F)) * 0.5F; - return Vec3D.createVector((double)var2, (double)var3, (double)var4); - } -} diff --git a/src/main/java/net/minecraft/src/PathPoint.java b/src/main/java/net/minecraft/src/PathPoint.java deleted file mode 100644 index 7df70dd..0000000 --- a/src/main/java/net/minecraft/src/PathPoint.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.minecraft.src; - -public class PathPoint { - public final int xCoord; - public final int yCoord; - public final int zCoord; - public final int hash; - int index = -1; - float totalPathDistance; - float distanceToNext; - float distanceToTarget; - PathPoint previous; - public boolean isFirst = false; - - public PathPoint(int var1, int var2, int var3) { - this.xCoord = var1; - this.yCoord = var2; - this.zCoord = var3; - this.hash = var1 | var2 << 10 | var3 << 20; - } - - public float distanceTo(PathPoint var1) { - float var2 = (float)(var1.xCoord - this.xCoord); - float var3 = (float)(var1.yCoord - this.yCoord); - float var4 = (float)(var1.zCoord - this.zCoord); - return MathHelper.sqrt_float(var2 * var2 + var3 * var3 + var4 * var4); - } - - public boolean equals(Object var1) { - return ((PathPoint)var1).hash == this.hash; - } - - public int hashCode() { - return this.hash; - } - - public boolean isAssigned() { - return this.index >= 0; - } - - public String toString() { - return this.xCoord + ", " + this.yCoord + ", " + this.zCoord; - } -} diff --git a/src/main/java/net/minecraft/src/Pathfinder.java b/src/main/java/net/minecraft/src/Pathfinder.java deleted file mode 100644 index 7887c4f..0000000 --- a/src/main/java/net/minecraft/src/Pathfinder.java +++ /dev/null @@ -1,205 +0,0 @@ -package net.minecraft.src; - -import java.util.HashMap; -import java.util.Map; - -public class Pathfinder { - private IBlockAccess worldMap; - private Path path = new Path(); - private Map pointMap = new HashMap(); - private PathPoint[] pathOptions = new PathPoint[32]; - - public Pathfinder(IBlockAccess var1) { - this.worldMap = var1; - } - - public PathEntity createEntityPathTo(Entity var1, Entity var2, float var3) { - return this.createEntityPathTo(var1, var2.posX, var2.boundingBox.minY, var2.posZ, var3); - } - - public PathEntity createEntityPathTo(Entity var1, int var2, int var3, int var4, float var5) { - return this.createEntityPathTo(var1, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), var5); - } - - private PathEntity createEntityPathTo(Entity var1, double var2, double var4, double var6, float var8) { - this.path.clearPath(); - this.pointMap.clear(); - PathPoint var9 = this.openPoint(MathHelper.floor_double(var1.boundingBox.minX), MathHelper.floor_double(var1.boundingBox.minY), MathHelper.floor_double(var1.boundingBox.minZ)); - PathPoint var10 = this.openPoint(MathHelper.floor_double(var2 - (double)(var1.width / 2.0F)), MathHelper.floor_double(var4), MathHelper.floor_double(var6 - (double)(var1.width / 2.0F))); - PathPoint var11 = new PathPoint(MathHelper.floor_float(var1.width + 1.0F), MathHelper.floor_float(var1.height + 1.0F), MathHelper.floor_float(var1.width + 1.0F)); - PathEntity var12 = this.addToPath(var1, var9, var10, var11, var8); - return var12; - } - - private PathEntity addToPath(Entity var1, PathPoint var2, PathPoint var3, PathPoint var4, float var5) { - var2.totalPathDistance = 0.0F; - var2.distanceToNext = var2.distanceTo(var3); - var2.distanceToTarget = var2.distanceToNext; - this.path.clearPath(); - this.path.addPoint(var2); - PathPoint var6 = var2; - - while(!this.path.isPathEmpty()) { - PathPoint var7 = this.path.dequeue(); - if(var7.hash == var3.hash) { - return this.createEntityPath(var2, var3); - } - - if(var7.distanceTo(var3) < var6.distanceTo(var3)) { - var6 = var7; - } - - var7.isFirst = true; - int var8 = this.findPathOptions(var1, var7, var4, var3, var5); - - for(int var9 = 0; var9 < var8; ++var9) { - PathPoint var10 = this.pathOptions[var9]; - float var11 = var7.totalPathDistance + var7.distanceTo(var10); - if(!var10.isAssigned() || var11 < var10.totalPathDistance) { - var10.previous = var7; - var10.totalPathDistance = var11; - var10.distanceToNext = var10.distanceTo(var3); - if(var10.isAssigned()) { - this.path.changeDistance(var10, var10.totalPathDistance + var10.distanceToNext); - } else { - var10.distanceToTarget = var10.totalPathDistance + var10.distanceToNext; - this.path.addPoint(var10); - } - } - } - } - - if(var6 == var2) { - return null; - } else { - return this.createEntityPath(var2, var6); - } - } - - private int findPathOptions(Entity var1, PathPoint var2, PathPoint var3, PathPoint var4, float var5) { - int var6 = 0; - byte var7 = 0; - if(this.getVerticalOffset(var1, var2.xCoord, var2.yCoord + 1, var2.zCoord, var3) > 0) { - var7 = 1; - } - - PathPoint var8 = this.getSafePoint(var1, var2.xCoord, var2.yCoord, var2.zCoord + 1, var3, var7); - PathPoint var9 = this.getSafePoint(var1, var2.xCoord - 1, var2.yCoord, var2.zCoord, var3, var7); - PathPoint var10 = this.getSafePoint(var1, var2.xCoord + 1, var2.yCoord, var2.zCoord, var3, var7); - PathPoint var11 = this.getSafePoint(var1, var2.xCoord, var2.yCoord, var2.zCoord - 1, var3, var7); - if(var8 != null && !var8.isFirst && var8.distanceTo(var4) < var5) { - this.pathOptions[var6++] = var8; - } - - if(var9 != null && !var9.isFirst && var9.distanceTo(var4) < var5) { - this.pathOptions[var6++] = var9; - } - - if(var10 != null && !var10.isFirst && var10.distanceTo(var4) < var5) { - this.pathOptions[var6++] = var10; - } - - if(var11 != null && !var11.isFirst && var11.distanceTo(var4) < var5) { - this.pathOptions[var6++] = var11; - } - - return var6; - } - - private PathPoint getSafePoint(Entity var1, int var2, int var3, int var4, PathPoint var5, int var6) { - PathPoint var7 = null; - if(this.getVerticalOffset(var1, var2, var3, var4, var5) > 0) { - var7 = this.openPoint(var2, var3, var4); - } - - if(var7 == null && this.getVerticalOffset(var1, var2, var3 + var6, var4, var5) > 0) { - var7 = this.openPoint(var2, var3 + var6, var4); - } - - if(var7 != null) { - int var8 = 0; - boolean var9 = false; - - while(true) { - if(var3 > 0) { - int var11 = this.getVerticalOffset(var1, var2, var3 - 1, var4, var5); - if(var11 > 0) { - if(var11 < 0) { - return null; - } - - ++var8; - if(var8 >= 4) { - return null; - } - - --var3; - continue; - } - } - - if(var3 > 0) { - var7 = this.openPoint(var2, var3, var4); - } - - Material var10 = this.worldMap.getBlockMaterial(var2, var3 - 1, var4); - if(var10 == Material.water || var10 == Material.lava) { - return null; - } - break; - } - } - - return var7; - } - - private final PathPoint openPoint(int var1, int var2, int var3) { - int var4 = var1 | var2 << 10 | var3 << 20; - PathPoint var5 = (PathPoint)this.pointMap.get(Integer.valueOf(var4)); - if(var5 == null) { - var5 = new PathPoint(var1, var2, var3); - this.pointMap.put(Integer.valueOf(var4), var5); - } - - return var5; - } - - private int getVerticalOffset(Entity var1, int var2, int var3, int var4, PathPoint var5) { - for(int var6 = var2; var6 < var2 + var5.xCoord; ++var6) { - for(int var7 = var3; var7 < var3 + var5.yCoord; ++var7) { - for(int var8 = var4; var8 < var4 + var5.zCoord; ++var8) { - Material var9 = this.worldMap.getBlockMaterial(var2, var3, var4); - if(var9.getIsSolid()) { - return 0; - } - - if(var9 == Material.water || var9 == Material.lava) { - return -1; - } - } - } - } - - return 1; - } - - private PathEntity createEntityPath(PathPoint var1, PathPoint var2) { - int var3 = 1; - - PathPoint var4; - for(var4 = var2; var4.previous != null; var4 = var4.previous) { - ++var3; - } - - PathPoint[] var5 = new PathPoint[var3]; - var4 = var2; - --var3; - - for(var5[var3] = var2; var4.previous != null; var5[var3] = var4) { - var4 = var4.previous; - --var3; - } - - return new PathEntity(var5); - } -} diff --git a/src/main/java/net/minecraft/src/PlayerController.java b/src/main/java/net/minecraft/src/PlayerController.java deleted file mode 100644 index 89da0df..0000000 --- a/src/main/java/net/minecraft/src/PlayerController.java +++ /dev/null @@ -1,60 +0,0 @@ -package net.minecraft.src; - -public class PlayerController { - protected final Minecraft mc; - public boolean isInTestMode = false; - - public PlayerController(Minecraft var1) { - this.mc = var1; - } - - public void init() { - } - - public void onWorldChange(World var1) { - } - - public void clickBlock(int var1, int var2, int var3) { - this.sendBlockRemoved(var1, var2, var3); - } - - public boolean sendBlockRemoved(int var1, int var2, int var3) { - this.mc.effectRenderer.addBlockDestroyEffects(var1, var2, var3); - World var4 = this.mc.theWorld; - Block var5 = Block.blocksList[var4.getBlockId(var1, var2, var3)]; - int var6 = var4.getBlockMetadata(var1, var2, var3); - boolean var7 = var4.setBlockWithNotify(var1, var2, var3, 0); - if(var5 != null && var7) { - //this.mc.sndManager.playSound(var5.stepSound.getBreakSound(), (float)var1 + 0.5F, (float)var2 + 0.5F, (float)var3 + 0.5F, (var5.stepSound.getVolume() + 1.0F) / 2.0F, var5.stepSound.getPitch() * 0.8F); - var5.onBlockDestroyedByPlayer(var4, var1, var2, var3, var6); - } - - return var7; - } - - public void sendBlockRemoving(int var1, int var2, int var3, int var4) { - } - - public void resetBlockRemoving() { - } - - public void setPartialTime(float var1) { - } - - public float getBlockReachDistance() { - return 5.0F; - } - - public void flipPlayer(EntityPlayer var1) { - } - - public void onUpdate() { - } - - public boolean shouldDrawHUD() { - return true; - } - - public void onRespawn(EntityPlayer var1) { - } -} diff --git a/src/main/java/net/minecraft/src/PlayerControllerCreative.java b/src/main/java/net/minecraft/src/PlayerControllerCreative.java deleted file mode 100644 index 960d62a..0000000 --- a/src/main/java/net/minecraft/src/PlayerControllerCreative.java +++ /dev/null @@ -1,33 +0,0 @@ -package net.minecraft.src; - -public class PlayerControllerCreative extends PlayerController { - public PlayerControllerCreative(Minecraft var1) { - super(var1); - this.isInTestMode = true; - } - - public void init() { - } - - public void onRespawn(EntityPlayer var1) { - for(int var2 = 0; var2 < 9; ++var2) { - if(var1.inventory.mainInventory[var2] == null) { - this.mc.thePlayer.inventory.mainInventory[var2] = new ItemStack(((Block)Session.registeredBlocksList.get(var2)).blockID); - } else { - this.mc.thePlayer.inventory.mainInventory[var2].stackSize = 1; - } - } - - } - - public boolean shouldDrawHUD() { - return false; - } - - public void onWorldChange(World var1) { - super.onWorldChange(var1); - } - - public void onUpdate() { - } -} diff --git a/src/main/java/net/minecraft/src/PlayerControllerSP.java b/src/main/java/net/minecraft/src/PlayerControllerSP.java deleted file mode 100644 index dea3522..0000000 --- a/src/main/java/net/minecraft/src/PlayerControllerSP.java +++ /dev/null @@ -1,124 +0,0 @@ -package net.minecraft.src; - -public class PlayerControllerSP extends PlayerController { - private int curBlockX = -1; - private int curBlockY = -1; - private int curBlockZ = -1; - private float curBlockDamage = 0.0F; - private float prevBlockDamage = 0.0F; - private float blockDestroySoundCounter = 0.0F; - private int blockHitWait = 0; - private SpawnerAnimals monsterSpawner = new SpawnerMonsters(this, 100, EntityMonster.class, new Class[]{EntityZombie.class, EntitySkeleton.class, EntityCreeper.class, EntitySpider.class}); - private SpawnerAnimals animalSpawner = new SpawnerAnimals(20, EntityAnimal.class, new Class[]{EntitySheep.class, EntityPig.class}); - - public PlayerControllerSP(Minecraft var1) { - super(var1); - } - - public void flipPlayer(EntityPlayer var1) { - var1.rotationYaw = -180.0F; - } - - public void init() { - } - - public boolean sendBlockRemoved(int var1, int var2, int var3) { - int var4 = this.mc.theWorld.getBlockId(var1, var2, var3); - int var5 = this.mc.theWorld.getBlockMetadata(var1, var2, var3); - boolean var6 = super.sendBlockRemoved(var1, var2, var3); - ItemStack var7 = this.mc.thePlayer.getCurrentEquippedItem(); - if(var7 != null) { - var7.onDestroyBlock(var4, var1, var2, var3); - if(var7.stackSize == 0) { - var7.onItemDestroyedByUse(this.mc.thePlayer); - this.mc.thePlayer.displayGUIInventory(); - } - } - - if(var6 && this.mc.thePlayer.canHarvestBlock(Block.blocksList[var4])) { - Block.blocksList[var4].dropBlockAsItem(this.mc.theWorld, var1, var2, var3, var5); - } - - return var6; - } - - public void clickBlock(int var1, int var2, int var3) { - int var4 = this.mc.theWorld.getBlockId(var1, var2, var3); - if(var4 > 0 && this.curBlockDamage == 0.0F) { - Block.blocksList[var4].onBlockClicked(this.mc.theWorld, var1, var2, var3, this.mc.thePlayer); - } - - if(var4 > 0 && Block.blocksList[var4].blockStrength(this.mc.thePlayer) >= 1.0F) { - this.sendBlockRemoved(var1, var2, var3); - } - - } - - public void resetBlockRemoving() { - this.curBlockDamage = 0.0F; - this.blockHitWait = 0; - } - - public void sendBlockRemoving(int var1, int var2, int var3, int var4) { - if(this.blockHitWait > 0) { - --this.blockHitWait; - } else { - super.sendBlockRemoving(var1, var2, var3, var4); - if(var1 == this.curBlockX && var2 == this.curBlockY && var3 == this.curBlockZ) { - int var5 = this.mc.theWorld.getBlockId(var1, var2, var3); - if(var5 == 0) { - return; - } - - Block var6 = Block.blocksList[var5]; - this.curBlockDamage += var6.blockStrength(this.mc.thePlayer); - if(this.blockDestroySoundCounter % 4.0F == 0.0F && var6 != null) { - //this.mc.sndManager.playSound(var6.stepSound.getStepSound(), (float)var1 + 0.5F, (float)var2 + 0.5F, (float)var3 + 0.5F, (var6.stepSound.getVolume() + 1.0F) / 8.0F, var6.stepSound.getPitch() * 0.5F); - } - - ++this.blockDestroySoundCounter; - if(this.curBlockDamage >= 1.0F) { - this.sendBlockRemoved(var1, var2, var3); - this.curBlockDamage = 0.0F; - this.prevBlockDamage = 0.0F; - this.blockDestroySoundCounter = 0.0F; - this.blockHitWait = 5; - } - } else { - this.curBlockDamage = 0.0F; - this.prevBlockDamage = 0.0F; - this.blockDestroySoundCounter = 0.0F; - this.curBlockX = var1; - this.curBlockY = var2; - this.curBlockZ = var3; - } - - } - } - - public void setPartialTime(float var1) { - if(this.curBlockDamage <= 0.0F) { - this.mc.ingameGUI.damageGuiPartialTime = 0.0F; - this.mc.renderGlobal.damagePartialTime = 0.0F; - } else { - float var2 = this.prevBlockDamage + (this.curBlockDamage - this.prevBlockDamage) * var1; - this.mc.ingameGUI.damageGuiPartialTime = var2; - this.mc.renderGlobal.damagePartialTime = var2; - } - - } - - public float getBlockReachDistance() { - return 4.0F; - } - - public void onWorldChange(World var1) { - super.onWorldChange(var1); - } - - public void onUpdate() { - this.prevBlockDamage = this.curBlockDamage; - this.monsterSpawner.onUpdate(this.mc.theWorld); - this.animalSpawner.onUpdate(this.mc.theWorld); - } -} diff --git a/src/main/java/net/minecraft/src/PositionTextureVertex.java b/src/main/java/net/minecraft/src/PositionTextureVertex.java deleted file mode 100644 index 767c8bf..0000000 --- a/src/main/java/net/minecraft/src/PositionTextureVertex.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.minecraft.src; - -public class PositionTextureVertex { - public Vec3D vector3D; - public float texturePositionX; - public float texturePositionY; - - public PositionTextureVertex(float var1, float var2, float var3, float var4, float var5) { - this(Vec3D.createVectorHelper((double)var1, (double)var2, (double)var3), var4, var5); - } - - public PositionTextureVertex setTexturePosition(float var1, float var2) { - return new PositionTextureVertex(this, var1, var2); - } - - public PositionTextureVertex(PositionTextureVertex var1, float var2, float var3) { - this.vector3D = var1.vector3D; - this.texturePositionX = var2; - this.texturePositionY = var3; - } - - public PositionTextureVertex(Vec3D var1, float var2, float var3) { - this.vector3D = var1; - this.texturePositionX = var2; - this.texturePositionY = var3; - } -} diff --git a/src/main/java/net/minecraft/src/RecipeSorter.java b/src/main/java/net/minecraft/src/RecipeSorter.java deleted file mode 100644 index e74a04e..0000000 --- a/src/main/java/net/minecraft/src/RecipeSorter.java +++ /dev/null @@ -1,19 +0,0 @@ -package net.minecraft.src; - -import java.util.Comparator; - -class RecipeSorter implements Comparator { - final CraftingManager craftingManager; - - RecipeSorter(CraftingManager var1) { - this.craftingManager = var1; - } - - public int a(CraftingRecipe var1, CraftingRecipe var2) { - return var2.getRecipeSize() < var1.getRecipeSize() ? -1 : (var2.getRecipeSize() > var1.getRecipeSize() ? 1 : 0); - } - - public int compare(Object var1, Object var2) { - return this.a((CraftingRecipe)var1, (CraftingRecipe)var2); - } -} diff --git a/src/main/java/net/minecraft/src/RecipesArmor.java b/src/main/java/net/minecraft/src/RecipesArmor.java deleted file mode 100644 index 5393870..0000000 --- a/src/main/java/net/minecraft/src/RecipesArmor.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.minecraft.src; - -public class RecipesArmor { - private String[][] recipePatterns = new String[][]{{"XXX", "X X"}, {"X X", "XXX", "XXX"}, {"XXX", "X X", "X X"}, {"X X", "X X"}}; - private Object[][] recipeItems = new Object[][]{{Block.cloth, Block.fire, Item.ingotIron, Item.diamond, Item.ingotGold}, {Item.helmetLeather, Item.helmetChain, Item.helmetSteel, Item.helmetDiamond, Item.helmetGold}, {Item.plateLeather, Item.plateChain, Item.plateSteel, Item.plateDiamonhd, Item.plateGold}, {Item.legsLeather, Item.legsChain, Item.legsSteel, Item.legsDiamond, Item.legsGold}, {Item.bootsLeather, Item.bootsChain, Item.bootsSteel, Item.bootsDiamond, Item.bootsGold}}; - - public void addRecipes(CraftingManager var1) { - for(int var2 = 0; var2 < this.recipeItems[0].length; ++var2) { - Object var3 = this.recipeItems[0][var2]; - - for(int var4 = 0; var4 < this.recipeItems.length - 1; ++var4) { - Item var5 = (Item)this.recipeItems[var4 + 1][var2]; - var1.addRecipe(new ItemStack(var5), new Object[]{this.recipePatterns[var4], Character.valueOf('X'), var3}); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/RecipesCrafting.java b/src/main/java/net/minecraft/src/RecipesCrafting.java deleted file mode 100644 index 85015bd..0000000 --- a/src/main/java/net/minecraft/src/RecipesCrafting.java +++ /dev/null @@ -1,9 +0,0 @@ -package net.minecraft.src; - -public class RecipesCrafting { - public void addRecipes(CraftingManager var1) { - var1.addRecipe(new ItemStack(Block.chest), new Object[]{"###", "# #", "###", Character.valueOf('#'), Block.planks}); - var1.addRecipe(new ItemStack(Block.stoneOvenIdle), new Object[]{"###", "# #", "###", Character.valueOf('#'), Block.cobblestone}); - var1.addRecipe(new ItemStack(Block.workbench), new Object[]{"##", "##", Character.valueOf('#'), Block.planks}); - } -} diff --git a/src/main/java/net/minecraft/src/RecipesFood.java b/src/main/java/net/minecraft/src/RecipesFood.java deleted file mode 100644 index b4adb74..0000000 --- a/src/main/java/net/minecraft/src/RecipesFood.java +++ /dev/null @@ -1,8 +0,0 @@ -package net.minecraft.src; - -public class RecipesFood { - public void addRecipes(CraftingManager var1) { - var1.addRecipe(new ItemStack(Item.bowlSoup), new Object[]{"Y", "X", "#", Character.valueOf('X'), Block.mushroomBrown, Character.valueOf('Y'), Block.mushroomRed, Character.valueOf('#'), Item.bowlEmpty}); - var1.addRecipe(new ItemStack(Item.bowlSoup), new Object[]{"Y", "X", "#", Character.valueOf('X'), Block.mushroomRed, Character.valueOf('Y'), Block.mushroomBrown, Character.valueOf('#'), Item.bowlEmpty}); - } -} diff --git a/src/main/java/net/minecraft/src/RecipesIngots.java b/src/main/java/net/minecraft/src/RecipesIngots.java deleted file mode 100644 index 22802d6..0000000 --- a/src/main/java/net/minecraft/src/RecipesIngots.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.minecraft.src; - -public class RecipesIngots { - private Object[][] recipeItems = new Object[][]{{Block.blockGold, Item.ingotGold}, {Block.blockSteel, Item.ingotIron}, {Block.blockDiamond, Item.diamond}}; - - public void addRecipes(CraftingManager var1) { - for(int var2 = 0; var2 < this.recipeItems.length; ++var2) { - Block var3 = (Block)this.recipeItems[var2][0]; - Item var4 = (Item)this.recipeItems[var2][1]; - var1.addRecipe(new ItemStack(var3), new Object[]{"###", "###", "###", Character.valueOf('#'), var4}); - var1.addRecipe(new ItemStack(var4, 9), new Object[]{"#", Character.valueOf('#'), var3}); - } - - } -} diff --git a/src/main/java/net/minecraft/src/RecipesTools.java b/src/main/java/net/minecraft/src/RecipesTools.java deleted file mode 100644 index d011907..0000000 --- a/src/main/java/net/minecraft/src/RecipesTools.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.minecraft.src; - -public class RecipesTools { - private String[][] recipePatterns = new String[][]{{"XXX", " # ", " # "}, {"X", "#", "#"}, {"XX", "X#", " #"}, {"XX", " #", " #"}}; - private Object[][] recipeItems = new Object[][]{{Block.planks, Block.cobblestone, Item.ingotIron, Item.diamond, Item.ingotGold}, {Item.pickaxeWood, Item.pickaxeStone, Item.pickaxeSteel, Item.pickaxeDiamond, Item.pickaxeGold}, {Item.shovelWood, Item.shovelStone, Item.shovel, Item.shovelDiamond, Item.shovelGold}, {Item.axeWood, Item.axeStone, Item.axeSteel, Item.axeDiamond, Item.axeGold}, {Item.hoeWood, Item.hoeStone, Item.hoeSteel, Item.hoeDiamond, Item.hoeGold}}; - - public void addRecipes(CraftingManager var1) { - for(int var2 = 0; var2 < this.recipeItems[0].length; ++var2) { - Object var3 = this.recipeItems[0][var2]; - - for(int var4 = 0; var4 < this.recipeItems.length - 1; ++var4) { - Item var5 = (Item)this.recipeItems[var4 + 1][var2]; - var1.addRecipe(new ItemStack(var5), new Object[]{this.recipePatterns[var4], Character.valueOf('#'), Item.stick, Character.valueOf('X'), var3}); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/RecipesWeapons.java b/src/main/java/net/minecraft/src/RecipesWeapons.java deleted file mode 100644 index 34d76c0..0000000 --- a/src/main/java/net/minecraft/src/RecipesWeapons.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.minecraft.src; - -public class RecipesWeapons { - private String[][] recipePatterns = new String[][]{{"X", "X", "#"}}; - private Object[][] recipeItems = new Object[][]{{Block.planks, Block.cobblestone, Item.ingotIron, Item.diamond, Item.ingotGold}, {Item.swordWood, Item.swordStone, Item.swordSteel, Item.swordDiamond, Item.swordGold}}; - - public void addRecipe(CraftingManager var1) { - for(int var2 = 0; var2 < this.recipeItems[0].length; ++var2) { - Object var3 = this.recipeItems[0][var2]; - - for(int var4 = 0; var4 < this.recipeItems.length - 1; ++var4) { - Item var5 = (Item)this.recipeItems[var4 + 1][var2]; - var1.addRecipe(new ItemStack(var5), new Object[]{this.recipePatterns[var4], Character.valueOf('#'), Item.stick, Character.valueOf('X'), var3}); - } - } - - var1.addRecipe(new ItemStack(Item.bow, 1), new Object[]{" #X", "# X", " #X", Character.valueOf('X'), Item.silk, Character.valueOf('#'), Item.stick}); - var1.addRecipe(new ItemStack(Item.arrow, 4), new Object[]{"X", "#", "Y", Character.valueOf('Y'), Item.feather, Character.valueOf('X'), Item.ingotIron, Character.valueOf('#'), Item.stick}); - } -} diff --git a/src/main/java/net/minecraft/src/Render.java b/src/main/java/net/minecraft/src/Render.java deleted file mode 100644 index df43848..0000000 --- a/src/main/java/net/minecraft/src/Render.java +++ /dev/null @@ -1,224 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public abstract class Render { - protected RenderManager renderManager; - private ModelBase modelBase = new ModelBiped(); - private RenderBlocks renderBlocksVar = new RenderBlocks(); - protected float shadowSize = 0.0F; - protected float shadowOpaque = 1.0F; - - public abstract void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9); - - protected void loadTexture(String var1) { - RenderEngine var2 = this.renderManager.renderEngine; - var2.bindTexture(var2.getTexture(var1)); - } - - protected void loadDownloadableImageTexture(String var1, String var2) { - RenderEngine var3 = this.renderManager.renderEngine; - var3.bindTexture(var3.getTextureForDownloadableImage(var1, var2)); - } - - private void renderEntityOnFire(Entity var1, double var2, double var4, double var6, float var8) { - GL11.glDisable(GL11.GL_LIGHTING); - int var9 = Block.fire.blockIndexInTexture; - int var10 = (var9 & 15) << 4; - int var11 = var9 & 240; - float var12 = (float)var10 / 256.0F; - float var13 = ((float)var10 + 15.99F) / 256.0F; - float var14 = (float)var11 / 256.0F; - float var15 = ((float)var11 + 15.99F) / 256.0F; - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - float var16 = var1.width * 1.4F; - GL11.glScalef(var16, var16, var16); - this.loadTexture("/terrain.png"); - Tessellator var17 = Tessellator.instance; - float var18 = 1.0F; - float var19 = 0.5F; - float var20 = 0.0F; - float var21 = var1.height / var1.width; - GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.0F, 0.0F, 0.4F + (float)((int)var21) * 0.02F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - var17.startDrawingQuads(); - - while(var21 > 0.0F) { - var17.addVertexWithUV((double)(var18 - var19), (double)(0.0F - var20), 0.0D, (double)var13, (double)var15); - var17.addVertexWithUV((double)(0.0F - var19), (double)(0.0F - var20), 0.0D, (double)var12, (double)var15); - var17.addVertexWithUV((double)(0.0F - var19), (double)(1.4F - var20), 0.0D, (double)var12, (double)var14); - var17.addVertexWithUV((double)(var18 - var19), (double)(1.4F - var20), 0.0D, (double)var13, (double)var14); - --var21; - --var20; - var18 *= 0.9F; - GL11.glTranslatef(0.0F, 0.0F, -0.04F); - } - - var17.draw(); - GL11.glPopMatrix(); - GL11.glEnable(GL11.GL_LIGHTING); - } - - private void renderShadow(Entity var1, double var2, double var4, double var6, float var8, float var9) { - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - RenderEngine var10 = this.renderManager.renderEngine; - var10.bindTexture(var10.getTexture("%%/shadow.png")); - World var11 = this.getWorldFromRenderManager(); - GL11.glDepthMask(false); - float var12 = this.shadowSize; - double var13 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var9; - double var15 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var9; - double var17 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var9; - int var19 = MathHelper.floor_double(var13 - (double)var12); - int var20 = MathHelper.floor_double(var13 + (double)var12); - int var21 = MathHelper.floor_double(var15 - (double)var12); - int var22 = MathHelper.floor_double(var15); - int var23 = MathHelper.floor_double(var17 - (double)var12); - int var24 = MathHelper.floor_double(var17 + (double)var12); - double var25 = var2 - var13; - double var27 = var4 - var15; - double var29 = var6 - var17; - Tessellator var31 = Tessellator.instance; - var31.startDrawingQuads(); - - for(int var32 = var19; var32 <= var20; ++var32) { - for(int var33 = var21; var33 <= var22; ++var33) { - for(int var34 = var23; var34 <= var24; ++var34) { - int var35 = var11.getBlockId(var32, var33 - 1, var34); - if(var35 > 0 && var11.getBlockLightValue(var32, var33, var34) > 3) { - this.renderShadowOnBlock(Block.blocksList[var35], var2, var4, var6, var32, var33, var34, var8, var12, var25, var27, var29); - } - } - } - } - - var31.draw(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glDepthMask(true); - } - - private World getWorldFromRenderManager() { - return this.renderManager.worldObj; - } - - private void renderShadowOnBlock(Block var1, double var2, double var4, double var6, int var8, int var9, int var10, float var11, float var12, double var13, double var15, double var17) { - Tessellator var19 = Tessellator.instance; - if(var1.renderAsNormalBlock()) { - double var20 = ((double)var11 - (var4 - ((double)var9 + var15)) / 2.0D) * 0.5D * (double)this.getWorldFromRenderManager().getBrightness(var8, var9, var10); - if(var20 >= 0.0D) { - if(var20 > 1.0D) { - var20 = 1.0D; - } - - var19.setColorRGBA_F(1.0F, 1.0F, 1.0F, (float)var20); - double var22 = (double)var8 + var1.minX + var13; - double var24 = (double)var8 + var1.maxX + var13; - double var26 = (double)var9 + var1.minY + var15 + 1.0D / 64.0D; - double var28 = (double)var10 + var1.minZ + var17; - double var30 = (double)var10 + var1.maxZ + var17; - float var32 = (float)((var2 - var22) / 2.0D / (double)var12 + 0.5D); - float var33 = (float)((var2 - var24) / 2.0D / (double)var12 + 0.5D); - float var34 = (float)((var6 - var28) / 2.0D / (double)var12 + 0.5D); - float var35 = (float)((var6 - var30) / 2.0D / (double)var12 + 0.5D); - var19.addVertexWithUV(var22, var26, var28, (double)var32, (double)var34); - var19.addVertexWithUV(var22, var26, var30, (double)var32, (double)var35); - var19.addVertexWithUV(var24, var26, var30, (double)var33, (double)var35); - var19.addVertexWithUV(var24, var26, var28, (double)var33, (double)var34); - } - } - } - - public static void renderOffsetAABB(AxisAlignedBB var0, double var1, double var3, double var5) { - GL11.glDisable(GL11.GL_TEXTURE_2D); - Tessellator var7 = Tessellator.instance; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - var7.startDrawingQuads(); - var7.setTranslationD(var1, var3, var5); - var7.setNormal(0.0F, 0.0F, -1.0F); - var7.addVertex(var0.minX, var0.maxY, var0.minZ); - var7.addVertex(var0.maxX, var0.maxY, var0.minZ); - var7.addVertex(var0.maxX, var0.minY, var0.minZ); - var7.addVertex(var0.minX, var0.minY, var0.minZ); - var7.setNormal(0.0F, 0.0F, 1.0F); - var7.addVertex(var0.minX, var0.minY, var0.maxZ); - var7.addVertex(var0.maxX, var0.minY, var0.maxZ); - var7.addVertex(var0.maxX, var0.maxY, var0.maxZ); - var7.addVertex(var0.minX, var0.maxY, var0.maxZ); - var7.setNormal(0.0F, -1.0F, 0.0F); - var7.addVertex(var0.minX, var0.minY, var0.minZ); - var7.addVertex(var0.maxX, var0.minY, var0.minZ); - var7.addVertex(var0.maxX, var0.minY, var0.maxZ); - var7.addVertex(var0.minX, var0.minY, var0.maxZ); - var7.setNormal(0.0F, 1.0F, 0.0F); - var7.addVertex(var0.minX, var0.maxY, var0.maxZ); - var7.addVertex(var0.maxX, var0.maxY, var0.maxZ); - var7.addVertex(var0.maxX, var0.maxY, var0.minZ); - var7.addVertex(var0.minX, var0.maxY, var0.minZ); - var7.setNormal(-1.0F, 0.0F, 0.0F); - var7.addVertex(var0.minX, var0.minY, var0.maxZ); - var7.addVertex(var0.minX, var0.maxY, var0.maxZ); - var7.addVertex(var0.minX, var0.maxY, var0.minZ); - var7.addVertex(var0.minX, var0.minY, var0.minZ); - var7.setNormal(1.0F, 0.0F, 0.0F); - var7.addVertex(var0.maxX, var0.minY, var0.minZ); - var7.addVertex(var0.maxX, var0.maxY, var0.minZ); - var7.addVertex(var0.maxX, var0.maxY, var0.maxZ); - var7.addVertex(var0.maxX, var0.minY, var0.maxZ); - var7.setTranslationD(0.0D, 0.0D, 0.0D); - var7.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - public static void renderAABB(AxisAlignedBB var0) { - Tessellator var1 = Tessellator.instance; - var1.startDrawingQuads(); - var1.addVertex(var0.minX, var0.maxY, var0.minZ); - var1.addVertex(var0.maxX, var0.maxY, var0.minZ); - var1.addVertex(var0.maxX, var0.minY, var0.minZ); - var1.addVertex(var0.minX, var0.minY, var0.minZ); - var1.addVertex(var0.minX, var0.minY, var0.maxZ); - var1.addVertex(var0.maxX, var0.minY, var0.maxZ); - var1.addVertex(var0.maxX, var0.maxY, var0.maxZ); - var1.addVertex(var0.minX, var0.maxY, var0.maxZ); - var1.addVertex(var0.minX, var0.minY, var0.minZ); - var1.addVertex(var0.maxX, var0.minY, var0.minZ); - var1.addVertex(var0.maxX, var0.minY, var0.maxZ); - var1.addVertex(var0.minX, var0.minY, var0.maxZ); - var1.addVertex(var0.minX, var0.maxY, var0.maxZ); - var1.addVertex(var0.maxX, var0.maxY, var0.maxZ); - var1.addVertex(var0.maxX, var0.maxY, var0.minZ); - var1.addVertex(var0.minX, var0.maxY, var0.minZ); - var1.addVertex(var0.minX, var0.minY, var0.maxZ); - var1.addVertex(var0.minX, var0.maxY, var0.maxZ); - var1.addVertex(var0.minX, var0.maxY, var0.minZ); - var1.addVertex(var0.minX, var0.minY, var0.minZ); - var1.addVertex(var0.maxX, var0.minY, var0.minZ); - var1.addVertex(var0.maxX, var0.maxY, var0.minZ); - var1.addVertex(var0.maxX, var0.maxY, var0.maxZ); - var1.addVertex(var0.maxX, var0.minY, var0.maxZ); - var1.draw(); - } - - public void setRenderManager(RenderManager var1) { - this.renderManager = var1; - } - - public void doRenderShadowAndFire(Entity var1, double var2, double var4, double var6, float var8, float var9) { - if(this.renderManager.options.fancyGraphics && this.shadowSize > 0.0F) { - double var10 = this.renderManager.getDistanceToCamera(var1.posX, var1.posY, var1.posZ); - float var12 = (float)((1.0D - var10 / 256.0D) * (double)this.shadowOpaque); - if(var12 > 0.0F) { - this.renderShadow(var1, var2, var4, var6, var12, var9); - } - } - - if(var1.fire > 0) { - this.renderEntityOnFire(var1, var2, var4, var6, var9); - } - - } -} diff --git a/src/main/java/net/minecraft/src/RenderArrow.java b/src/main/java/net/minecraft/src/RenderArrow.java deleted file mode 100644 index 6a50043..0000000 --- a/src/main/java/net/minecraft/src/RenderArrow.java +++ /dev/null @@ -1,67 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RenderArrow extends Render { - public void a(EntityArrow var1, double var2, double var4, double var6, float var8, float var9) { - this.loadTexture("/item/arrows.png"); - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - GL11.glRotatef(var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9 - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9, 0.0F, 0.0F, 1.0F); - Tessellator var10 = Tessellator.instance; - byte var11 = 0; - float var12 = 0.0F; - float var13 = 0.5F; - float var14 = (float)(0 + var11 * 10) / 32.0F; - float var15 = (float)(5 + var11 * 10) / 32.0F; - float var16 = 0.0F; - float var17 = 0.15625F; - float var18 = (float)(5 + var11 * 10) / 32.0F; - float var19 = (float)(10 + var11 * 10) / 32.0F; - float var20 = 0.05625F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float var21 = (float)var1.arrowShake - var9; - if(var21 > 0.0F) { - float var22 = -MathHelper.sin(var21 * 3.0F) * var21; - GL11.glRotatef(var22, 0.0F, 0.0F, 1.0F); - } - - GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F); - GL11.glScalef(var20, var20, var20); - GL11.glTranslatef(-4.0F, 0.0F, 0.0F); - GL11.glNormal3f(var20, 0.0F, 0.0F); - var10.startDrawingQuads(); - var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var18); - var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var18); - var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var19); - var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var19); - var10.draw(); - GL11.glNormal3f(-var20, 0.0F, 0.0F); - var10.startDrawingQuads(); - var10.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)var16, (double)var18); - var10.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)var17, (double)var18); - var10.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)var17, (double)var19); - var10.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)var16, (double)var19); - var10.draw(); - - for(int var23 = 0; var23 < 4; ++var23) { - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glNormal3f(0.0F, 0.0F, var20); - var10.startDrawingQuads(); - var10.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)var12, (double)var14); - var10.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)var13, (double)var14); - var10.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)var13, (double)var15); - var10.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)var12, (double)var15); - var10.draw(); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityArrow)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderBlocks.java b/src/main/java/net/minecraft/src/RenderBlocks.java deleted file mode 100644 index 2c17d6d..0000000 --- a/src/main/java/net/minecraft/src/RenderBlocks.java +++ /dev/null @@ -1,1401 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderBlocks { - private IBlockAccess blockAccess; - private int overrideBlockTexture = -1; - private boolean flipTexture = false; - private boolean renderAllFaces = false; - - public RenderBlocks(IBlockAccess var1) { - this.blockAccess = var1; - } - - public RenderBlocks() { - } - - public void renderBlockUsingTexture(Block var1, int var2, int var3, int var4, int var5) { - this.overrideBlockTexture = var5; - this.renderBlockByRenderType(var1, var2, var3, var4); - this.overrideBlockTexture = -1; - } - - public boolean renderBlockByRenderType(Block var1, int var2, int var3, int var4) { - int var5 = var1.getRenderType(); - var1.setBlockBoundsBasedOnState(this.blockAccess, var2, var3, var4); - return var5 == 0 ? this.renderStandardBlock(var1, var2, var3, var4) : (var5 == 4 ? this.renderBlockFluids(var1, var2, var3, var4) : (var5 == 1 ? this.renderBlockReed(var1, var2, var3, var4) : (var5 == 6 ? this.renderBlockCrops(var1, var2, var3, var4) : (var5 == 2 ? this.renderBlockTorch(var1, var2, var3, var4) : (var5 == 3 ? this.renderBlockFire(var1, var2, var3, var4) : (var5 == 5 ? this.renderBlockGears(var1, var2, var3, var4) : (var5 == 8 ? this.renderBlockLadder(var1, var2, var3, var4) : (var5 == 7 ? this.renderBlockDoor(var1, var2, var3, var4) : (var5 == 9 ? this.renderBlockMinecartTrack(var1, var2, var3, var4) : (var5 == 10 ? this.renderBlockStairs(var1, var2, var3, var4) : (var5 == 11 ? this.renderBlockFence(var1, var2, var3, var4) : false))))))))))); - } - - public boolean renderBlockTorch(Block var1, int var2, int var3, int var4) { - int var5 = this.blockAccess.getBlockMetadata(var2, var3, var4); - Tessellator var6 = Tessellator.instance; - float var7 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - if(Block.lightValue[var1.blockID] > 0) { - var7 = 1.0F; - } - - var6.setColorOpaque_F(var7, var7, var7); - double var8 = (double)0.4F; - double var10 = 0.5D - var8; - double var12 = (double)0.2F; - if(var5 == 1) { - this.renderTorchAtAngle(var1, (double)var2 - var10, (double)var3 + var12, (double)var4, -var8, 0.0D); - } else if(var5 == 2) { - this.renderTorchAtAngle(var1, (double)var2 + var10, (double)var3 + var12, (double)var4, var8, 0.0D); - } else if(var5 == 3) { - this.renderTorchAtAngle(var1, (double)var2, (double)var3 + var12, (double)var4 - var10, 0.0D, -var8); - } else if(var5 == 4) { - this.renderTorchAtAngle(var1, (double)var2, (double)var3 + var12, (double)var4 + var10, 0.0D, var8); - } else { - this.renderTorchAtAngle(var1, (double)var2, (double)var3, (double)var4, 0.0D, 0.0D); - } - - return true; - } - - public boolean renderBlockFire(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - int var6 = var1.getBlockTextureFromSide(0); - if(this.overrideBlockTexture >= 0) { - var6 = this.overrideBlockTexture; - } - - float var7 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var7, var7, var7); - int var8 = (var6 & 15) << 4; - int var9 = var6 & 240; - double var10 = (double)((float)var8 / 256.0F); - double var12 = (double)(((float)var8 + 15.99F) / 256.0F); - double var14 = (double)((float)var9 / 256.0F); - double var16 = (double)(((float)var9 + 15.99F) / 256.0F); - float var18 = 1.4F; - double var21; - double var23; - double var25; - double var27; - double var29; - double var31; - double var33; - if(!this.blockAccess.isBlockNormalCube(var2, var3 - 1, var4) && !Block.fire.canBlockCatchFire(this.blockAccess, var2, var3 - 1, var4)) { - float var37 = 0.2F; - float var20 = 1.0F / 16.0F; - if((var2 + var3 + var4 & 1) == 1) { - var10 = (double)((float)var8 / 256.0F); - var12 = (double)(((float)var8 + 15.99F) / 256.0F); - var14 = (double)((float)(var9 + 16) / 256.0F); - var16 = (double)(((float)var9 + 15.99F + 16.0F) / 256.0F); - } - - if((var2 / 2 + var3 / 2 + var4 / 2 & 1) == 1) { - var21 = var12; - var12 = var10; - var10 = var21; - } - - if(Block.fire.canBlockCatchFire(this.blockAccess, var2 - 1, var3, var4)) { - var5.addVertexWithUV((double)((float)var2 + var37), (double)((float)var3 + var18 + var20), (double)(var4 + 1), var12, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV((double)((float)var2 + var37), (double)((float)var3 + var18 + var20), (double)(var4 + 0), var10, var14); - var5.addVertexWithUV((double)((float)var2 + var37), (double)((float)var3 + var18 + var20), (double)(var4 + 0), var10, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV((double)((float)var2 + var37), (double)((float)var3 + var18 + var20), (double)(var4 + 1), var12, var14); - } - - if(Block.fire.canBlockCatchFire(this.blockAccess, var2 + 1, var3, var4)) { - var5.addVertexWithUV((double)((float)(var2 + 1) - var37), (double)((float)var3 + var18 + var20), (double)(var4 + 0), var10, var14); - var5.addVertexWithUV((double)(var2 + 1 - 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV((double)(var2 + 1 - 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV((double)((float)(var2 + 1) - var37), (double)((float)var3 + var18 + var20), (double)(var4 + 1), var12, var14); - var5.addVertexWithUV((double)((float)(var2 + 1) - var37), (double)((float)var3 + var18 + var20), (double)(var4 + 1), var12, var14); - var5.addVertexWithUV((double)(var2 + 1 - 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV((double)(var2 + 1 - 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV((double)((float)(var2 + 1) - var37), (double)((float)var3 + var18 + var20), (double)(var4 + 0), var10, var14); - } - - if(Block.fire.canBlockCatchFire(this.blockAccess, var2, var3, var4 - 1)) { - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18 + var20), (double)((float)var4 + var37), var12, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var12, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18 + var20), (double)((float)var4 + var37), var10, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18 + var20), (double)((float)var4 + var37), var10, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 0), var12, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18 + var20), (double)((float)var4 + var37), var12, var14); - } - - if(Block.fire.canBlockCatchFire(this.blockAccess, var2, var3, var4 + 1)) { - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18 + var20), (double)((float)(var4 + 1) - var37), var10, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)(var3 + 0) + var20), (double)(var4 + 1 - 0), var10, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 1 - 0), var12, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18 + var20), (double)((float)(var4 + 1) - var37), var12, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18 + var20), (double)((float)(var4 + 1) - var37), var12, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)(var3 + 0) + var20), (double)(var4 + 1 - 0), var12, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)(var3 + 0) + var20), (double)(var4 + 1 - 0), var10, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18 + var20), (double)((float)(var4 + 1) - var37), var10, var14); - } - - if(Block.fire.canBlockCatchFire(this.blockAccess, var2, var3 + 1, var4)) { - var21 = (double)var2 + 0.5D + 0.5D; - var23 = (double)var2 + 0.5D - 0.5D; - var25 = (double)var4 + 0.5D + 0.5D; - var27 = (double)var4 + 0.5D - 0.5D; - var29 = (double)var2 + 0.5D - 0.5D; - var31 = (double)var2 + 0.5D + 0.5D; - var33 = (double)var4 + 0.5D - 0.5D; - double var35 = (double)var4 + 0.5D + 0.5D; - var10 = (double)((float)var8 / 256.0F); - var12 = (double)(((float)var8 + 15.99F) / 256.0F); - var14 = (double)((float)var9 / 256.0F); - var16 = (double)(((float)var9 + 15.99F) / 256.0F); - ++var3; - var18 = -0.2F; - if((var2 + var3 + var4 & 1) == 0) { - var5.addVertexWithUV(var29, (double)((float)var3 + var18), (double)(var4 + 0), var12, var14); - var5.addVertexWithUV(var21, (double)(var3 + 0), (double)(var4 + 0), var12, var16); - var5.addVertexWithUV(var21, (double)(var3 + 0), (double)(var4 + 1), var10, var16); - var5.addVertexWithUV(var29, (double)((float)var3 + var18), (double)(var4 + 1), var10, var14); - var10 = (double)((float)var8 / 256.0F); - var12 = (double)(((float)var8 + 15.99F) / 256.0F); - var14 = (double)((float)(var9 + 16) / 256.0F); - var16 = (double)(((float)var9 + 15.99F + 16.0F) / 256.0F); - var5.addVertexWithUV(var31, (double)((float)var3 + var18), (double)(var4 + 1), var12, var14); - var5.addVertexWithUV(var23, (double)(var3 + 0), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV(var23, (double)(var3 + 0), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV(var31, (double)((float)var3 + var18), (double)(var4 + 0), var10, var14); - } else { - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18), var35, var12, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)(var3 + 0), var27, var12, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)(var3 + 0), var27, var10, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18), var35, var10, var14); - var10 = (double)((float)var8 / 256.0F); - var12 = (double)(((float)var8 + 15.99F) / 256.0F); - var14 = (double)((float)(var9 + 16) / 256.0F); - var16 = (double)(((float)var9 + 15.99F + 16.0F) / 256.0F); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18), var33, var12, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)(var3 + 0), var25, var12, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)(var3 + 0), var25, var10, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18), var33, var10, var14); - } - } - } else { - double var19 = (double)var2 + 0.5D + 0.2D; - var21 = (double)var2 + 0.5D - 0.2D; - var23 = (double)var4 + 0.5D + 0.2D; - var25 = (double)var4 + 0.5D - 0.2D; - var27 = (double)var2 + 0.5D - 0.3D; - var29 = (double)var2 + 0.5D + 0.3D; - var31 = (double)var4 + 0.5D - 0.3D; - var33 = (double)var4 + 0.5D + 0.3D; - var5.addVertexWithUV(var27, (double)((float)var3 + var18), (double)(var4 + 1), var12, var14); - var5.addVertexWithUV(var19, (double)(var3 + 0), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV(var19, (double)(var3 + 0), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV(var27, (double)((float)var3 + var18), (double)(var4 + 0), var10, var14); - var5.addVertexWithUV(var29, (double)((float)var3 + var18), (double)(var4 + 0), var12, var14); - var5.addVertexWithUV(var21, (double)(var3 + 0), (double)(var4 + 0), var12, var16); - var5.addVertexWithUV(var21, (double)(var3 + 0), (double)(var4 + 1), var10, var16); - var5.addVertexWithUV(var29, (double)((float)var3 + var18), (double)(var4 + 1), var10, var14); - var10 = (double)((float)var8 / 256.0F); - var12 = (double)(((float)var8 + 15.99F) / 256.0F); - var14 = (double)((float)(var9 + 16) / 256.0F); - var16 = (double)(((float)var9 + 15.99F + 16.0F) / 256.0F); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18), var33, var12, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)(var3 + 0), var25, var12, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)(var3 + 0), var25, var10, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18), var33, var10, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18), var31, var12, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)(var3 + 0), var23, var12, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)(var3 + 0), var23, var10, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18), var31, var10, var14); - var19 = (double)var2 + 0.5D - 0.5D; - var21 = (double)var2 + 0.5D + 0.5D; - var23 = (double)var4 + 0.5D - 0.5D; - var25 = (double)var4 + 0.5D + 0.5D; - var27 = (double)var2 + 0.5D - 0.4D; - var29 = (double)var2 + 0.5D + 0.4D; - var31 = (double)var4 + 0.5D - 0.4D; - var33 = (double)var4 + 0.5D + 0.4D; - var5.addVertexWithUV(var27, (double)((float)var3 + var18), (double)(var4 + 0), var10, var14); - var5.addVertexWithUV(var19, (double)(var3 + 0), (double)(var4 + 0), var10, var16); - var5.addVertexWithUV(var19, (double)(var3 + 0), (double)(var4 + 1), var12, var16); - var5.addVertexWithUV(var27, (double)((float)var3 + var18), (double)(var4 + 1), var12, var14); - var5.addVertexWithUV(var29, (double)((float)var3 + var18), (double)(var4 + 1), var10, var14); - var5.addVertexWithUV(var21, (double)(var3 + 0), (double)(var4 + 1), var10, var16); - var5.addVertexWithUV(var21, (double)(var3 + 0), (double)(var4 + 0), var12, var16); - var5.addVertexWithUV(var29, (double)((float)var3 + var18), (double)(var4 + 0), var12, var14); - var10 = (double)((float)var8 / 256.0F); - var12 = (double)(((float)var8 + 15.99F) / 256.0F); - var14 = (double)((float)var9 / 256.0F); - var16 = (double)(((float)var9 + 15.99F) / 256.0F); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18), var33, var10, var14); - var5.addVertexWithUV((double)(var2 + 0), (double)(var3 + 0), var25, var10, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)(var3 + 0), var25, var12, var16); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18), var33, var12, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var18), var31, var10, var14); - var5.addVertexWithUV((double)(var2 + 1), (double)(var3 + 0), var23, var10, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)(var3 + 0), var23, var12, var16); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var18), var31, var12, var14); - } - - return true; - } - - public boolean renderBlockGears(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - int var6 = var1.getBlockTextureFromSide(0); - if(this.overrideBlockTexture >= 0) { - var6 = this.overrideBlockTexture; - } - - float var7 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var7, var7, var7); - int var8 = ((var6 & 15) << 4) + 16; - int var9 = (var6 & 15) << 4; - int var10 = var6 & 240; - if((var2 + var3 + var4 & 1) == 1) { - var8 = (var6 & 15) << 4; - var9 = ((var6 & 15) << 4) + 16; - } - - double var11 = (double)((float)var8 / 256.0F); - double var13 = (double)(((float)var8 + 15.99F) / 256.0F); - double var15 = (double)((float)var10 / 256.0F); - double var17 = (double)(((float)var10 + 15.99F) / 256.0F); - double var19 = (double)((float)var9 / 256.0F); - double var21 = (double)(((float)var9 + 15.99F) / 256.0F); - double var23 = (double)((float)var10 / 256.0F); - double var25 = (double)(((float)var10 + 15.99F) / 256.0F); - float var27 = 2.0F / 16.0F; - float var28 = 0.05F; - if(this.blockAccess.isBlockNormalCube(var2 - 1, var3, var4)) { - var5.addVertexWithUV((double)((float)var2 + var28), (double)((float)(var3 + 1) + var27), (double)((float)(var4 + 1) + var27), var11, var15); - var5.addVertexWithUV((double)((float)var2 + var28), (double)((float)(var3 + 0) - var27), (double)((float)(var4 + 1) + var27), var11, var17); - var5.addVertexWithUV((double)((float)var2 + var28), (double)((float)(var3 + 0) - var27), (double)((float)(var4 + 0) - var27), var13, var17); - var5.addVertexWithUV((double)((float)var2 + var28), (double)((float)(var3 + 1) + var27), (double)((float)(var4 + 0) - var27), var13, var15); - } - - if(this.blockAccess.isBlockNormalCube(var2 + 1, var3, var4)) { - var5.addVertexWithUV((double)((float)(var2 + 1) - var28), (double)((float)(var3 + 0) - var27), (double)((float)(var4 + 1) + var27), var13, var17); - var5.addVertexWithUV((double)((float)(var2 + 1) - var28), (double)((float)(var3 + 1) + var27), (double)((float)(var4 + 1) + var27), var13, var15); - var5.addVertexWithUV((double)((float)(var2 + 1) - var28), (double)((float)(var3 + 1) + var27), (double)((float)(var4 + 0) - var27), var11, var15); - var5.addVertexWithUV((double)((float)(var2 + 1) - var28), (double)((float)(var3 + 0) - var27), (double)((float)(var4 + 0) - var27), var11, var17); - } - - if(this.blockAccess.isBlockNormalCube(var2, var3, var4 - 1)) { - var5.addVertexWithUV((double)((float)(var2 + 1) + var27), (double)((float)(var3 + 0) - var27), (double)((float)var4 + var28), var21, var25); - var5.addVertexWithUV((double)((float)(var2 + 1) + var27), (double)((float)(var3 + 1) + var27), (double)((float)var4 + var28), var21, var23); - var5.addVertexWithUV((double)((float)(var2 + 0) - var27), (double)((float)(var3 + 1) + var27), (double)((float)var4 + var28), var19, var23); - var5.addVertexWithUV((double)((float)(var2 + 0) - var27), (double)((float)(var3 + 0) - var27), (double)((float)var4 + var28), var19, var25); - } - - if(this.blockAccess.isBlockNormalCube(var2, var3, var4 + 1)) { - var5.addVertexWithUV((double)((float)(var2 + 1) + var27), (double)((float)(var3 + 1) + var27), (double)((float)(var4 + 1) - var28), var19, var23); - var5.addVertexWithUV((double)((float)(var2 + 1) + var27), (double)((float)(var3 + 0) - var27), (double)((float)(var4 + 1) - var28), var19, var25); - var5.addVertexWithUV((double)((float)(var2 + 0) - var27), (double)((float)(var3 + 0) - var27), (double)((float)(var4 + 1) - var28), var21, var25); - var5.addVertexWithUV((double)((float)(var2 + 0) - var27), (double)((float)(var3 + 1) + var27), (double)((float)(var4 + 1) - var28), var21, var23); - } - - return true; - } - - public boolean renderBlockMinecartTrack(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - int var6 = this.blockAccess.getBlockMetadata(var2, var3, var4); - int var7 = var1.getBlockTextureFromSideAndMetadata(0, var6); - if(this.overrideBlockTexture >= 0) { - var7 = this.overrideBlockTexture; - } - - float var8 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var8, var8, var8); - int var9 = (var7 & 15) << 4; - int var10 = var7 & 240; - double var11 = (double)((float)var9 / 256.0F); - double var13 = (double)(((float)var9 + 15.99F) / 256.0F); - double var15 = (double)((float)var10 / 256.0F); - double var17 = (double)(((float)var10 + 15.99F) / 256.0F); - float var19 = 1.0F / 16.0F; - float var20 = (float)(var2 + 1); - float var21 = (float)(var2 + 1); - float var22 = (float)(var2 + 0); - float var23 = (float)(var2 + 0); - float var24 = (float)(var4 + 0); - float var25 = (float)(var4 + 1); - float var26 = (float)(var4 + 1); - float var27 = (float)(var4 + 0); - float var28 = (float)var3 + var19; - float var29 = (float)var3 + var19; - float var30 = (float)var3 + var19; - float var31 = (float)var3 + var19; - if(var6 != 1 && var6 != 2 && var6 != 3 && var6 != 7) { - if(var6 == 8) { - var21 = (float)(var2 + 0); - var20 = var21; - var23 = (float)(var2 + 1); - var22 = var23; - var27 = (float)(var4 + 1); - var24 = var27; - var26 = (float)(var4 + 0); - var25 = var26; - } else if(var6 == 9) { - var23 = (float)(var2 + 0); - var20 = var23; - var22 = (float)(var2 + 1); - var21 = var22; - var25 = (float)(var4 + 0); - var24 = var25; - var27 = (float)(var4 + 1); - var26 = var27; - } - } else { - var23 = (float)(var2 + 1); - var20 = var23; - var22 = (float)(var2 + 0); - var21 = var22; - var25 = (float)(var4 + 1); - var24 = var25; - var27 = (float)(var4 + 0); - var26 = var27; - } - - if(var6 != 2 && var6 != 4) { - if(var6 == 3 || var6 == 5) { - ++var29; - ++var30; - } - } else { - ++var28; - ++var31; - } - - var5.addVertexWithUV((double)var20, (double)var28, (double)var24, var13, var15); - var5.addVertexWithUV((double)var21, (double)var29, (double)var25, var13, var17); - var5.addVertexWithUV((double)var22, (double)var30, (double)var26, var11, var17); - var5.addVertexWithUV((double)var23, (double)var31, (double)var27, var11, var15); - var5.addVertexWithUV((double)var23, (double)var31, (double)var27, var11, var15); - var5.addVertexWithUV((double)var22, (double)var30, (double)var26, var11, var17); - var5.addVertexWithUV((double)var21, (double)var29, (double)var25, var13, var17); - var5.addVertexWithUV((double)var20, (double)var28, (double)var24, var13, var15); - return true; - } - - public boolean renderBlockLadder(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - int var6 = var1.getBlockTextureFromSide(0); - if(this.overrideBlockTexture >= 0) { - var6 = this.overrideBlockTexture; - } - - float var7 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var7, var7, var7); - int var8 = (var6 & 15) << 4; - int var9 = var6 & 240; - double var10 = (double)((float)var8 / 256.0F); - double var12 = (double)(((float)var8 + 15.99F) / 256.0F); - double var14 = (double)((float)var9 / 256.0F); - double var16 = (double)(((float)var9 + 15.99F) / 256.0F); - int var18 = this.blockAccess.getBlockMetadata(var2, var3, var4); - float var19 = 0.0F; - float var20 = 0.05F; - if(var18 == 5) { - var5.addVertexWithUV((double)((float)var2 + var20), (double)((float)(var3 + 1) + var19), (double)((float)(var4 + 1) + var19), var10, var14); - var5.addVertexWithUV((double)((float)var2 + var20), (double)((float)(var3 + 0) - var19), (double)((float)(var4 + 1) + var19), var10, var16); - var5.addVertexWithUV((double)((float)var2 + var20), (double)((float)(var3 + 0) - var19), (double)((float)(var4 + 0) - var19), var12, var16); - var5.addVertexWithUV((double)((float)var2 + var20), (double)((float)(var3 + 1) + var19), (double)((float)(var4 + 0) - var19), var12, var14); - } - - if(var18 == 4) { - var5.addVertexWithUV((double)((float)(var2 + 1) - var20), (double)((float)(var3 + 0) - var19), (double)((float)(var4 + 1) + var19), var12, var16); - var5.addVertexWithUV((double)((float)(var2 + 1) - var20), (double)((float)(var3 + 1) + var19), (double)((float)(var4 + 1) + var19), var12, var14); - var5.addVertexWithUV((double)((float)(var2 + 1) - var20), (double)((float)(var3 + 1) + var19), (double)((float)(var4 + 0) - var19), var10, var14); - var5.addVertexWithUV((double)((float)(var2 + 1) - var20), (double)((float)(var3 + 0) - var19), (double)((float)(var4 + 0) - var19), var10, var16); - } - - if(var18 == 3) { - var5.addVertexWithUV((double)((float)(var2 + 1) + var19), (double)((float)(var3 + 0) - var19), (double)((float)var4 + var20), var12, var16); - var5.addVertexWithUV((double)((float)(var2 + 1) + var19), (double)((float)(var3 + 1) + var19), (double)((float)var4 + var20), var12, var14); - var5.addVertexWithUV((double)((float)(var2 + 0) - var19), (double)((float)(var3 + 1) + var19), (double)((float)var4 + var20), var10, var14); - var5.addVertexWithUV((double)((float)(var2 + 0) - var19), (double)((float)(var3 + 0) - var19), (double)((float)var4 + var20), var10, var16); - } - - if(var18 == 2) { - var5.addVertexWithUV((double)((float)(var2 + 1) + var19), (double)((float)(var3 + 1) + var19), (double)((float)(var4 + 1) - var20), var10, var14); - var5.addVertexWithUV((double)((float)(var2 + 1) + var19), (double)((float)(var3 + 0) - var19), (double)((float)(var4 + 1) - var20), var10, var16); - var5.addVertexWithUV((double)((float)(var2 + 0) - var19), (double)((float)(var3 + 0) - var19), (double)((float)(var4 + 1) - var20), var12, var16); - var5.addVertexWithUV((double)((float)(var2 + 0) - var19), (double)((float)(var3 + 1) + var19), (double)((float)(var4 + 1) - var20), var12, var14); - } - - return true; - } - - public boolean renderBlockReed(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - float var6 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var6, var6, var6); - this.renderCrossedSquares(var1, this.blockAccess.getBlockMetadata(var2, var3, var4), (double)var2, (double)var3, (double)var4); - return true; - } - - public boolean renderBlockCrops(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - float var6 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var6, var6, var6); - this.renderBlockCropsImpl(var1, this.blockAccess.getBlockMetadata(var2, var3, var4), (double)var2, (double)((float)var3 - 1.0F / 16.0F), (double)var4); - return true; - } - - public void renderTorchAtAngle(Block var1, double var2, double var4, double var6, double var8, double var10) { - Tessellator var12 = Tessellator.instance; - int var13 = var1.getBlockTextureFromSide(0); - if(this.overrideBlockTexture >= 0) { - var13 = this.overrideBlockTexture; - } - - int var14 = (var13 & 15) << 4; - int var15 = var13 & 240; - float var16 = (float)var14 / 256.0F; - float var17 = ((float)var14 + 15.99F) / 256.0F; - float var18 = (float)var15 / 256.0F; - float var19 = ((float)var15 + 15.99F) / 256.0F; - double var20 = (double)var16 + 1.75D / 64.0D; - double var22 = (double)var18 + 6.0D / 256.0D; - double var24 = (double)var16 + 9.0D / 256.0D; - double var26 = (double)var18 + 1.0D / 32.0D; - var2 += 0.5D; - var6 += 0.5D; - double var28 = var2 - 0.5D; - double var30 = var2 + 0.5D; - double var32 = var6 - 0.5D; - double var34 = var6 + 0.5D; - double var36 = 1.0D / 16.0D; - double var38 = 0.625D; - var12.addVertexWithUV(var2 + var8 * (1.0D - var38) - var36, var4 + var38, var6 + var10 * (1.0D - var38) - var36, var20, var22); - var12.addVertexWithUV(var2 + var8 * (1.0D - var38) - var36, var4 + var38, var6 + var10 * (1.0D - var38) + var36, var20, var26); - var12.addVertexWithUV(var2 + var8 * (1.0D - var38) + var36, var4 + var38, var6 + var10 * (1.0D - var38) + var36, var24, var26); - var12.addVertexWithUV(var2 + var8 * (1.0D - var38) + var36, var4 + var38, var6 + var10 * (1.0D - var38) - var36, var24, var22); - var12.addVertexWithUV(var2 - var36, var4 + 1.0D, var32, (double)var16, (double)var18); - var12.addVertexWithUV(var2 - var36 + var8, var4 + 0.0D, var32 + var10, (double)var16, (double)var19); - var12.addVertexWithUV(var2 - var36 + var8, var4 + 0.0D, var34 + var10, (double)var17, (double)var19); - var12.addVertexWithUV(var2 - var36, var4 + 1.0D, var34, (double)var17, (double)var18); - var12.addVertexWithUV(var2 + var36, var4 + 1.0D, var34, (double)var16, (double)var18); - var12.addVertexWithUV(var2 + var8 + var36, var4 + 0.0D, var34 + var10, (double)var16, (double)var19); - var12.addVertexWithUV(var2 + var8 + var36, var4 + 0.0D, var32 + var10, (double)var17, (double)var19); - var12.addVertexWithUV(var2 + var36, var4 + 1.0D, var32, (double)var17, (double)var18); - var12.addVertexWithUV(var28, var4 + 1.0D, var6 + var36, (double)var16, (double)var18); - var12.addVertexWithUV(var28 + var8, var4 + 0.0D, var6 + var36 + var10, (double)var16, (double)var19); - var12.addVertexWithUV(var30 + var8, var4 + 0.0D, var6 + var36 + var10, (double)var17, (double)var19); - var12.addVertexWithUV(var30, var4 + 1.0D, var6 + var36, (double)var17, (double)var18); - var12.addVertexWithUV(var30, var4 + 1.0D, var6 - var36, (double)var16, (double)var18); - var12.addVertexWithUV(var30 + var8, var4 + 0.0D, var6 - var36 + var10, (double)var16, (double)var19); - var12.addVertexWithUV(var28 + var8, var4 + 0.0D, var6 - var36 + var10, (double)var17, (double)var19); - var12.addVertexWithUV(var28, var4 + 1.0D, var6 - var36, (double)var17, (double)var18); - } - - public void renderCrossedSquares(Block var1, int var2, double var3, double var5, double var7) { - Tessellator var9 = Tessellator.instance; - int var10 = var1.getBlockTextureFromSideAndMetadata(0, var2); - if(this.overrideBlockTexture >= 0) { - var10 = this.overrideBlockTexture; - } - - int var11 = (var10 & 15) << 4; - int var12 = var10 & 240; - double var13 = (double)((float)var11 / 256.0F); - double var15 = (double)(((float)var11 + 15.99F) / 256.0F); - double var17 = (double)((float)var12 / 256.0F); - double var19 = (double)(((float)var12 + 15.99F) / 256.0F); - double var21 = var3 + 0.5D - (double)0.45F; - double var23 = var3 + 0.5D + (double)0.45F; - double var25 = var7 + 0.5D - (double)0.45F; - double var27 = var7 + 0.5D + (double)0.45F; - var9.addVertexWithUV(var21, var5 + 1.0D, var25, var13, var17); - var9.addVertexWithUV(var21, var5 + 0.0D, var25, var13, var19); - var9.addVertexWithUV(var23, var5 + 0.0D, var27, var15, var19); - var9.addVertexWithUV(var23, var5 + 1.0D, var27, var15, var17); - var9.addVertexWithUV(var23, var5 + 1.0D, var27, var13, var17); - var9.addVertexWithUV(var23, var5 + 0.0D, var27, var13, var19); - var9.addVertexWithUV(var21, var5 + 0.0D, var25, var15, var19); - var9.addVertexWithUV(var21, var5 + 1.0D, var25, var15, var17); - var9.addVertexWithUV(var21, var5 + 1.0D, var27, var13, var17); - var9.addVertexWithUV(var21, var5 + 0.0D, var27, var13, var19); - var9.addVertexWithUV(var23, var5 + 0.0D, var25, var15, var19); - var9.addVertexWithUV(var23, var5 + 1.0D, var25, var15, var17); - var9.addVertexWithUV(var23, var5 + 1.0D, var25, var13, var17); - var9.addVertexWithUV(var23, var5 + 0.0D, var25, var13, var19); - var9.addVertexWithUV(var21, var5 + 0.0D, var27, var15, var19); - var9.addVertexWithUV(var21, var5 + 1.0D, var27, var15, var17); - } - - public void renderBlockCropsImpl(Block var1, int var2, double var3, double var5, double var7) { - Tessellator var9 = Tessellator.instance; - int var10 = var1.getBlockTextureFromSideAndMetadata(0, var2); - if(this.overrideBlockTexture >= 0) { - var10 = this.overrideBlockTexture; - } - - int var11 = (var10 & 15) << 4; - int var12 = var10 & 240; - double var13 = (double)((float)var11 / 256.0F); - double var15 = (double)(((float)var11 + 15.99F) / 256.0F); - double var17 = (double)((float)var12 / 256.0F); - double var19 = (double)(((float)var12 + 15.99F) / 256.0F); - double var21 = var3 + 0.5D - 0.25D; - double var23 = var3 + 0.5D + 0.25D; - double var25 = var7 + 0.5D - 0.5D; - double var27 = var7 + 0.5D + 0.5D; - var9.addVertexWithUV(var21, var5 + 1.0D, var25, var13, var17); - var9.addVertexWithUV(var21, var5 + 0.0D, var25, var13, var19); - var9.addVertexWithUV(var21, var5 + 0.0D, var27, var15, var19); - var9.addVertexWithUV(var21, var5 + 1.0D, var27, var15, var17); - var9.addVertexWithUV(var21, var5 + 1.0D, var27, var13, var17); - var9.addVertexWithUV(var21, var5 + 0.0D, var27, var13, var19); - var9.addVertexWithUV(var21, var5 + 0.0D, var25, var15, var19); - var9.addVertexWithUV(var21, var5 + 1.0D, var25, var15, var17); - var9.addVertexWithUV(var23, var5 + 1.0D, var27, var13, var17); - var9.addVertexWithUV(var23, var5 + 0.0D, var27, var13, var19); - var9.addVertexWithUV(var23, var5 + 0.0D, var25, var15, var19); - var9.addVertexWithUV(var23, var5 + 1.0D, var25, var15, var17); - var9.addVertexWithUV(var23, var5 + 1.0D, var25, var13, var17); - var9.addVertexWithUV(var23, var5 + 0.0D, var25, var13, var19); - var9.addVertexWithUV(var23, var5 + 0.0D, var27, var15, var19); - var9.addVertexWithUV(var23, var5 + 1.0D, var27, var15, var17); - var21 = var3 + 0.5D - 0.5D; - var23 = var3 + 0.5D + 0.5D; - var25 = var7 + 0.5D - 0.25D; - var27 = var7 + 0.5D + 0.25D; - var9.addVertexWithUV(var21, var5 + 1.0D, var25, var13, var17); - var9.addVertexWithUV(var21, var5 + 0.0D, var25, var13, var19); - var9.addVertexWithUV(var23, var5 + 0.0D, var25, var15, var19); - var9.addVertexWithUV(var23, var5 + 1.0D, var25, var15, var17); - var9.addVertexWithUV(var23, var5 + 1.0D, var25, var13, var17); - var9.addVertexWithUV(var23, var5 + 0.0D, var25, var13, var19); - var9.addVertexWithUV(var21, var5 + 0.0D, var25, var15, var19); - var9.addVertexWithUV(var21, var5 + 1.0D, var25, var15, var17); - var9.addVertexWithUV(var23, var5 + 1.0D, var27, var13, var17); - var9.addVertexWithUV(var23, var5 + 0.0D, var27, var13, var19); - var9.addVertexWithUV(var21, var5 + 0.0D, var27, var15, var19); - var9.addVertexWithUV(var21, var5 + 1.0D, var27, var15, var17); - var9.addVertexWithUV(var21, var5 + 1.0D, var27, var13, var17); - var9.addVertexWithUV(var21, var5 + 0.0D, var27, var13, var19); - var9.addVertexWithUV(var23, var5 + 0.0D, var27, var15, var19); - var9.addVertexWithUV(var23, var5 + 1.0D, var27, var15, var17); - } - - public boolean renderBlockFluids(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - boolean var6 = var1.shouldSideBeRendered(this.blockAccess, var2, var3 + 1, var4, 1); - boolean var7 = var1.shouldSideBeRendered(this.blockAccess, var2, var3 - 1, var4, 0); - boolean[] var8 = new boolean[]{var1.shouldSideBeRendered(this.blockAccess, var2, var3, var4 - 1, 2), var1.shouldSideBeRendered(this.blockAccess, var2, var3, var4 + 1, 3), var1.shouldSideBeRendered(this.blockAccess, var2 - 1, var3, var4, 4), var1.shouldSideBeRendered(this.blockAccess, var2 + 1, var3, var4, 5)}; - if(!var6 && !var7 && !var8[0] && !var8[1] && !var8[2] && !var8[3]) { - return false; - } else { - boolean var9 = false; - float var10 = 0.5F; - float var11 = 1.0F; - float var12 = 0.8F; - float var13 = 0.6F; - double var14 = 0.0D; - double var16 = 1.0D; - Material var18 = var1.blockMaterial; - int var19 = this.blockAccess.getBlockMetadata(var2, var3, var4); - float var20 = this.getFluidHeight(var2, var3, var4, var18); - float var21 = this.getFluidHeight(var2, var3, var4 + 1, var18); - float var22 = this.getFluidHeight(var2 + 1, var3, var4 + 1, var18); - float var23 = this.getFluidHeight(var2 + 1, var3, var4, var18); - int var24; - int var27; - float var32; - float var33; - float var34; - if(this.renderAllFaces || var6) { - var9 = true; - var24 = var1.getBlockTextureFromSideAndMetadata(1, var19); - float var25 = (float)BlockFluid.getFlowDirection(this.blockAccess, var2, var3, var4, var18); - if(var25 > -999.0F) { - var24 = var1.getBlockTextureFromSideAndMetadata(2, var19); - } - - int var26 = (var24 & 15) << 4; - var27 = var24 & 240; - double var28 = ((double)var26 + 8.0D) / 256.0D; - double var30 = ((double)var27 + 8.0D) / 256.0D; - if(var25 < -999.0F) { - var25 = 0.0F; - } else { - var28 = (double)((float)(var26 + 16) / 256.0F); - var30 = (double)((float)(var27 + 16) / 256.0F); - } - - var32 = MathHelper.sin(var25) * 8.0F / 256.0F; - var33 = MathHelper.cos(var25) * 8.0F / 256.0F; - var34 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - var5.setColorOpaque_F(var11 * var34, var11 * var34, var11 * var34); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var20), (double)(var4 + 0), var28 - (double)var33 - (double)var32, var30 - (double)var33 + (double)var32); - var5.addVertexWithUV((double)(var2 + 0), (double)((float)var3 + var21), (double)(var4 + 1), var28 - (double)var33 + (double)var32, var30 + (double)var33 + (double)var32); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var22), (double)(var4 + 1), var28 + (double)var33 + (double)var32, var30 + (double)var33 - (double)var32); - var5.addVertexWithUV((double)(var2 + 1), (double)((float)var3 + var23), (double)(var4 + 0), var28 + (double)var33 - (double)var32, var30 - (double)var33 - (double)var32); - } - - if(this.renderAllFaces || var7) { - float var48 = var1.getBlockBrightness(this.blockAccess, var2, var3 - 1, var4); - var5.setColorOpaque_F(var10 * var48, var10 * var48, var10 * var48); - this.renderBottomFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureFromSide(0)); - var9 = true; - } - - for(var24 = 0; var24 < 4; ++var24) { - int var49 = var2; - var27 = var4; - if(var24 == 0) { - var27 = var4 - 1; - } - - if(var24 == 1) { - ++var27; - } - - if(var24 == 2) { - var49 = var2 - 1; - } - - if(var24 == 3) { - ++var49; - } - - int var50 = var1.getBlockTextureFromSideAndMetadata(var24 + 2, var19); - int var29 = (var50 & 15) << 4; - int var51 = var50 & 240; - if(this.renderAllFaces || var8[var24]) { - float var31; - float var35; - float var36; - if(var24 == 0) { - var31 = var20; - var32 = var23; - var33 = (float)var2; - var35 = (float)(var2 + 1); - var34 = (float)var4; - var36 = (float)var4; - } else if(var24 == 1) { - var31 = var22; - var32 = var21; - var33 = (float)(var2 + 1); - var35 = (float)var2; - var34 = (float)(var4 + 1); - var36 = (float)(var4 + 1); - } else if(var24 == 2) { - var31 = var21; - var32 = var20; - var33 = (float)var2; - var35 = (float)var2; - var34 = (float)(var4 + 1); - var36 = (float)var4; - } else { - var31 = var23; - var32 = var22; - var33 = (float)(var2 + 1); - var35 = (float)(var2 + 1); - var34 = (float)var4; - var36 = (float)(var4 + 1); - } - - var9 = true; - double var37 = (double)((float)(var29 + 0) / 256.0F); - double var39 = ((double)(var29 + 16) - 0.01D) / 256.0D; - double var41 = (double)(((float)var51 + (1.0F - var31) * 16.0F) / 256.0F); - double var43 = (double)(((float)var51 + (1.0F - var32) * 16.0F) / 256.0F); - double var45 = ((double)(var51 + 16) - 0.01D) / 256.0D; - float var47 = var1.getBlockBrightness(this.blockAccess, var49, var3, var27); - if(var24 < 2) { - var47 *= var12; - } else { - var47 *= var13; - } - - var5.setColorOpaque_F(var11 * var47, var11 * var47, var11 * var47); - var5.addVertexWithUV((double)var33, (double)((float)var3 + var31), (double)var34, var37, var41); - var5.addVertexWithUV((double)var35, (double)((float)var3 + var32), (double)var36, var39, var43); - var5.addVertexWithUV((double)var35, (double)(var3 + 0), (double)var36, var39, var45); - var5.addVertexWithUV((double)var33, (double)(var3 + 0), (double)var34, var37, var45); - } - } - - var1.minY = var14; - var1.maxY = var16; - return var9; - } - } - - private float getFluidHeight(int var1, int var2, int var3, Material var4) { - int var5 = 0; - float var6 = 0.0F; - - for(int var7 = 0; var7 < 4; ++var7) { - int var8 = var1 - (var7 & 1); - int var10 = var3 - (var7 >> 1 & 1); - if(this.blockAccess.getBlockMaterial(var8, var2 + 1, var10) == var4) { - return 1.0F; - } - - Material var11 = this.blockAccess.getBlockMaterial(var8, var2, var10); - if(var11 != var4) { - if(!var11.isSolid()) { - ++var6; - ++var5; - } - } else { - int var12 = this.blockAccess.getBlockMetadata(var8, var2, var10); - if(var12 >= 8 || var12 == 0) { - var6 += BlockFluid.getPercentAir(var12) * 10.0F; - var5 += 10; - } - - var6 += BlockFluid.getPercentAir(var12); - ++var5; - } - } - - return 1.0F - var6 / (float)var5; - } - - public void renderBlockFallingSand(Block var1, World var2, int var3, int var4, int var5) { - float var6 = 0.5F; - float var7 = 1.0F; - float var8 = 0.8F; - float var9 = 0.6F; - Tessellator var10 = Tessellator.instance; - var10.startDrawingQuads(); - float var11 = var1.getBlockBrightness(var2, var3, var4, var5); - float var12 = var1.getBlockBrightness(var2, var3, var4 - 1, var5); - if(var12 < var11) { - var12 = var11; - } - - var10.setColorOpaque_F(var6 * var12, var6 * var12, var6 * var12); - this.renderBottomFace(var1, -0.5D, -0.5D, -0.5D, var1.getBlockTextureFromSide(0)); - var12 = var1.getBlockBrightness(var2, var3, var4 + 1, var5); - if(var12 < var11) { - var12 = var11; - } - - var10.setColorOpaque_F(var7 * var12, var7 * var12, var7 * var12); - this.renderTopFace(var1, -0.5D, -0.5D, -0.5D, var1.getBlockTextureFromSide(1)); - var12 = var1.getBlockBrightness(var2, var3, var4, var5 - 1); - if(var12 < var11) { - var12 = var11; - } - - var10.setColorOpaque_F(var8 * var12, var8 * var12, var8 * var12); - this.renderEastFace(var1, -0.5D, -0.5D, -0.5D, var1.getBlockTextureFromSide(2)); - var12 = var1.getBlockBrightness(var2, var3, var4, var5 + 1); - if(var12 < var11) { - var12 = var11; - } - - var10.setColorOpaque_F(var8 * var12, var8 * var12, var8 * var12); - this.renderWestFace(var1, -0.5D, -0.5D, -0.5D, var1.getBlockTextureFromSide(3)); - var12 = var1.getBlockBrightness(var2, var3 - 1, var4, var5); - if(var12 < var11) { - var12 = var11; - } - - var10.setColorOpaque_F(var9 * var12, var9 * var12, var9 * var12); - this.renderNorthFace(var1, -0.5D, -0.5D, -0.5D, var1.getBlockTextureFromSide(4)); - var12 = var1.getBlockBrightness(var2, var3 + 1, var4, var5); - if(var12 < var11) { - var12 = var11; - } - - var10.setColorOpaque_F(var9 * var12, var9 * var12, var9 * var12); - this.renderSouthFace(var1, -0.5D, -0.5D, -0.5D, var1.getBlockTextureFromSide(5)); - var10.draw(); - } - - public boolean renderStandardBlock(Block var1, int var2, int var3, int var4) { - int var5 = var1.getRenderColor(this.blockAccess, var2, var3, var4); - float var6 = (float)(var5 >> 16 & 255) / 255.0F; - float var7 = (float)(var5 >> 8 & 255) / 255.0F; - float var8 = (float)(var5 & 255) / 255.0F; - return this.renderStandardBlockWithColorMultiplier(var1, var2, var3, var4, var6, var7, var8); - } - - public boolean renderStandardBlockWithColorMultiplier(Block var1, int var2, int var3, int var4, float var5, float var6, float var7) { - Tessellator var8 = Tessellator.instance; - boolean var9 = false; - float var10 = 0.5F; - float var11 = 1.0F; - float var12 = 0.8F; - float var13 = 0.6F; - float var14 = var10 * var5; - float var15 = var11 * var5; - float var16 = var12 * var5; - float var17 = var13 * var5; - float var18 = var10 * var6; - float var19 = var11 * var6; - float var20 = var12 * var6; - float var21 = var13 * var6; - float var22 = var10 * var7; - float var23 = var11 * var7; - float var24 = var12 * var7; - float var25 = var13 * var7; - float var26 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - float var27; - if(this.renderAllFaces || var1.shouldSideBeRendered(this.blockAccess, var2, var3 - 1, var4, 0)) { - var27 = var1.getBlockBrightness(this.blockAccess, var2, var3 - 1, var4); - if(Block.lightValue[var1.blockID] > 0) { - var27 = 1.0F; - } - - var8.setColorOpaque_F(var14 * var27, var18 * var27, var22 * var27); - this.renderBottomFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 0)); - var9 = true; - } - - if(this.renderAllFaces || var1.shouldSideBeRendered(this.blockAccess, var2, var3 + 1, var4, 1)) { - var27 = var1.getBlockBrightness(this.blockAccess, var2, var3 + 1, var4); - if(var1.maxY != 1.0D && !var1.blockMaterial.getIsLiquid()) { - var27 = var26; - } - - if(Block.lightValue[var1.blockID] > 0) { - var27 = 1.0F; - } - - var8.setColorOpaque_F(var15 * var27, var19 * var27, var23 * var27); - this.renderTopFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 1)); - var9 = true; - } - - if(this.renderAllFaces || var1.shouldSideBeRendered(this.blockAccess, var2, var3, var4 - 1, 2)) { - var27 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4 - 1); - if(var1.minZ > 0.0D) { - var27 = var26; - } - - if(Block.lightValue[var1.blockID] > 0) { - var27 = 1.0F; - } - - var8.setColorOpaque_F(var16 * var27, var20 * var27, var24 * var27); - this.renderEastFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 2)); - var9 = true; - } - - if(this.renderAllFaces || var1.shouldSideBeRendered(this.blockAccess, var2, var3, var4 + 1, 3)) { - var27 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4 + 1); - if(var1.maxZ < 1.0D) { - var27 = var26; - } - - if(Block.lightValue[var1.blockID] > 0) { - var27 = 1.0F; - } - - var8.setColorOpaque_F(var16 * var27, var20 * var27, var24 * var27); - this.renderWestFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 3)); - var9 = true; - } - - if(this.renderAllFaces || var1.shouldSideBeRendered(this.blockAccess, var2 - 1, var3, var4, 4)) { - var27 = var1.getBlockBrightness(this.blockAccess, var2 - 1, var3, var4); - if(var1.minX > 0.0D) { - var27 = var26; - } - - if(Block.lightValue[var1.blockID] > 0) { - var27 = 1.0F; - } - - var8.setColorOpaque_F(var17 * var27, var21 * var27, var25 * var27); - this.renderNorthFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 4)); - var9 = true; - } - - if(this.renderAllFaces || var1.shouldSideBeRendered(this.blockAccess, var2 + 1, var3, var4, 5)) { - var27 = var1.getBlockBrightness(this.blockAccess, var2 + 1, var3, var4); - if(var1.maxX < 1.0D) { - var27 = var26; - } - - if(Block.lightValue[var1.blockID] > 0) { - var27 = 1.0F; - } - - var8.setColorOpaque_F(var17 * var27, var21 * var27, var25 * var27); - this.renderSouthFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 5)); - var9 = true; - } - - return var9; - } - - public boolean renderBlockFence(Block var1, int var2, int var3, int var4) { - boolean var5 = false; - float var6 = 6.0F / 16.0F; - float var7 = 10.0F / 16.0F; - var1.setBlockBounds(var6, 0.0F, var6, var7, 1.0F, var7); - this.renderStandardBlock(var1, var2, var3, var4); - boolean var8 = false; - boolean var9 = false; - if(this.blockAccess.getBlockId(var2 - 1, var3, var4) == var1.blockID || this.blockAccess.getBlockId(var2 + 1, var3, var4) == var1.blockID) { - var8 = true; - } - - if(this.blockAccess.getBlockId(var2, var3, var4 - 1) == var1.blockID || this.blockAccess.getBlockId(var2, var3, var4 + 1) == var1.blockID) { - var9 = true; - } - - if(!var8 && !var9) { - var8 = true; - } - - var6 = 7.0F / 16.0F; - var7 = 9.0F / 16.0F; - float var10 = 12.0F / 16.0F; - float var11 = 15.0F / 16.0F; - if(var8) { - var1.setBlockBounds(0.0F, var10, var6, 1.0F, var11, var7); - this.renderStandardBlock(var1, var2, var3, var4); - } - - if(var9) { - var1.setBlockBounds(var6, var10, 0.0F, var7, var11, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - } - - var10 = 6.0F / 16.0F; - var11 = 9.0F / 16.0F; - if(var8) { - var1.setBlockBounds(0.0F, var10, var6, 1.0F, var11, var7); - this.renderStandardBlock(var1, var2, var3, var4); - } - - if(var9) { - var1.setBlockBounds(var6, var10, 0.0F, var7, var11, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - } - - var1.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - return var5; - } - - public boolean renderBlockStairs(Block var1, int var2, int var3, int var4) { - boolean var5 = false; - int var6 = this.blockAccess.getBlockMetadata(var2, var3, var4); - if(var6 == 0) { - var1.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - var1.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - } else if(var6 == 1) { - var1.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - var1.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - } else if(var6 == 2) { - var1.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F); - this.renderStandardBlock(var1, var2, var3, var4); - var1.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - } else if(var6 == 3) { - var1.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F); - this.renderStandardBlock(var1, var2, var3, var4); - var1.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F); - this.renderStandardBlock(var1, var2, var3, var4); - } - - var1.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - return var5; - } - - public boolean renderBlockDoor(Block var1, int var2, int var3, int var4) { - Tessellator var5 = Tessellator.instance; - BlockDoor var6 = (BlockDoor)var1; - boolean var7 = false; - float var8 = 0.5F; - float var9 = 1.0F; - float var10 = 0.8F; - float var11 = 0.6F; - float var12 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4); - float var13 = var1.getBlockBrightness(this.blockAccess, var2, var3 - 1, var4); - if(var6.minY > 0.0D) { - var13 = var12; - } - - if(Block.lightValue[var1.blockID] > 0) { - var13 = 1.0F; - } - - var5.setColorOpaque_F(var8 * var13, var8 * var13, var8 * var13); - this.renderBottomFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 0)); - var7 = true; - var13 = var1.getBlockBrightness(this.blockAccess, var2, var3 + 1, var4); - if(var6.maxY < 1.0D) { - var13 = var12; - } - - if(Block.lightValue[var1.blockID] > 0) { - var13 = 1.0F; - } - - var5.setColorOpaque_F(var9 * var13, var9 * var13, var9 * var13); - this.renderTopFace(var1, (double)var2, (double)var3, (double)var4, var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 1)); - var7 = true; - var13 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4 - 1); - if(var6.minZ > 0.0D) { - var13 = var12; - } - - if(Block.lightValue[var1.blockID] > 0) { - var13 = 1.0F; - } - - var5.setColorOpaque_F(var10 * var13, var10 * var13, var10 * var13); - int var14 = var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 2); - if(var14 < 0) { - this.flipTexture = true; - var14 = -var14; - } - - this.renderEastFace(var1, (double)var2, (double)var3, (double)var4, var14); - var7 = true; - this.flipTexture = false; - var13 = var1.getBlockBrightness(this.blockAccess, var2, var3, var4 + 1); - if(var6.maxZ < 1.0D) { - var13 = var12; - } - - if(Block.lightValue[var1.blockID] > 0) { - var13 = 1.0F; - } - - var5.setColorOpaque_F(var10 * var13, var10 * var13, var10 * var13); - var14 = var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 3); - if(var14 < 0) { - this.flipTexture = true; - var14 = -var14; - } - - this.renderWestFace(var1, (double)var2, (double)var3, (double)var4, var14); - var7 = true; - this.flipTexture = false; - var13 = var1.getBlockBrightness(this.blockAccess, var2 - 1, var3, var4); - if(var6.minX > 0.0D) { - var13 = var12; - } - - if(Block.lightValue[var1.blockID] > 0) { - var13 = 1.0F; - } - - var5.setColorOpaque_F(var11 * var13, var11 * var13, var11 * var13); - var14 = var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 4); - if(var14 < 0) { - this.flipTexture = true; - var14 = -var14; - } - - this.renderNorthFace(var1, (double)var2, (double)var3, (double)var4, var14); - var7 = true; - this.flipTexture = false; - var13 = var1.getBlockBrightness(this.blockAccess, var2 + 1, var3, var4); - if(var6.maxX < 1.0D) { - var13 = var12; - } - - if(Block.lightValue[var1.blockID] > 0) { - var13 = 1.0F; - } - - var5.setColorOpaque_F(var11 * var13, var11 * var13, var11 * var13); - var14 = var1.getBlockTextureGeneric(this.blockAccess, var2, var3, var4, 5); - if(var14 < 0) { - this.flipTexture = true; - var14 = -var14; - } - - this.renderSouthFace(var1, (double)var2, (double)var3, (double)var4, var14); - var7 = true; - this.flipTexture = false; - return var7; - } - - public void renderBottomFace(Block var1, double var2, double var4, double var6, int var8) { - Tessellator var9 = Tessellator.instance; - if(this.overrideBlockTexture >= 0) { - var8 = this.overrideBlockTexture; - } - - int var10 = (var8 & 15) << 4; - int var11 = var8 & 240; - double var12 = ((double)var10 + var1.minX * 16.0D) / 256.0D; - double var14 = ((double)var10 + var1.maxX * 16.0D - 0.01D) / 256.0D; - double var16 = ((double)var11 + var1.minZ * 16.0D) / 256.0D; - double var18 = ((double)var11 + var1.maxZ * 16.0D - 0.01D) / 256.0D; - if(var1.minX < 0.0D || var1.maxX > 1.0D) { - var12 = (double)(((float)var10 + 0.0F) / 256.0F); - var14 = (double)(((float)var10 + 15.99F) / 256.0F); - } - - if(var1.minZ < 0.0D || var1.maxZ > 1.0D) { - var16 = (double)(((float)var11 + 0.0F) / 256.0F); - var18 = (double)(((float)var11 + 15.99F) / 256.0F); - } - - double var20 = var2 + var1.minX; - double var22 = var2 + var1.maxX; - double var24 = var4 + var1.minY; - double var26 = var6 + var1.minZ; - double var28 = var6 + var1.maxZ; - var9.addVertexWithUV(var20, var24, var28, var12, var18); - var9.addVertexWithUV(var20, var24, var26, var12, var16); - var9.addVertexWithUV(var22, var24, var26, var14, var16); - var9.addVertexWithUV(var22, var24, var28, var14, var18); - } - - public void renderTopFace(Block var1, double var2, double var4, double var6, int var8) { - Tessellator var9 = Tessellator.instance; - if(this.overrideBlockTexture >= 0) { - var8 = this.overrideBlockTexture; - } - - int var10 = (var8 & 15) << 4; - int var11 = var8 & 240; - double var12 = ((double)var10 + var1.minX * 16.0D) / 256.0D; - double var14 = ((double)var10 + var1.maxX * 16.0D - 0.01D) / 256.0D; - double var16 = ((double)var11 + var1.minZ * 16.0D) / 256.0D; - double var18 = ((double)var11 + var1.maxZ * 16.0D - 0.01D) / 256.0D; - if(var1.minX < 0.0D || var1.maxX > 1.0D) { - var12 = (double)(((float)var10 + 0.0F) / 256.0F); - var14 = (double)(((float)var10 + 15.99F) / 256.0F); - } - - if(var1.minZ < 0.0D || var1.maxZ > 1.0D) { - var16 = (double)(((float)var11 + 0.0F) / 256.0F); - var18 = (double)(((float)var11 + 15.99F) / 256.0F); - } - - double var20 = var2 + var1.minX; - double var22 = var2 + var1.maxX; - double var24 = var4 + var1.maxY; - double var26 = var6 + var1.minZ; - double var28 = var6 + var1.maxZ; - var9.addVertexWithUV(var22, var24, var28, var14, var18); - var9.addVertexWithUV(var22, var24, var26, var14, var16); - var9.addVertexWithUV(var20, var24, var26, var12, var16); - var9.addVertexWithUV(var20, var24, var28, var12, var18); - } - - public void renderEastFace(Block var1, double var2, double var4, double var6, int var8) { - Tessellator var9 = Tessellator.instance; - if(this.overrideBlockTexture >= 0) { - var8 = this.overrideBlockTexture; - } - - int var10 = (var8 & 15) << 4; - int var11 = var8 & 240; - double var12 = ((double)var10 + var1.minX * 16.0D) / 256.0D; - double var14 = ((double)var10 + var1.maxX * 16.0D - 0.01D) / 256.0D; - double var16 = ((double)var11 + var1.minY * 16.0D) / 256.0D; - double var18 = ((double)var11 + var1.maxY * 16.0D - 0.01D) / 256.0D; - double var20; - if(this.flipTexture) { - var20 = var12; - var12 = var14; - var14 = var20; - } - - if(var1.minX < 0.0D || var1.maxX > 1.0D) { - var12 = (double)(((float)var10 + 0.0F) / 256.0F); - var14 = (double)(((float)var10 + 15.99F) / 256.0F); - } - - if(var1.minY < 0.0D || var1.maxY > 1.0D) { - var16 = (double)(((float)var11 + 0.0F) / 256.0F); - var18 = (double)(((float)var11 + 15.99F) / 256.0F); - } - - var20 = var2 + var1.minX; - double var22 = var2 + var1.maxX; - double var24 = var4 + var1.minY; - double var26 = var4 + var1.maxY; - double var28 = var6 + var1.minZ; - var9.addVertexWithUV(var20, var26, var28, var14, var16); - var9.addVertexWithUV(var22, var26, var28, var12, var16); - var9.addVertexWithUV(var22, var24, var28, var12, var18); - var9.addVertexWithUV(var20, var24, var28, var14, var18); - } - - public void renderWestFace(Block var1, double var2, double var4, double var6, int var8) { - Tessellator var9 = Tessellator.instance; - if(this.overrideBlockTexture >= 0) { - var8 = this.overrideBlockTexture; - } - - int var10 = (var8 & 15) << 4; - int var11 = var8 & 240; - double var12 = ((double)var10 + var1.minX * 16.0D) / 256.0D; - double var14 = ((double)var10 + var1.maxX * 16.0D - 0.01D) / 256.0D; - double var16 = ((double)var11 + var1.minY * 16.0D) / 256.0D; - double var18 = ((double)var11 + var1.maxY * 16.0D - 0.01D) / 256.0D; - double var20; - if(this.flipTexture) { - var20 = var12; - var12 = var14; - var14 = var20; - } - - if(var1.minX < 0.0D || var1.maxX > 1.0D) { - var12 = (double)(((float)var10 + 0.0F) / 256.0F); - var14 = (double)(((float)var10 + 15.99F) / 256.0F); - } - - if(var1.minY < 0.0D || var1.maxY > 1.0D) { - var16 = (double)(((float)var11 + 0.0F) / 256.0F); - var18 = (double)(((float)var11 + 15.99F) / 256.0F); - } - - var20 = var2 + var1.minX; - double var22 = var2 + var1.maxX; - double var24 = var4 + var1.minY; - double var26 = var4 + var1.maxY; - double var28 = var6 + var1.maxZ; - var9.addVertexWithUV(var20, var26, var28, var12, var16); - var9.addVertexWithUV(var20, var24, var28, var12, var18); - var9.addVertexWithUV(var22, var24, var28, var14, var18); - var9.addVertexWithUV(var22, var26, var28, var14, var16); - } - - public void renderNorthFace(Block var1, double var2, double var4, double var6, int var8) { - Tessellator var9 = Tessellator.instance; - if(this.overrideBlockTexture >= 0) { - var8 = this.overrideBlockTexture; - } - - int var10 = (var8 & 15) << 4; - int var11 = var8 & 240; - double var12 = ((double)var10 + var1.minZ * 16.0D) / 256.0D; - double var14 = ((double)var10 + var1.maxZ * 16.0D - 0.01D) / 256.0D; - double var16 = ((double)var11 + var1.minY * 16.0D) / 256.0D; - double var18 = ((double)var11 + var1.maxY * 16.0D - 0.01D) / 256.0D; - double var20; - if(this.flipTexture) { - var20 = var12; - var12 = var14; - var14 = var20; - } - - if(var1.minZ < 0.0D || var1.maxZ > 1.0D) { - var12 = (double)(((float)var10 + 0.0F) / 256.0F); - var14 = (double)(((float)var10 + 15.99F) / 256.0F); - } - - if(var1.minY < 0.0D || var1.maxY > 1.0D) { - var16 = (double)(((float)var11 + 0.0F) / 256.0F); - var18 = (double)(((float)var11 + 15.99F) / 256.0F); - } - - var20 = var2 + var1.minX; - double var22 = var4 + var1.minY; - double var24 = var4 + var1.maxY; - double var26 = var6 + var1.minZ; - double var28 = var6 + var1.maxZ; - var9.addVertexWithUV(var20, var24, var28, var14, var16); - var9.addVertexWithUV(var20, var24, var26, var12, var16); - var9.addVertexWithUV(var20, var22, var26, var12, var18); - var9.addVertexWithUV(var20, var22, var28, var14, var18); - } - - public void renderSouthFace(Block var1, double var2, double var4, double var6, int var8) { - Tessellator var9 = Tessellator.instance; - if(this.overrideBlockTexture >= 0) { - var8 = this.overrideBlockTexture; - } - - int var10 = (var8 & 15) << 4; - int var11 = var8 & 240; - double var12 = ((double)var10 + var1.minZ * 16.0D) / 256.0D; - double var14 = ((double)var10 + var1.maxZ * 16.0D - 0.01D) / 256.0D; - double var16 = ((double)var11 + var1.minY * 16.0D) / 256.0D; - double var18 = ((double)var11 + var1.maxY * 16.0D - 0.01D) / 256.0D; - double var20; - if(this.flipTexture) { - var20 = var12; - var12 = var14; - var14 = var20; - } - - if(var1.minZ < 0.0D || var1.maxZ > 1.0D) { - var12 = (double)(((float)var10 + 0.0F) / 256.0F); - var14 = (double)(((float)var10 + 15.99F) / 256.0F); - } - - if(var1.minY < 0.0D || var1.maxY > 1.0D) { - var16 = (double)(((float)var11 + 0.0F) / 256.0F); - var18 = (double)(((float)var11 + 15.99F) / 256.0F); - } - - var20 = var2 + var1.maxX; - double var22 = var4 + var1.minY; - double var24 = var4 + var1.maxY; - double var26 = var6 + var1.minZ; - double var28 = var6 + var1.maxZ; - var9.addVertexWithUV(var20, var22, var28, var12, var18); - var9.addVertexWithUV(var20, var22, var26, var14, var18); - var9.addVertexWithUV(var20, var24, var26, var14, var16); - var9.addVertexWithUV(var20, var24, var28, var12, var16); - } - - public void renderBlockOnInventory(Block var1) { - byte var2 = -1; - Tessellator var3 = Tessellator.instance; - int var4 = var1.getRenderType(); - if(var4 == 0) { - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - var3.startDrawingQuads(); - var3.setNormal(0.0F, -1.0F, 0.0F); - this.renderBottomFace(var1, 0.0D, 0.0D, 0.0D, var1.getBlockTextureFromSide(0)); - var3.draw(); - var3.startDrawingQuads(); - var3.setNormal(0.0F, 1.0F, 0.0F); - this.renderTopFace(var1, 0.0D, 0.0D, 0.0D, var1.getBlockTextureFromSide(1)); - var3.draw(); - var3.startDrawingQuads(); - var3.setNormal(0.0F, 0.0F, -1.0F); - this.renderEastFace(var1, 0.0D, 0.0D, 0.0D, var1.getBlockTextureFromSide(2)); - var3.draw(); - var3.startDrawingQuads(); - var3.setNormal(0.0F, 0.0F, 1.0F); - this.renderWestFace(var1, 0.0D, 0.0D, 0.0D, var1.getBlockTextureFromSide(3)); - var3.draw(); - var3.startDrawingQuads(); - var3.setNormal(-1.0F, 0.0F, 0.0F); - this.renderNorthFace(var1, 0.0D, 0.0D, 0.0D, var1.getBlockTextureFromSide(4)); - var3.draw(); - var3.startDrawingQuads(); - var3.setNormal(1.0F, 0.0F, 0.0F); - this.renderSouthFace(var1, 0.0D, 0.0D, 0.0D, var1.getBlockTextureFromSide(5)); - var3.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } else if(var4 == 1) { - var3.startDrawingQuads(); - var3.setNormal(0.0F, -1.0F, 0.0F); - this.renderCrossedSquares(var1, var2, -0.5D, -0.5D, -0.5D); - var3.draw(); - } else if(var4 == 6) { - var3.startDrawingQuads(); - var3.setNormal(0.0F, -1.0F, 0.0F); - this.renderBlockCropsImpl(var1, var2, -0.5D, -0.5D, -0.5D); - var3.draw(); - } else if(var4 == 2) { - var3.startDrawingQuads(); - var3.setNormal(0.0F, -1.0F, 0.0F); - this.renderTorchAtAngle(var1, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D); - var3.draw(); - } else if(var4 != 3 && var4 == 5) { - } - - } -} diff --git a/src/main/java/net/minecraft/src/RenderCreeper.java b/src/main/java/net/minecraft/src/RenderCreeper.java deleted file mode 100644 index 1790664..0000000 --- a/src/main/java/net/minecraft/src/RenderCreeper.java +++ /dev/null @@ -1,56 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderCreeper extends RenderLiving { - public RenderCreeper() { - super(new ModelCreeper(), 0.5F); - } - - protected void a(EntityCreeper var1, float var2) { - float var4 = var1.setCreeperFlashTime(var2); - float var5 = 1.0F + MathHelper.sin(var4 * 100.0F) * var4 * 0.01F; - if(var4 < 0.0F) { - var4 = 0.0F; - } - - if(var4 > 1.0F) { - var4 = 1.0F; - } - - var4 *= var4; - var4 *= var4; - float var6 = (1.0F + var4 * 0.4F) * var5; - float var7 = (1.0F + var4 * 0.1F) / var5; - GL11.glScalef(var6, var7, var6); - } - - protected int a(EntityCreeper var1, float var2, float var3) { - float var5 = var1.setCreeperFlashTime(var3); - if((int)(var5 * 10.0F) % 2 == 0) { - return 0; - } else { - int var6 = (int)(var5 * 0.2F * 255.0F); - if(var6 < 0) { - var6 = 0; - } - - if(var6 > 255) { - var6 = 255; - } - - short var7 = 255; - short var8 = 255; - short var9 = 255; - return var6 << 24 | var7 << 16 | var8 << 8 | var9; - } - } - - protected void preRenderCallback(EntityLiving var1, float var2) { - this.a((EntityCreeper)var1, var2); - } - - protected int getColorMultiplier(EntityLiving var1, float var2, float var3) { - return this.a((EntityCreeper)var1, var2, var3); - } -} diff --git a/src/main/java/net/minecraft/src/RenderEngine.java b/src/main/java/net/minecraft/src/RenderEngine.java deleted file mode 100644 index 76a3aa8..0000000 --- a/src/main/java/net/minecraft/src/RenderEngine.java +++ /dev/null @@ -1,202 +0,0 @@ -package net.minecraft.src; - -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.IntBuffer; -import java.util.ArrayList; -import java.util.HashMap; - -import org.lwjgl.opengl.GL11; - -import net.PeytonPlayz585.opengl.LWJGLMain; -import net.PeytonPlayz585.opengl.MinecraftImageData; - -public class RenderEngine { - - public RenderEngine(GameSettings gamesettings) { - textureMap = new HashMap(); - textureNameToImageMap = new HashMap(); - singleIntBuffer = GLAllocation.createIntBuffer(1); - imageDataB1 = GLAllocation.createByteBuffer(0x100000); - imageDataB2 = GLAllocation.createByteBuffer(0x100000); - textureList = new ArrayList(); - clampTexture = false; - blurTexture = false; - options = gamesettings; - } - - public int getTexture(String s) { - Integer integer = (Integer) textureMap.get(s); - if (integer != null) { - return integer.intValue(); - } - try { - singleIntBuffer.clear(); - GLAllocation.generateTextureNames(singleIntBuffer); - int i = singleIntBuffer.get(0); - if (s.startsWith("%clamp%")) { - clampTexture = true; - setupTexture(readTextureImage(LWJGLMain.loadResourceBytes(s.substring(7))), i); - clampTexture = false; - } else if (s.startsWith("%blur%")) { - blurTexture = true; - setupTexture(readTextureImage(LWJGLMain.loadResourceBytes(s.substring(6))), i); - blurTexture = false; - } else { - if(s.equals("/terrain.png")) { - useMipmaps = true; - } - setupTexture(readTextureImage(LWJGLMain.loadResourceBytes(s)), i); - useMipmaps = false; - } - textureMap.put(s, Integer.valueOf(i)); - return i; - } catch (IOException ioexception) { - throw new RuntimeException("!!"); - } - } - - public int allocateAndSetupTexture(MinecraftImageData bufferedimage) { - singleIntBuffer.clear(); - GLAllocation.generateTextureNames(singleIntBuffer); - int i = singleIntBuffer.get(0); - setupTexture(bufferedimage, i); - textureNameToImageMap.put(Integer.valueOf(i), bufferedimage); - return i; - } - - public int allocateAndSetupTexture(byte[] data, int w, int h) { - int i = GL11.glGenTextures(); - bindTexture(i); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10241 /* GL_TEXTURE_MIN_FILTER */, 9729 /* GL_LINEAR */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10240 /* GL_TEXTURE_MAG_FILTER */, 9728 /* GL_NEAREST */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10242 /* GL_TEXTURE_WRAP_S */, 10497 /* GL_REPEAT */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10243 /* GL_TEXTURE_WRAP_T */, 10497 /* GL_REPEAT */); - imageDataB1.clear(); - imageDataB1.put(data); - imageDataB1.position(0).limit(data.length); - GL11.glTexImage2D(3553 /* GL_TEXTURE_2D */, 0, 6408 /* GL_RGBA */, w, h, 0, 6408 /* GL_RGBA */, - 5121 /* GL_UNSIGNED_BYTE */, imageDataB1); - return i; - } - - public void setupTexture(MinecraftImageData bufferedimage, int i) { - bindTexture(i); - if (useMipmaps) { - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10241 /* GL_TEXTURE_MIN_FILTER */, GL11.GL_NEAREST_MIPMAP_LINEAR); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10240 /* GL_TEXTURE_MAG_FILTER */, GL11.GL_NEAREST /* GL_LINEAR */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, GL11.GL_TEXTURE_MAX_LEVEL, 4); - } else { - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10241 /* GL_TEXTURE_MIN_FILTER */, 9728 /* GL_NEAREST */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10240 /* GL_TEXTURE_MAG_FILTER */, 9728 /* GL_NEAREST */); - } - if (blurTexture) { - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10241 /* GL_TEXTURE_MIN_FILTER */, 9729 /* GL_LINEAR */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10240 /* GL_TEXTURE_MAG_FILTER */, 9729 /* GL_LINEAR */); - } - if (clampTexture) { - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10242 /* GL_TEXTURE_WRAP_S */, 10496 /* GL_CLAMP */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10243 /* GL_TEXTURE_WRAP_T */, 10496 /* GL_CLAMP */); - } else { - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10242 /* GL_TEXTURE_WRAP_S */, 10497 /* GL_REPEAT */); - GL11.glTexParameteri(3553 /* GL_TEXTURE_2D */, 10243 /* GL_TEXTURE_WRAP_T */, 10497 /* GL_REPEAT */); - } - int j = bufferedimage.w; - int k = bufferedimage.h; - int ai[] = bufferedimage.data; - byte abyte0[] = new byte[j * k * 4]; - for (int l = 0; l < ai.length; l++) { - int j1 = ai[l] >> 24 & 0xff; - int l1 = ai[l] >> 16 & 0xff; - int j2 = ai[l] >> 8 & 0xff; - int l2 = ai[l] >> 0 & 0xff; - if (options != null && options.anaglyph) { - int j3 = (l1 * 30 + j2 * 59 + l2 * 11) / 100; - int l3 = (l1 * 30 + j2 * 70) / 100; - int j4 = (l1 * 30 + l2 * 70) / 100; - l1 = j3; - j2 = l3; - l2 = j4; - } - abyte0[l * 4 + 0] = (byte) l1; - abyte0[l * 4 + 1] = (byte) j2; - abyte0[l * 4 + 2] = (byte) l2; - abyte0[l * 4 + 3] = (byte) j1; - } - imageDataB1.clear(); - imageDataB1.put(abyte0); - imageDataB1.position(0).limit(abyte0.length); - GL11.glTexImage2D(3553 /* GL_TEXTURE_2D */, 0, 6408 /* GL_RGBA */, j, k, 0, 6408 /* GL_RGBA */, - 5121 /* GL_UNSIGNED_BYTE */, imageDataB1); - if (useMipmaps) { - for (int i1 = 1; i1 <= 4; i1++) { - int k1 = j >> i1 - 1; - int i2 = j >> i1; - int k2 = k >> i1; - imageDataB2.clear(); - for (int i3 = 0; i3 < i2; i3++) { - for (int k3 = 0; k3 < k2; k3++) { - int i4 = imageDataB1.getInt((i3 * 2 + 0 + (k3 * 2 + 0) * k1) * 4); - int k4 = imageDataB1.getInt((i3 * 2 + 1 + (k3 * 2 + 0) * k1) * 4); - int l4 = imageDataB1.getInt((i3 * 2 + 1 + (k3 * 2 + 1) * k1) * 4); - int i5 = imageDataB1.getInt((i3 * 2 + 0 + (k3 * 2 + 1) * k1) * 4); - int j5 = averageColor(averageColor(i4, k4), averageColor(l4, i5)); - imageDataB2.putInt((i3 + k3 * i2) * 4, j5); - } - - } - - GL11.glTexImage2D(3553 /* GL_TEXTURE_2D */, i1, 6408 /* GL_RGBA */, i2, k2, 0, 6408 /* GL_RGBA */, - 5121 /* GL_UNSIGNED_BYTE */, imageDataB2); - ByteBuffer tmp = imageDataB1; - imageDataB1 = imageDataB2; - imageDataB2 = tmp; - } - - } - } - - public void deleteTexture(int i) { - GL11.glDeleteTextures(i); - } - - public int getTextureForDownloadableImage(String s, String s1) { - return getTexture("/mob/char.png"); - } - - public void registerTextureFX(TextureFX texturefx) { - textureList.add(texturefx); - texturefx.onTick(); - } - - private int averageColor(int i, int j) { - int k = (i & 0xff000000) >> 24 & 0xff; - int l = (j & 0xff000000) >> 24 & 0xff; - return ((k + l >> 1) << 24) + ((i & 0xfefefe) + (j & 0xfefefe) >> 1); - - } - - private MinecraftImageData readTextureImage(byte[] inputstream) throws IOException { - return LWJGLMain.loadPNG(inputstream); - } - - public void bindTexture(int i) { - if (i < 0) { - return; - } else { - GL11.glBindTexture(3553 /* GL_TEXTURE_2D */, i); - return; - } - } - - public static boolean useMipmaps = false; - private HashMap textureMap; - private HashMap textureNameToImageMap; - private IntBuffer singleIntBuffer; - private ByteBuffer imageDataB1; - private ByteBuffer imageDataB2; - private java.util.List textureList; - private GameSettings options; - private boolean clampTexture; - private boolean blurTexture; -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/RenderEntity.java b/src/main/java/net/minecraft/src/RenderEntity.java deleted file mode 100644 index 52836e9..0000000 --- a/src/main/java/net/minecraft/src/RenderEntity.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderEntity extends Render { - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - GL11.glPushMatrix(); - renderOffsetAABB(var1.boundingBox, var2 - var1.lastTickPosX, var4 - var1.lastTickPosY, var6 - var1.lastTickPosZ); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/net/minecraft/src/RenderFallingSand.java b/src/main/java/net/minecraft/src/RenderFallingSand.java deleted file mode 100644 index 3f633d1..0000000 --- a/src/main/java/net/minecraft/src/RenderFallingSand.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderFallingSand extends Render { - private RenderBlocks sandRenderBlocks = new RenderBlocks(); - - public RenderFallingSand() { - this.shadowSize = 0.5F; - } - - public void a(EntityFallingSand var1, double var2, double var4, double var6, float var8, float var9) { - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - this.loadTexture("/terrain.png"); - Block var10 = Block.blocksList[var1.blockID]; - World var11 = var1.getWorld(); - GL11.glDisable(GL11.GL_LIGHTING); - this.sandRenderBlocks.renderBlockFallingSand(var10, var11, MathHelper.floor_double(var1.posX), MathHelper.floor_double(var1.posY), MathHelper.floor_double(var1.posZ)); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glPopMatrix(); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityFallingSand)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderGiantZombie.java b/src/main/java/net/minecraft/src/RenderGiantZombie.java deleted file mode 100644 index b0614da..0000000 --- a/src/main/java/net/minecraft/src/RenderGiantZombie.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderGiantZombie extends RenderLiving { - private float scale; - - public RenderGiantZombie(ModelBase var1, float var2, float var3) { - super(var1, var2 * var3); - this.scale = var3; - } - - protected void a(EntityGiant var1, float var2) { - GL11.glScalef(this.scale, this.scale, this.scale); - } - - protected void preRenderCallback(EntityLiving var1, float var2) { - this.a((EntityGiant)var1, var2); - } -} diff --git a/src/main/java/net/minecraft/src/RenderGlobal.java b/src/main/java/net/minecraft/src/RenderGlobal.java deleted file mode 100644 index 7153b64..0000000 --- a/src/main/java/net/minecraft/src/RenderGlobal.java +++ /dev/null @@ -1,1071 +0,0 @@ -package net.minecraft.src; - -import java.nio.IntBuffer; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Random; -import org.lwjgl.opengl.GL11; - -public class RenderGlobal implements IWorldAccess { - public List tileEntities = new ArrayList(); - private World theWorld; - private RenderEngine renderEngine; - private List worldRenderersToUpdate = new ArrayList(); - private WorldRenderer[] sortedWorldRenderers; - private WorldRenderer[] worldRenderers; - private int renderChunksWide; - private int renderChunksTall; - private int renderChunksDeep; - private int glRenderListBase; - private Minecraft mc; - private RenderBlocks globalRenderBlocks; - //private IntBuffer glOcclusionQueryBase; - //private boolean occlusionEnabled = false; - private int cloudTickCounter = 0; - private int starGLCallList; - private int glSkyList; - private int glSkyList2; - private int minBlockX; - private int minBlockY; - private int minBlockZ; - private int maxBlockX; - private int maxBlockY; - private int maxBlockZ; - private int renderDistance = -1; - private int countEntitiesTotal; - private int countEntitiesRendered; - private int countEntitiesHidden; - int[] dummyBuf50k = new int['\uc350']; - IntBuffer occlusionResult = GLAllocation.createIntBuffer(64); - private int renderersLoaded; - private int renderersBeingClipped; - private int renderersBeingOccluded; - private int renderersBeingRendered; - private int renderersSkippingRenderPass; - private List glRenderLists = new ArrayList(); - private RenderList[] allRenderLists = new RenderList[]{new RenderList(), new RenderList(), new RenderList(), new RenderList()}; - int dummyRenderInt = 0; - int unusedGLCallList = GLAllocation.generateDisplayLists(1); - double prevSortX = -9999.0D; - double prevSortY = -9999.0D; - double prevSortZ = -9999.0D; - public float damagePartialTime; - int frustumCheckOffset = 0; - - public RenderGlobal(Minecraft var1, RenderEngine var2) { - this.mc = var1; - this.renderEngine = var2; - byte var3 = 64; - this.glRenderListBase = GLAllocation.generateDisplayLists(var3 * var3 * var3 * 3); -// this.occlusionEnabled = var1.getOpenGlCapsChecker().checkARBOcclusion(); -// if(this.occlusionEnabled) { -// this.occlusionResult.clear(); -// this.glOcclusionQueryBase = GLAllocation.createIntBuffer(var3 * var3 * var3); -// this.glOcclusionQueryBase.clear(); -// this.glOcclusionQueryBase.position(0); -// this.glOcclusionQueryBase.limit(var3 * var3 * var3); -// ARBOcclusionQuery.glGenQueriesARB(this.glOcclusionQueryBase); -// } - - this.starGLCallList = GLAllocation.generateDisplayLists(3); - GL11.glPushMatrix(); - GL11.glNewList(this.starGLCallList, GL11.GL_COMPILE); - this.renderStars(); - GL11.glEndList(); - GL11.glPopMatrix(); - Tessellator var4 = Tessellator.instance; - this.glSkyList = this.starGLCallList + 1; - GL11.glNewList(this.glSkyList, GL11.GL_COMPILE); - byte var6 = 64; - int var7 = 256 / var6 + 2; - float var5 = 16.0F; - - int var8; - int var9; - for(var8 = -var6 * var7; var8 <= var6 * var7; var8 += var6) { - for(var9 = -var6 * var7; var9 <= var6 * var7; var9 += var6) { - var4.startDrawingQuads(); - var4.addVertex((double)(var8 + 0), (double)var5, (double)(var9 + 0)); - var4.addVertex((double)(var8 + var6), (double)var5, (double)(var9 + 0)); - var4.addVertex((double)(var8 + var6), (double)var5, (double)(var9 + var6)); - var4.addVertex((double)(var8 + 0), (double)var5, (double)(var9 + var6)); - var4.draw(); - } - } - - GL11.glEndList(); - this.glSkyList2 = this.starGLCallList + 2; - GL11.glNewList(this.glSkyList2, GL11.GL_COMPILE); - var5 = -16.0F; - var4.startDrawingQuads(); - - for(var8 = -var6 * var7; var8 <= var6 * var7; var8 += var6) { - for(var9 = -var6 * var7; var9 <= var6 * var7; var9 += var6) { - var4.addVertex((double)(var8 + var6), (double)var5, (double)(var9 + 0)); - var4.addVertex((double)(var8 + 0), (double)var5, (double)(var9 + 0)); - var4.addVertex((double)(var8 + 0), (double)var5, (double)(var9 + var6)); - var4.addVertex((double)(var8 + var6), (double)var5, (double)(var9 + var6)); - } - } - - var4.draw(); - GL11.glEndList(); - } - - private void renderStars() { - Random var1 = new Random(10842L); - Tessellator var2 = Tessellator.instance; - var2.startDrawingQuads(); - - for(int var3 = 0; var3 < 1500; ++var3) { - double var4 = (double)(var1.nextFloat() * 2.0F - 1.0F); - double var6 = (double)(var1.nextFloat() * 2.0F - 1.0F); - double var8 = (double)(var1.nextFloat() * 2.0F - 1.0F); - double var10 = (double)(0.25F + var1.nextFloat() * 0.25F); - double var12 = var4 * var4 + var6 * var6 + var8 * var8; - if(var12 < 1.0D && var12 > 0.01D) { - var12 = 1.0D / Math.sqrt(var12); - var4 *= var12; - var6 *= var12; - var8 *= var12; - double var14 = var4 * 100.0D; - double var16 = var6 * 100.0D; - double var18 = var8 * 100.0D; - double var20 = Math.atan2(var4, var8); - double var22 = Math.sin(var20); - double var24 = Math.cos(var20); - double var26 = Math.atan2(Math.sqrt(var4 * var4 + var8 * var8), var6); - double var28 = Math.sin(var26); - double var30 = Math.cos(var26); - double var32 = var1.nextDouble() * Math.PI * 2.0D; - double var34 = Math.sin(var32); - double var36 = Math.cos(var32); - - for(int var38 = 0; var38 < 4; ++var38) { - double var39 = 0.0D; - double var41 = (double)((var38 & 2) - 1) * var10; - double var43 = (double)((var38 + 1 & 2) - 1) * var10; - double var47 = var41 * var36 - var43 * var34; - double var49 = var43 * var36 + var41 * var34; - double var53 = var47 * var28 + var39 * var30; - double var55 = var39 * var28 - var47 * var30; - double var57 = var55 * var22 - var49 * var24; - double var61 = var49 * var22 + var55 * var24; - var2.addVertex(var14 + var57, var16 + var53, var18 + var61); - } - } - } - - var2.draw(); - } - - public void changeWorld(World var1) { - if(this.theWorld != null) { - this.theWorld.removeWorldAccess(this); - } - - this.prevSortX = -9999.0D; - this.prevSortY = -9999.0D; - this.prevSortZ = -9999.0D; - RenderManager.instance.set(var1); - this.theWorld = var1; - this.globalRenderBlocks = new RenderBlocks(var1); - if(var1 != null) { - var1.addWorldAccess(this); - this.loadRenderers(); - } - - } - - public void loadRenderers() { - Block.leaves.setGraphicsLevel(this.mc.gameSettings.fancyGraphics); - this.renderDistance = this.mc.gameSettings.renderDistance; - int var1; - if(this.worldRenderers != null) { - for(var1 = 0; var1 < this.worldRenderers.length; ++var1) { - this.worldRenderers[var1].stopRendering(); - } - } - - var1 = 64 << 3 - this.renderDistance; - if(var1 > 400) { - var1 = 400; - } - - this.renderChunksWide = var1 / 16 + 1; - this.renderChunksTall = 8; - this.renderChunksDeep = var1 / 16 + 1; - this.worldRenderers = new WorldRenderer[this.renderChunksWide * this.renderChunksTall * this.renderChunksDeep]; - this.sortedWorldRenderers = new WorldRenderer[this.renderChunksWide * this.renderChunksTall * this.renderChunksDeep]; - int var2 = 0; - int var3 = 0; - this.minBlockX = 0; - this.minBlockY = 0; - this.minBlockZ = 0; - this.maxBlockX = this.renderChunksWide; - this.maxBlockY = this.renderChunksTall; - this.maxBlockZ = this.renderChunksDeep; - - int var4; - for(var4 = 0; var4 < this.worldRenderersToUpdate.size(); ++var4) { - ((WorldRenderer)this.worldRenderersToUpdate.get(var4)).needsUpdate = false; - } - - this.worldRenderersToUpdate.clear(); - - for(var4 = 0; var4 < this.renderChunksWide; ++var4) { - for(int var5 = 0; var5 < this.renderChunksTall; ++var5) { - for(int var6 = 0; var6 < this.renderChunksDeep; ++var6) { - if(this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4] != null) { - this.tileEntities.removeAll(this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].tileEntityRenderers); - } - - this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4] = new WorldRenderer(this.theWorld, this.tileEntities, var4 * 16, var5 * 16, var6 * 16, 16, this.glRenderListBase + var2); -// if(this.occlusionEnabled) { -// this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].glOcclusionQuery = this.glOcclusionQueryBase.get(var3); -// } - - this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].isWaitingOnOcclusionQuery = false; - this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].isVisible = true; - this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].isInFrustum = true; - this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].chunkIndex = var3++; - this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4].markDirty(); - this.sortedWorldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4] = this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4]; - this.worldRenderersToUpdate.add(this.worldRenderers[(var6 * this.renderChunksTall + var5) * this.renderChunksWide + var4]); - var2 += 3; - } - } - } - - if(this.theWorld != null) { - Entity var7 = this.theWorld.playerEntity; - this.markRenderersForNewPosition(MathHelper.floor_double(var7.posX), MathHelper.floor_double(var7.posY), MathHelper.floor_double(var7.posZ)); - Arrays.sort(this.sortedWorldRenderers, new EntitySorter(var7)); - } - - } - - public void renderEntities(Vec3D var1, ICamera var2, float var3) { - TileEntityRenderer.instance.cacheActiveRenderInfo(this.theWorld, this.renderEngine, this.mc.fontRenderer, this.mc.thePlayer, var3); - RenderManager.instance.cacheActiveRenderInfo(this.theWorld, this.renderEngine, this.mc.fontRenderer, this.mc.thePlayer, this.mc.gameSettings, var3); - this.countEntitiesTotal = 0; - this.countEntitiesRendered = 0; - this.countEntitiesHidden = 0; - Entity var4 = this.theWorld.playerEntity; - RenderManager.renderPosX = var4.lastTickPosX + (var4.posX - var4.lastTickPosX) * (double)var3; - RenderManager.renderPosY = var4.lastTickPosY + (var4.posY - var4.lastTickPosY) * (double)var3; - RenderManager.renderPosZ = var4.lastTickPosZ + (var4.posZ - var4.lastTickPosZ) * (double)var3; - TileEntityRenderer.staticPlayerX = var4.lastTickPosX + (var4.posX - var4.lastTickPosX) * (double)var3; - TileEntityRenderer.staticPlayerY = var4.lastTickPosY + (var4.posY - var4.lastTickPosY) * (double)var3; - TileEntityRenderer.staticPlayerZ = var4.lastTickPosZ + (var4.posZ - var4.lastTickPosZ) * (double)var3; - List var5 = this.theWorld.getLoadedEntityList(); - this.countEntitiesTotal = var5.size(); - - int var6; - for(var6 = 0; var6 < var5.size(); ++var6) { - Entity var7 = (Entity)var5.get(var6); - if(var7.isInRangeToRenderVec3D(var1) && var2.isBoundingBoxInFrustum(var7.boundingBox) && (var7 != this.theWorld.playerEntity || this.mc.gameSettings.thirdPersonView)) { - ++this.countEntitiesRendered; - RenderManager.instance.renderEntity(var7, var3); - } - } - - for(var6 = 0; var6 < this.tileEntities.size(); ++var6) { - TileEntityRenderer.instance.renderTileEntity((TileEntity)this.tileEntities.get(var6), var3); - } - - } - - public String getDebugInfoRenders() { - return "C: " + this.renderersBeingRendered + "/" + this.renderersLoaded + ". F: " + this.renderersBeingClipped + ", O: " + this.renderersBeingOccluded + ", E: " + this.renderersSkippingRenderPass; - } - - public String getDebugInfoEntities() { - return "E: " + this.countEntitiesRendered + "/" + this.countEntitiesTotal + ". B: " + this.countEntitiesHidden + ", I: " + (this.countEntitiesTotal - this.countEntitiesHidden - this.countEntitiesRendered); - } - - private void markRenderersForNewPosition(int var1, int var2, int var3) { - var1 -= 8; - var2 -= 8; - var3 -= 8; - this.minBlockX = Integer.MAX_VALUE; - this.minBlockY = Integer.MAX_VALUE; - this.minBlockZ = Integer.MAX_VALUE; - this.maxBlockX = Integer.MIN_VALUE; - this.maxBlockY = Integer.MIN_VALUE; - this.maxBlockZ = Integer.MIN_VALUE; - int var4 = this.renderChunksWide * 16; - int var5 = var4 / 2; - - for(int var6 = 0; var6 < this.renderChunksWide; ++var6) { - int var7 = var6 * 16; - int var8 = var7 + var5 - var1; - if(var8 < 0) { - var8 -= var4 - 1; - } - - var8 /= var4; - var7 -= var8 * var4; - if(var7 < this.minBlockX) { - this.minBlockX = var7; - } - - if(var7 > this.maxBlockX) { - this.maxBlockX = var7; - } - - for(int var9 = 0; var9 < this.renderChunksDeep; ++var9) { - int var10 = var9 * 16; - int var11 = var10 + var5 - var3; - if(var11 < 0) { - var11 -= var4 - 1; - } - - var11 /= var4; - var10 -= var11 * var4; - if(var10 < this.minBlockZ) { - this.minBlockZ = var10; - } - - if(var10 > this.maxBlockZ) { - this.maxBlockZ = var10; - } - - for(int var12 = 0; var12 < this.renderChunksTall; ++var12) { - int var13 = var12 * 16; - if(var13 < this.minBlockY) { - this.minBlockY = var13; - } - - if(var13 > this.maxBlockY) { - this.maxBlockY = var13; - } - - WorldRenderer var14 = this.worldRenderers[(var9 * this.renderChunksTall + var12) * this.renderChunksWide + var6]; - boolean var15 = var14.needsUpdate; - var14.setPosition(var7, var13, var10); - if(!var15 && var14.needsUpdate) { - this.worldRenderersToUpdate.add(var14); - } - } - } - } - - } - - public int sortAndRender(EntityPlayer var1, int var2, double var3) { - if(this.mc.gameSettings.renderDistance != this.renderDistance) { - this.loadRenderers(); - } - - if(var2 == 0) { - this.renderersLoaded = 0; - this.renderersBeingClipped = 0; - this.renderersBeingOccluded = 0; - this.renderersBeingRendered = 0; - this.renderersSkippingRenderPass = 0; - } - - double var5 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * var3; - double var7 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * var3; - double var9 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * var3; - double var11 = var1.posX - this.prevSortX; - double var13 = var1.posY - this.prevSortY; - double var15 = var1.posZ - this.prevSortZ; - if(var11 * var11 + var13 * var13 + var15 * var15 > 16.0D) { - this.prevSortX = var1.posX; - this.prevSortY = var1.posY; - this.prevSortZ = var1.posZ; - this.markRenderersForNewPosition(MathHelper.floor_double(var1.posX), MathHelper.floor_double(var1.posY), MathHelper.floor_double(var1.posZ)); - Arrays.sort(this.sortedWorldRenderers, new EntitySorter(var1)); - } - - byte var17 = 0; - int var33; -// if(this.occlusionEnabled && !this.mc.gameSettings.anaglyph && var2 == 0) { -// byte var18 = 0; -// int var19 = 16; -// this.checkOcclusionQueryResult(var18, var19); -// -// for(int var20 = var18; var20 < var19; ++var20) { -// this.sortedWorldRenderers[var20].isVisible = true; -// } -// -// var33 = var17 + this.renderSortedRenderers(var18, var19, var2, var3); -// -// do { -// int var34 = var19; -// var19 *= 2; -// if(var19 > this.sortedWorldRenderers.length) { -// var19 = this.sortedWorldRenderers.length; -// } -// -// GL11.glDisable(GL11.GL_TEXTURE_2D); -// GL11.glDisable(GL11.GL_LIGHTING); -// GL11.glDisable(GL11.GL_ALPHA_TEST); -// GL11.glDisable(GL11.GL_FOG); -// GL11.glColorMask(false, false, false, false); -// GL11.glDepthMask(false); -// this.checkOcclusionQueryResult(var34, var19); -// GL11.glPushMatrix(); -// float var35 = 0.0F; -// float var21 = 0.0F; -// float var22 = 0.0F; -// -// for(int var23 = var34; var23 < var19; ++var23) { -// if(this.sortedWorldRenderers[var23].skipAllRenderPasses()) { -// this.sortedWorldRenderers[var23].isInFrustum = false; -// } else { -// if(!this.sortedWorldRenderers[var23].isInFrustum) { -// this.sortedWorldRenderers[var23].isVisible = true; -// } -// -// if(this.sortedWorldRenderers[var23].isInFrustum && !this.sortedWorldRenderers[var23].isWaitingOnOcclusionQuery) { -// float var24 = MathHelper.sqrt_float(this.sortedWorldRenderers[var23].distanceToEntitySquared(var1)); -// int var25 = (int)(1.0F + var24 / 128.0F); -// if(this.cloudTickCounter % var25 == var23 % var25) { -// WorldRenderer var26 = this.sortedWorldRenderers[var23]; -// float var27 = (float)((double)var26.posXMinus - var5); -// float var28 = (float)((double)var26.posYMinus - var7); -// float var29 = (float)((double)var26.posZMinus - var9); -// float var30 = var27 - var35; -// float var31 = var28 - var21; -// float var32 = var29 - var22; -// if(var30 != 0.0F || var31 != 0.0F || var32 != 0.0F) { -// GL11.glTranslatef(var30, var31, var32); -// var35 += var30; -// var21 += var31; -// var22 += var32; -// } -// -// ARBOcclusionQuery.glBeginQueryARB(GL15.GL_SAMPLES_PASSED, this.sortedWorldRenderers[var23].glOcclusionQuery); -// this.sortedWorldRenderers[var23].callOcclusionQueryList(); -// ARBOcclusionQuery.glEndQueryARB(GL15.GL_SAMPLES_PASSED); -// this.sortedWorldRenderers[var23].isWaitingOnOcclusionQuery = true; -// } -// } -// } -// } -// -// GL11.glPopMatrix(); -// GL11.glColorMask(true, true, true, true); -// GL11.glDepthMask(true); -// GL11.glEnable(GL11.GL_TEXTURE_2D); -// GL11.glEnable(GL11.GL_ALPHA_TEST); -// GL11.glEnable(GL11.GL_FOG); -// var33 += this.renderSortedRenderers(var34, var19, var2, var3); -// } while(var19 < this.sortedWorldRenderers.length); -// } else { - var33 = var17 + this.renderSortedRenderers(0, this.sortedWorldRenderers.length, var2, var3); - //} - - return var33; - } - -// private void checkOcclusionQueryResult(int var1, int var2) { -// for(int var3 = var1; var3 < var2; ++var3) { -// if(this.sortedWorldRenderers[var3].isWaitingOnOcclusionQuery) { -// this.occlusionResult.clear(); -// ARBOcclusionQuery.glGetQueryObjectuARB(this.sortedWorldRenderers[var3].glOcclusionQuery, GL15.GL_QUERY_RESULT_AVAILABLE, this.occlusionResult); -// if(this.occlusionResult.get(0) != 0) { -// this.sortedWorldRenderers[var3].isWaitingOnOcclusionQuery = false; -// this.occlusionResult.clear(); -// ARBOcclusionQuery.glGetQueryObjectuARB(this.sortedWorldRenderers[var3].glOcclusionQuery, GL15.GL_QUERY_RESULT, this.occlusionResult); -// this.sortedWorldRenderers[var3].isVisible = this.occlusionResult.get(0) != 0; -// } -// } -// } -// -// } - - private int renderSortedRenderers(int var1, int var2, int var3, double var4) { - this.glRenderLists.clear(); - int var6 = 0; - - for(int var7 = var1; var7 < var2; ++var7) { - if(var3 == 0) { - ++this.renderersLoaded; - if(this.sortedWorldRenderers[var7].skipRenderPass[var3]) { - ++this.renderersSkippingRenderPass; - } else if(!this.sortedWorldRenderers[var7].isInFrustum) { - ++this.renderersBeingClipped; - } else { - ++this.renderersBeingRendered; - } - } - - if(!this.sortedWorldRenderers[var7].skipRenderPass[var3] && this.sortedWorldRenderers[var7].isInFrustum && this.sortedWorldRenderers[var7].isVisible) { - int var8 = this.sortedWorldRenderers[var7].getGLCallListForPass(var3); - if(var8 >= 0) { - this.glRenderLists.add(this.sortedWorldRenderers[var7]); - ++var6; - } - } - } - - EntityPlayerSP var19 = this.mc.thePlayer; - double var20 = var19.lastTickPosX + (var19.posX - var19.lastTickPosX) * var4; - double var10 = var19.lastTickPosY + (var19.posY - var19.lastTickPosY) * var4; - double var12 = var19.lastTickPosZ + (var19.posZ - var19.lastTickPosZ) * var4; - int var14 = 0; - - int var15; - for(var15 = 0; var15 < this.allRenderLists.length; ++var15) { - this.allRenderLists[var15].reset(); - } - - for(var15 = 0; var15 < this.glRenderLists.size(); ++var15) { - WorldRenderer var16 = (WorldRenderer)this.glRenderLists.get(var15); - int var17 = -1; - - for(int var18 = 0; var18 < var14; ++var18) { - if(this.allRenderLists[var18].isRenderedAt(var16.posXMinus, var16.posYMinus, var16.posZMinus)) { - var17 = var18; - } - } - - if(var17 < 0) { - var17 = var14++; - this.allRenderLists[var17].setLocation(var16.posXMinus, var16.posYMinus, var16.posZMinus, var20, var10, var12); - } - - this.allRenderLists[var17].render(var16.getGLCallListForPass(var3)); - } - - this.renderAllRenderLists(var3, var4); - return var6; - } - - public void renderAllRenderLists(int var1, double var2) { - for(int var4 = 0; var4 < this.allRenderLists.length; ++var4) { - this.allRenderLists[var4].render(); - } - - } - - public void updateClouds() { - ++this.cloudTickCounter; - } - - public void renderSky(float var1) { - GL11.glDisable(GL11.GL_TEXTURE_2D); - Vec3D var2 = this.theWorld.getSkyColor(var1); - float var3 = (float)var2.xCoord; - float var4 = (float)var2.yCoord; - float var5 = (float)var2.zCoord; - float var7; - float var8; - if(this.mc.gameSettings.anaglyph) { - float var6 = (var3 * 30.0F + var4 * 59.0F + var5 * 11.0F) / 100.0F; - var7 = (var3 * 30.0F + var4 * 70.0F) / 100.0F; - var8 = (var3 * 30.0F + var5 * 70.0F) / 100.0F; - var3 = var6; - var4 = var7; - var5 = var8; - } - - GL11.glColor3f(var3, var4, var5); - Tessellator var12 = Tessellator.instance; - GL11.glDepthMask(false); - GL11.glEnable(GL11.GL_FOG); - GL11.glColor3f(var3, var4, var5); - GL11.glCallList(this.glSkyList); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_FOG); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); - GL11.glPushMatrix(); - var7 = 0.0F; - var8 = 0.0F; - float var9 = 0.0F; - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glTranslatef(var7, var8, var9); - GL11.glRotatef(0.0F, 0.0F, 0.0F, 1.0F); - GL11.glRotatef(this.theWorld.getCelestialAngle(var1) * 360.0F, 1.0F, 0.0F, 0.0F); - float var10 = 30.0F; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.renderEngine.getTexture("/terrain/sun.png")); - var12.startDrawingQuads(); - var12.addVertexWithUV((double)(-var10), 100.0D, (double)(-var10), 0.0D, 0.0D); - var12.addVertexWithUV((double)var10, 100.0D, (double)(-var10), 1.0D, 0.0D); - var12.addVertexWithUV((double)var10, 100.0D, (double)var10, 1.0D, 1.0D); - var12.addVertexWithUV((double)(-var10), 100.0D, (double)var10, 0.0D, 1.0D); - var12.draw(); - var10 = 20.0F; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.renderEngine.getTexture("/terrain/moon.png")); - var12.startDrawingQuads(); - var12.addVertexWithUV((double)(-var10), -100.0D, (double)var10, 1.0D, 1.0D); - var12.addVertexWithUV((double)var10, -100.0D, (double)var10, 0.0D, 1.0D); - var12.addVertexWithUV((double)var10, -100.0D, (double)(-var10), 0.0D, 0.0D); - var12.addVertexWithUV((double)(-var10), -100.0D, (double)(-var10), 1.0D, 0.0D); - var12.draw(); - GL11.glDisable(GL11.GL_TEXTURE_2D); - float var11 = this.theWorld.getStarBrightness(var1); - if(var11 > 0.0F) { - GL11.glColor4f(var11, var11, var11, var11); - GL11.glCallList(this.starGLCallList); - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_FOG); - GL11.glPopMatrix(); - GL11.glColor3f(var3 * 0.2F + 0.04F, var4 * 0.2F + 0.04F, var5 * 0.6F + 0.1F); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glCallList(this.glSkyList2); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDepthMask(true); - } - - public void renderClouds(float var1) { - if(this.mc.gameSettings.fancyGraphics) { - this.renderCloudsFancy(var1); - } else { - GL11.glDisable(GL11.GL_CULL_FACE); - float var2 = (float)(this.mc.thePlayer.lastTickPosY + (this.mc.thePlayer.posY - this.mc.thePlayer.lastTickPosY) * (double)var1); - byte var3 = 32; - int var4 = 256 / var3; - Tessellator var5 = Tessellator.instance; - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.renderEngine.getTexture("/clouds.png")); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Vec3D var6 = this.theWorld.getCloudColor(var1); - float var7 = (float)var6.xCoord; - float var8 = (float)var6.yCoord; - float var9 = (float)var6.zCoord; - float var10; - if(this.mc.gameSettings.anaglyph) { - var10 = (var7 * 30.0F + var8 * 59.0F + var9 * 11.0F) / 100.0F; - float var11 = (var7 * 30.0F + var8 * 70.0F) / 100.0F; - float var12 = (var7 * 30.0F + var9 * 70.0F) / 100.0F; - var7 = var10; - var8 = var11; - var9 = var12; - } - - var10 = 0.5F / 1024.0F; - double var22 = this.theWorld.playerEntity.prevPosX + (this.theWorld.playerEntity.posX - this.theWorld.playerEntity.prevPosX) * (double)var1 + (double)(((float)this.cloudTickCounter + var1) * 0.03F); - double var13 = this.theWorld.playerEntity.prevPosZ + (this.theWorld.playerEntity.posZ - this.theWorld.playerEntity.prevPosZ) * (double)var1; - int var15 = MathHelper.floor_double(var22 / 2048.0D); - int var16 = MathHelper.floor_double(var13 / 2048.0D); - var22 -= (double)(var15 * 2048); - var13 -= (double)(var16 * 2048); - float var17 = 120.0F - var2 + 0.33F; - float var18 = (float)(var22 * (double)var10); - float var19 = (float)(var13 * (double)var10); - var5.startDrawingQuads(); - var5.setColorRGBA_F(var7, var8, var9, 0.8F); - - for(int var20 = -var3 * var4; var20 < var3 * var4; var20 += var3) { - for(int var21 = -var3 * var4; var21 < var3 * var4; var21 += var3) { - var5.addVertexWithUV((double)(var20 + 0), (double)var17, (double)(var21 + var3), (double)((float)(var20 + 0) * var10 + var18), (double)((float)(var21 + var3) * var10 + var19)); - var5.addVertexWithUV((double)(var20 + var3), (double)var17, (double)(var21 + var3), (double)((float)(var20 + var3) * var10 + var18), (double)((float)(var21 + var3) * var10 + var19)); - var5.addVertexWithUV((double)(var20 + var3), (double)var17, (double)(var21 + 0), (double)((float)(var20 + var3) * var10 + var18), (double)((float)(var21 + 0) * var10 + var19)); - var5.addVertexWithUV((double)(var20 + 0), (double)var17, (double)(var21 + 0), (double)((float)(var20 + 0) * var10 + var18), (double)((float)(var21 + 0) * var10 + var19)); - } - } - - var5.draw(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - } - } - - public void renderCloudsFancy(float var1) { - GL11.glDisable(GL11.GL_CULL_FACE); - float var2 = (float)(this.mc.thePlayer.lastTickPosY + (this.mc.thePlayer.posY - this.mc.thePlayer.lastTickPosY) * (double)var1); - Tessellator var3 = Tessellator.instance; - float var4 = 12.0F; - float var5 = 4.0F; - double var6 = (this.theWorld.playerEntity.prevPosX + (this.theWorld.playerEntity.posX - this.theWorld.playerEntity.prevPosX) * (double)var1 + (double)(((float)this.cloudTickCounter + var1) * 0.03F)) / (double)var4; - double var8 = (this.theWorld.playerEntity.prevPosZ + (this.theWorld.playerEntity.posZ - this.theWorld.playerEntity.prevPosZ) * (double)var1) / (double)var4 + (double)0.33F; - float var10 = 108.0F - var2 + 0.33F; - int var11 = MathHelper.floor_double(var6 / 2048.0D); - int var12 = MathHelper.floor_double(var8 / 2048.0D); - var6 -= (double)(var11 * 2048); - var8 -= (double)(var12 * 2048); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.renderEngine.getTexture("/clouds.png")); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - Vec3D var13 = this.theWorld.getCloudColor(var1); - float var14 = (float)var13.xCoord; - float var15 = (float)var13.yCoord; - float var16 = (float)var13.zCoord; - float var17; - float var18; - float var19; - if(this.mc.gameSettings.anaglyph) { - var17 = (var14 * 30.0F + var15 * 59.0F + var16 * 11.0F) / 100.0F; - var18 = (var14 * 30.0F + var15 * 70.0F) / 100.0F; - var19 = (var14 * 30.0F + var16 * 70.0F) / 100.0F; - var14 = var17; - var15 = var18; - var16 = var19; - } - - var17 = (float)(var6 * 0.0D); - var18 = (float)(var8 * 0.0D); - var19 = 0.00390625F; - var17 = (float)MathHelper.floor_double(var6) * var19; - var18 = (float)MathHelper.floor_double(var8) * var19; - float var20 = (float)(var6 - (double)MathHelper.floor_double(var6)); - float var21 = (float)(var8 - (double)MathHelper.floor_double(var8)); - byte var22 = 8; - byte var23 = 3; - float var24 = 1.0F / 1024.0F; - GL11.glScalef(var4, 1.0F, var4); - - for(int var25 = 0; var25 < 2; ++var25) { - if(var25 == 0) { - GL11.glColorMask(false, false, false, false); - } else { - GL11.glColorMask(true, true, true, true); - } - - for(int var26 = -var23 + 1; var26 <= var23; ++var26) { - for(int var27 = -var23 + 1; var27 <= var23; ++var27) { - var3.startDrawingQuads(); - float var28 = (float)(var26 * var22); - float var29 = (float)(var27 * var22); - float var30 = var28 - var20; - float var31 = var29 - var21; - if(var10 > -var5 - 1.0F) { - var3.setColorRGBA_F(var14 * 0.7F, var15 * 0.7F, var16 * 0.7F, 0.8F); - var3.setNormal(0.0F, -1.0F, 0.0F); - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + 0.0F), (double)(var31 + (float)var22), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + 0.0F), (double)(var31 + (float)var22), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + 0.0F), (double)(var31 + 0.0F), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + 0.0F), (double)(var31 + 0.0F), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - } - - if(var10 <= var5 + 1.0F) { - var3.setColorRGBA_F(var14, var15, var16, 0.8F); - var3.setNormal(0.0F, 1.0F, 0.0F); - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + var5 - var24), (double)(var31 + (float)var22), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + var5 - var24), (double)(var31 + (float)var22), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + var5 - var24), (double)(var31 + 0.0F), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + var5 - var24), (double)(var31 + 0.0F), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - } - - var3.setColorRGBA_F(var14 * 0.9F, var15 * 0.9F, var16 * 0.9F, 0.8F); - int var32; - if(var26 > -1) { - var3.setNormal(-1.0F, 0.0F, 0.0F); - - for(var32 = 0; var32 < var22; ++var32) { - var3.addVertexWithUV((double)(var30 + (float)var32 + 0.0F), (double)(var10 + 0.0F), (double)(var31 + (float)var22), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var32 + 0.0F), (double)(var10 + var5), (double)(var31 + (float)var22), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var32 + 0.0F), (double)(var10 + var5), (double)(var31 + 0.0F), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var32 + 0.0F), (double)(var10 + 0.0F), (double)(var31 + 0.0F), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - } - } - - if(var26 <= 1) { - var3.setNormal(1.0F, 0.0F, 0.0F); - - for(var32 = 0; var32 < var22; ++var32) { - var3.addVertexWithUV((double)(var30 + (float)var32 + 1.0F - var24), (double)(var10 + 0.0F), (double)(var31 + (float)var22), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var32 + 1.0F - var24), (double)(var10 + var5), (double)(var31 + (float)var22), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + (float)var22) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var32 + 1.0F - var24), (double)(var10 + var5), (double)(var31 + 0.0F), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var32 + 1.0F - var24), (double)(var10 + 0.0F), (double)(var31 + 0.0F), (double)((var28 + (float)var32 + 0.5F) * var19 + var17), (double)((var29 + 0.0F) * var19 + var18)); - } - } - - var3.setColorRGBA_F(var14 * 0.8F, var15 * 0.8F, var16 * 0.8F, 0.8F); - if(var27 > -1) { - var3.setNormal(0.0F, 0.0F, -1.0F); - - for(var32 = 0; var32 < var22; ++var32) { - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + var5), (double)(var31 + (float)var32 + 0.0F), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + var5), (double)(var31 + (float)var32 + 0.0F), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + 0.0F), (double)(var31 + (float)var32 + 0.0F), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + 0.0F), (double)(var31 + (float)var32 + 0.0F), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - } - } - - if(var27 <= 1) { - var3.setNormal(0.0F, 0.0F, 1.0F); - - for(var32 = 0; var32 < var22; ++var32) { - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + var5), (double)(var31 + (float)var32 + 1.0F - var24), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + var5), (double)(var31 + (float)var32 + 1.0F - var24), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + (float)var22), (double)(var10 + 0.0F), (double)(var31 + (float)var32 + 1.0F - var24), (double)((var28 + (float)var22) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - var3.addVertexWithUV((double)(var30 + 0.0F), (double)(var10 + 0.0F), (double)(var31 + (float)var32 + 1.0F - var24), (double)((var28 + 0.0F) * var19 + var17), (double)((var29 + (float)var32 + 0.5F) * var19 + var18)); - } - } - - var3.draw(); - } - } - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - } - - public boolean updateRenderers(EntityPlayer var1, boolean var2) { - Collections.sort(this.worldRenderersToUpdate, new RenderSorter(var1)); - int var3 = this.worldRenderersToUpdate.size() - 1; - int var4 = this.worldRenderersToUpdate.size(); - - for(int var5 = 0; var5 < var4; ++var5) { - WorldRenderer var6 = (WorldRenderer)this.worldRenderersToUpdate.get(var3 - var5); - if(!var2) { - if(var6.distanceToEntitySquared(var1) > 1024.0F) { - if(var6.isInFrustum) { - if(var5 >= 3) { - return false; - } - } else if(var5 >= 1) { - return false; - } - } - } else if(!var6.isInFrustum) { - continue; - } - - var6.updateRenderer(); - this.worldRenderersToUpdate.remove(var6); - var6.needsUpdate = false; - } - - return this.worldRenderersToUpdate.size() == 0; - } - - public void drawBlockBreaking(EntityPlayer var1, MovingObjectPosition var2, int var3, ItemStack var4, float var5) { - Tessellator var6 = Tessellator.instance; - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); - GL11.glColor4f(1.0F, 1.0F, 1.0F, (MathHelper.sin((float)System.currentTimeMillis() / 100.0F) * 0.2F + 0.4F) * 0.5F); - int var8; - if(var3 == 0) { - if(this.damagePartialTime > 0.0F) { - GL11.glBlendFunc(GL11.GL_DST_COLOR, GL11.GL_SRC_COLOR); - int var7 = this.renderEngine.getTexture("/terrain.png"); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var7); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.5F); - GL11.glPushMatrix(); - var8 = this.theWorld.getBlockId(var2.blockX, var2.blockY, var2.blockZ); - Block var9 = var8 > 0 ? Block.blocksList[var8] : null; - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glPolygonOffset(-3.0F, -3.0F); - GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL); - var6.startDrawingQuads(); - double var10 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var5; - double var12 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var5; - double var14 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var5; - var6.setTranslationD(-var10, -var12, -var14); - var6.disableColor(); - if(var9 == null) { - var9 = Block.stone; - } - - this.globalRenderBlocks.renderBlockUsingTexture(var9, var2.blockX, var2.blockY, var2.blockZ, 240 + (int)(this.damagePartialTime * 10.0F)); - var6.draw(); - var6.setTranslationD(0.0D, 0.0D, 0.0D); - GL11.glPolygonOffset(0.0F, 0.0F); - GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(true); - GL11.glPopMatrix(); - } - } else if(var4 != null) { - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - float var16 = MathHelper.sin((float)System.currentTimeMillis() / 100.0F) * 0.2F + 0.8F; - GL11.glColor4f(var16, var16, var16, MathHelper.sin((float)System.currentTimeMillis() / 200.0F) * 0.2F + 0.5F); - var8 = this.renderEngine.getTexture("/terrain.png"); - GL11.glBindTexture(GL11.GL_TEXTURE_2D, var8); - int var17 = var2.blockX; - int var18 = var2.blockY; - int var11 = var2.blockZ; - if(var2.sideHit == 0) { - --var18; - } - - if(var2.sideHit == 1) { - ++var18; - } - - if(var2.sideHit == 2) { - --var11; - } - - if(var2.sideHit == 3) { - ++var11; - } - - if(var2.sideHit == 4) { - --var17; - } - - if(var2.sideHit == 5) { - ++var17; - } - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - } - - public void drawSelectionBox(EntityPlayer var1, MovingObjectPosition var2, int var3, ItemStack var4, float var5) { - if(var3 == 0 && var2.typeOfHit == 0) { - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F); - GL11.glLineWidth(2.0F); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDepthMask(false); - float var6 = 0.002F; - int var7 = this.theWorld.getBlockId(var2.blockX, var2.blockY, var2.blockZ); - if(var7 > 0) { - double var8 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var5; - double var10 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var5; - double var12 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var5; - this.drawOutlinedBoundingBox(Block.blocksList[var7].getSelectedBoundingBoxFromPool(this.theWorld, var2.blockX, var2.blockY, var2.blockZ).expand((double)var6, (double)var6, (double)var6).getOffsetBoundingBox(-var8, -var10, -var12)); - } - - GL11.glDepthMask(true); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_BLEND); - } - - } - - private void drawOutlinedBoundingBox(AxisAlignedBB var1) { - Tessellator var2 = Tessellator.instance; - var2.startDrawing(3); - var2.addVertex(var1.minX, var1.minY, var1.minZ); - var2.addVertex(var1.maxX, var1.minY, var1.minZ); - var2.addVertex(var1.maxX, var1.minY, var1.maxZ); - var2.addVertex(var1.minX, var1.minY, var1.maxZ); - var2.addVertex(var1.minX, var1.minY, var1.minZ); - var2.draw(); - var2.startDrawing(3); - var2.addVertex(var1.minX, var1.maxY, var1.minZ); - var2.addVertex(var1.maxX, var1.maxY, var1.minZ); - var2.addVertex(var1.maxX, var1.maxY, var1.maxZ); - var2.addVertex(var1.minX, var1.maxY, var1.maxZ); - var2.addVertex(var1.minX, var1.maxY, var1.minZ); - var2.draw(); - var2.startDrawing(1); - var2.addVertex(var1.minX, var1.minY, var1.minZ); - var2.addVertex(var1.minX, var1.maxY, var1.minZ); - var2.addVertex(var1.maxX, var1.minY, var1.minZ); - var2.addVertex(var1.maxX, var1.maxY, var1.minZ); - var2.addVertex(var1.maxX, var1.minY, var1.maxZ); - var2.addVertex(var1.maxX, var1.maxY, var1.maxZ); - var2.addVertex(var1.minX, var1.minY, var1.maxZ); - var2.addVertex(var1.minX, var1.maxY, var1.maxZ); - var2.draw(); - } - - public void markBlocksForUpdate(int var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = MathHelper.bucketInt(var1, 16); - int var8 = MathHelper.bucketInt(var2, 16); - int var9 = MathHelper.bucketInt(var3, 16); - int var10 = MathHelper.bucketInt(var4, 16); - int var11 = MathHelper.bucketInt(var5, 16); - int var12 = MathHelper.bucketInt(var6, 16); - - for(int var13 = var7; var13 <= var10; ++var13) { - int var14 = var13 % this.renderChunksWide; - if(var14 < 0) { - var14 += this.renderChunksWide; - } - - for(int var15 = var8; var15 <= var11; ++var15) { - int var16 = var15 % this.renderChunksTall; - if(var16 < 0) { - var16 += this.renderChunksTall; - } - - for(int var17 = var9; var17 <= var12; ++var17) { - int var18 = var17 % this.renderChunksDeep; - if(var18 < 0) { - var18 += this.renderChunksDeep; - } - - int var19 = (var18 * this.renderChunksTall + var16) * this.renderChunksWide + var14; - WorldRenderer var20 = this.worldRenderers[var19]; - if(!var20.needsUpdate) { - this.worldRenderersToUpdate.add(var20); - } - - var20.markDirty(); - } - } - } - - } - - public void markBlockAndNeighborsNeedsUpdate(int var1, int var2, int var3) { - this.markBlocksForUpdate(var1 - 1, var2 - 1, var3 - 1, var1 + 1, var2 + 1, var3 + 1); - } - - public void markBlockRangeNeedsUpdate(int var1, int var2, int var3, int var4, int var5, int var6) { - this.markBlocksForUpdate(var1 - 1, var2 - 1, var3 - 1, var4 + 1, var5 + 1, var6 + 1); - } - - public void clipRenderersByFrustrum(ICamera var1, float var2) { - for(int var3 = 0; var3 < this.worldRenderers.length; ++var3) { - if(!this.worldRenderers[var3].skipAllRenderPasses() && (!this.worldRenderers[var3].isInFrustum || (var3 + this.frustumCheckOffset & 15) == 0)) { - this.worldRenderers[var3].updateInFrustrum(var1); - } - } - - ++this.frustumCheckOffset; - } - - public void playSound(String var1, double var2, double var4, double var6, float var8, float var9) { - //this.mc.sndManager.playSound(var1, (float)var2, (float)var4, (float)var6, var8, var9); - } - - public void spawnParticle(String var1, double var2, double var4, double var6, double var8, double var10, double var12) { - double var14 = this.theWorld.playerEntity.posX - var2; - double var16 = this.theWorld.playerEntity.posY - var4; - double var18 = this.theWorld.playerEntity.posZ - var6; - if(var14 * var14 + var16 * var16 + var18 * var18 <= 256.0D) { - if(var1 == "bubble") { - this.mc.effectRenderer.addEffect(new EntityBubbleFX(this.theWorld, var2, var4, var6, var8, var10, var12)); - } else if(var1 == "smoke") { - this.mc.effectRenderer.addEffect(new EntitySmokeFX(this.theWorld, var2, var4, var6)); - } else if(var1 == "explode") { - this.mc.effectRenderer.addEffect(new EntityExplodeFX(this.theWorld, var2, var4, var6, var8, var10, var12)); - } else if(var1 == "flame") { - this.mc.effectRenderer.addEffect(new EntityFlameFX(this.theWorld, var2, var4, var6, var8, var10, var12)); - } else if(var1 == "lava") { - this.mc.effectRenderer.addEffect(new EntityLavaFX(this.theWorld, var2, var4, var6)); - } else if(var1 == "splash") { - this.mc.effectRenderer.addEffect(new EntitySplashFX(this.theWorld, var2, var4, var6, var8, var10, var12)); - } else if(var1 == "largesmoke") { - this.mc.effectRenderer.addEffect(new EntitySmokeFX(this.theWorld, var2, var4, var6, 2.5F)); - } - - } - } - - public void obtainEntitySkin(Entity var1) { - } - - public void releaseEntitySkin(Entity var1) { - } - - public void updateAllRenderers() { - for(int var1 = 0; var1 < this.worldRenderers.length; ++var1) { - if(this.worldRenderers[var1].isChunkLit) { - if(!this.worldRenderers[var1].needsUpdate) { - this.worldRenderersToUpdate.add(this.worldRenderers[var1]); - } - - this.worldRenderers[var1].markDirty(); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/RenderHelper.java b/src/main/java/net/minecraft/src/RenderHelper.java deleted file mode 100644 index daf49c3..0000000 --- a/src/main/java/net/minecraft/src/RenderHelper.java +++ /dev/null @@ -1,49 +0,0 @@ -package net.minecraft.src; - -import java.nio.FloatBuffer; -import org.lwjgl.opengl.GL11; - -public class RenderHelper { - private static FloatBuffer colorBuffer = GLAllocation.createFloatBuffer(16); - - public static void disableStandardItemLighting() { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_LIGHT0); - GL11.glDisable(GL11.GL_LIGHT1); - GL11.glDisable(GL11.GL_COLOR_MATERIAL); - } - - public static void enableStandardItemLighting() { - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_LIGHT0); - GL11.glEnable(GL11.GL_LIGHT1); - GL11.glEnable(GL11.GL_COLOR_MATERIAL); - GL11.glColorMaterial(GL11.GL_FRONT_AND_BACK, GL11.GL_AMBIENT_AND_DIFFUSE); - float var0 = 0.4F; - float var1 = 0.6F; - float var2 = 0.0F; - Vec3D var3 = Vec3D.createVector((double)0.7F, 1.0D, (double)-0.2F).normalize(); - GL11.glLight(GL11.GL_LIGHT0, GL11.GL_POSITION, setColorBuffer(var3.xCoord, var3.yCoord, var3.zCoord, 0.0D)); - GL11.glLight(GL11.GL_LIGHT0, GL11.GL_DIFFUSE, setColorBuffer(var1, var1, var1, 1.0F)); - GL11.glLight(GL11.GL_LIGHT0, GL11.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F)); - GL11.glLight(GL11.GL_LIGHT0, GL11.GL_SPECULAR, setColorBuffer(var2, var2, var2, 1.0F)); - var3 = Vec3D.createVector((double)-0.7F, 1.0D, (double)0.2F).normalize(); - GL11.glLight(GL11.GL_LIGHT1, GL11.GL_POSITION, setColorBuffer(var3.xCoord, var3.yCoord, var3.zCoord, 0.0D)); - GL11.glLight(GL11.GL_LIGHT1, GL11.GL_DIFFUSE, setColorBuffer(var1, var1, var1, 1.0F)); - GL11.glLight(GL11.GL_LIGHT1, GL11.GL_AMBIENT, setColorBuffer(0.0F, 0.0F, 0.0F, 1.0F)); - GL11.glLight(GL11.GL_LIGHT1, GL11.GL_SPECULAR, setColorBuffer(var2, var2, var2, 1.0F)); - GL11.glShadeModel(GL11.GL_FLAT); - GL11.glLightModel(GL11.GL_LIGHT_MODEL_AMBIENT, setColorBuffer(var0, var0, var0, 1.0F)); - } - - private static FloatBuffer setColorBuffer(double var0, double var2, double var4, double var6) { - return setColorBuffer((float)var0, (float)var2, (float)var4, (float)var6); - } - - private static FloatBuffer setColorBuffer(float var0, float var1, float var2, float var3) { - colorBuffer.clear(); - colorBuffer.put(var0).put(var1).put(var2).put(var3); - colorBuffer.flip(); - return colorBuffer; - } -} diff --git a/src/main/java/net/minecraft/src/RenderItem.java b/src/main/java/net/minecraft/src/RenderItem.java deleted file mode 100644 index bc50e5c..0000000 --- a/src/main/java/net/minecraft/src/RenderItem.java +++ /dev/null @@ -1,193 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RenderItem extends Render { - private RenderBlocks renderBlocks = new RenderBlocks(); - private Random random = new Random(); - - public RenderItem() { - this.shadowSize = 0.15F; - this.shadowOpaque = 12.0F / 16.0F; - } - - public void a(EntityItem var1, double var2, double var4, double var6, float var8, float var9) { - this.random.setSeed(187L); - ItemStack var10 = var1.item; - GL11.glPushMatrix(); - float var11 = MathHelper.sin(((float)var1.age + var9) / 10.0F + var1.hoverStart) * 0.1F + 0.1F; - float var12 = (((float)var1.age + var9) / 20.0F + var1.hoverStart) * (180.0F / (float)Math.PI); - byte var13 = 1; - if(var1.item.stackSize > 1) { - var13 = 2; - } - - if(var1.item.stackSize > 5) { - var13 = 3; - } - - if(var1.item.stackSize > 20) { - var13 = 4; - } - - GL11.glTranslatef((float)var2, (float)var4 + var11, (float)var6); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - float var16; - float var17; - float var18; - if(var10.itemID < 256 && Block.blocksList[var10.itemID].getRenderType() == 0) { - GL11.glRotatef(var12, 0.0F, 1.0F, 0.0F); - this.loadTexture("/terrain.png"); - float var27 = 0.25F; - if(!Block.blocksList[var10.itemID].renderAsNormalBlock() && var10.itemID != Block.stairSingle.blockID) { - var27 = 0.5F; - } - - GL11.glScalef(var27, var27, var27); - - for(int var28 = 0; var28 < var13; ++var28) { - GL11.glPushMatrix(); - if(var28 > 0) { - var16 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / var27; - var17 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / var27; - var18 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.2F / var27; - GL11.glTranslatef(var16, var17, var18); - } - - this.renderBlocks.renderBlockOnInventory(Block.blocksList[var10.itemID]); - GL11.glPopMatrix(); - } - } else { - GL11.glScalef(0.5F, 0.5F, 0.5F); - int var14 = var10.getIconIndex(); - if(var10.itemID < 256) { - this.loadTexture("/terrain.png"); - } else { - this.loadTexture("/gui/items.png"); - } - - Tessellator var15 = Tessellator.instance; - var16 = (float)(var14 % 16 * 16 + 0) / 256.0F; - var17 = (float)(var14 % 16 * 16 + 16) / 256.0F; - var18 = (float)(var14 / 16 * 16 + 0) / 256.0F; - float var19 = (float)(var14 / 16 * 16 + 16) / 256.0F; - float var20 = 1.0F; - float var21 = 0.5F; - float var22 = 0.25F; - - for(int var23 = 0; var23 < var13; ++var23) { - GL11.glPushMatrix(); - if(var23 > 0) { - float var24 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.3F; - float var25 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.3F; - float var26 = (this.random.nextFloat() * 2.0F - 1.0F) * 0.3F; - GL11.glTranslatef(var24, var25, var26); - } - - GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); - var15.startDrawingQuads(); - var15.setNormal(0.0F, 1.0F, 0.0F); - var15.addVertexWithUV((double)(0.0F - var21), (double)(0.0F - var22), 0.0D, (double)var16, (double)var19); - var15.addVertexWithUV((double)(var20 - var21), (double)(0.0F - var22), 0.0D, (double)var17, (double)var19); - var15.addVertexWithUV((double)(var20 - var21), (double)(1.0F - var22), 0.0D, (double)var17, (double)var18); - var15.addVertexWithUV((double)(0.0F - var21), (double)(1.0F - var22), 0.0D, (double)var16, (double)var18); - var15.draw(); - GL11.glPopMatrix(); - } - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - public void drawItemIntoGui(FontRenderer var1, RenderEngine var2, ItemStack var3, int var4, int var5) { - if(var3 != null) { - if(var3.itemID < 256 && Block.blocksList[var3.itemID].getRenderType() == 0) { - int var6 = var3.itemID; - var2.bindTexture(var2.getTexture("/terrain.png")); - Block var7 = Block.blocksList[var6]; - GL11.glPushMatrix(); - GL11.glTranslatef((float)(var4 - 2), (float)(var5 + 3), 0.0F); - GL11.glScalef(10.0F, 10.0F, 10.0F); - GL11.glTranslatef(1.0F, 0.5F, 8.0F); - GL11.glRotatef(210.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.renderBlocks.renderBlockOnInventory(var7); - GL11.glPopMatrix(); - } else if(var3.getIconIndex() >= 0) { - GL11.glDisable(GL11.GL_LIGHTING); - if(var3.itemID < 256) { - var2.bindTexture(var2.getTexture("/terrain.png")); - } else { - var2.bindTexture(var2.getTexture("/gui/items.png")); - } - - this.renderTexturedQuad(var4, var5, var3.getIconIndex() % 16 * 16, var3.getIconIndex() / 16 * 16, 16, 16); - GL11.glEnable(GL11.GL_LIGHTING); - } - - } - } - - public void renderItemOverlayIntoGUI(FontRenderer var1, RenderEngine var2, ItemStack var3, int var4, int var5) { - if(var3 != null) { - if(var3.stackSize > 1) { - String var6 = "" + var3.stackSize; - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - var1.drawStringWithShadow(var6, var4 + 19 - 2 - var1.getStringWidth(var6), var5 + 6 + 3, 16777215); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - } - - if(var3.itemDmg > 0) { - int var11 = 13 - var3.itemDmg * 13 / var3.getMaxDamage(); - int var7 = 255 - var3.itemDmg * 255 / var3.getMaxDamage(); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glDisable(GL11.GL_TEXTURE_2D); - Tessellator var8 = Tessellator.instance; - int var9 = 255 - var7 << 16 | var7 << 8; - int var10 = (255 - var7) / 4 << 16 | 16128; - this.renderQuad(var8, var4 + 2, var5 + 13, 13, 2, 0); - this.renderQuad(var8, var4 + 2, var5 + 13, 12, 1, var10); - this.renderQuad(var8, var4 + 2, var5 + 13, var11, 1, var9); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } - - } - } - - private void renderQuad(Tessellator var1, int var2, int var3, int var4, int var5, int var6) { - var1.startDrawingQuads(); - var1.setColorOpaque_I(var6); - var1.addVertex((double)(var2 + 0), (double)(var3 + 0), 0.0D); - var1.addVertex((double)(var2 + 0), (double)(var3 + var5), 0.0D); - var1.addVertex((double)(var2 + var4), (double)(var3 + var5), 0.0D); - var1.addVertex((double)(var2 + var4), (double)(var3 + 0), 0.0D); - var1.draw(); - } - - public void renderTexturedQuad(int var1, int var2, int var3, int var4, int var5, int var6) { - float var7 = 0.0F; - float var8 = 0.00390625F; - float var9 = 0.00390625F; - Tessellator var10 = Tessellator.instance; - var10.startDrawingQuads(); - var10.addVertexWithUV((double)(var1 + 0), (double)(var2 + var6), (double)var7, (double)((float)(var3 + 0) * var8), (double)((float)(var4 + var6) * var9)); - var10.addVertexWithUV((double)(var1 + var5), (double)(var2 + var6), (double)var7, (double)((float)(var3 + var5) * var8), (double)((float)(var4 + var6) * var9)); - var10.addVertexWithUV((double)(var1 + var5), (double)(var2 + 0), (double)var7, (double)((float)(var3 + var5) * var8), (double)((float)(var4 + 0) * var9)); - var10.addVertexWithUV((double)(var1 + 0), (double)(var2 + 0), (double)var7, (double)((float)(var3 + 0) * var8), (double)((float)(var4 + 0) * var9)); - var10.draw(); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityItem)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderList.java b/src/main/java/net/minecraft/src/RenderList.java deleted file mode 100644 index 4688443..0000000 --- a/src/main/java/net/minecraft/src/RenderList.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.minecraft.src; - -import java.nio.IntBuffer; -import org.lwjgl.opengl.GL11; - -public class RenderList { - private int posX; - private int posY; - private int posZ; - private float playerPosX; - private float playerPosY; - private float playerPosZ; - private IntBuffer buffer = GLAllocation.createIntBuffer(65536); - private boolean render = false; - private boolean isCached = false; - - public void setLocation(int var1, int var2, int var3, double var4, double var6, double var8) { - this.render = true; - this.buffer.clear(); - this.posX = var1; - this.posY = var2; - this.posZ = var3; - this.playerPosX = (float)var4; - this.playerPosY = (float)var6; - this.playerPosZ = (float)var8; - } - - public boolean isRenderedAt(int var1, int var2, int var3) { - return !this.render ? false : var1 == this.posX && var2 == this.posY && var3 == this.posZ; - } - - public void render(int var1) { - this.buffer.put(var1); - if(this.buffer.remaining() == 0) { - this.render(); - } - - } - - public void render() { - if(this.render) { - if(!this.isCached) { - this.buffer.flip(); - this.isCached = true; - } - - if(this.buffer.remaining() > 0) { - GL11.glPushMatrix(); - GL11.glTranslatef((float)this.posX - this.playerPosX, (float)this.posY - this.playerPosY, (float)this.posZ - this.playerPosZ); - GL11.glCallLists(this.buffer); - GL11.glPopMatrix(); - } - - } - } - - public void reset() { - this.render = false; - this.isCached = false; - } -} diff --git a/src/main/java/net/minecraft/src/RenderLiving.java b/src/main/java/net/minecraft/src/RenderLiving.java deleted file mode 100644 index 564dd4c..0000000 --- a/src/main/java/net/minecraft/src/RenderLiving.java +++ /dev/null @@ -1,133 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RenderLiving extends Render { - protected ModelBase mainModel; - protected ModelBase renderPassModel; - - public RenderLiving(ModelBase var1, float var2) { - this.mainModel = var1; - this.shadowSize = var2; - } - - public void setRenderPassModel(ModelBase var1) { - this.renderPassModel = var1; - } - - public void a(EntityLiving var1, double var2, double var4, double var6, float var8, float var9) { - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_CULL_FACE); - - try { - float var10 = var1.prevRenderYawOffset + (var1.renderYawOffset - var1.prevRenderYawOffset) * var9; - float var11 = var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9; - float var12 = var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9; - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - float var13 = (float)var1.ticksExisted + var9; - GL11.glRotatef(180.0F - var10, 0.0F, 1.0F, 0.0F); - float var14; - if(var1.deathTime > 0) { - var14 = ((float)var1.deathTime + var9 - 1.0F) / 20.0F * 1.6F; - var14 = MathHelper.sqrt_float(var14); - if(var14 > 1.0F) { - var14 = 1.0F; - } - - GL11.glRotatef(var14 * this.getMaxDeathRotation(var1), 0.0F, 0.0F, 1.0F); - } - - var14 = 1.0F / 16.0F; - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glScalef(-1.0F, -1.0F, 1.0F); - this.preRenderCallback(var1, var9); - GL11.glTranslatef(0.0F, -24.0F * var14 - 0.0078125F, 0.0F); - float var15 = var1.prevLimbYaw + (var1.limbYaw - var1.prevLimbYaw) * var9; - float var16 = var1.limbSwing - var1.limbYaw * (1.0F - var9); - if(var15 > 1.0F) { - var15 = 1.0F; - } - - this.loadDownloadableImageTexture(var1.skinUrl, var1.getTexture()); - GL11.glEnable(GL11.GL_ALPHA_TEST); - this.mainModel.render(var16, var15, var13, var11 - var10, var12, var14); - - for(int var17 = 0; var17 < 4; ++var17) { - if(this.shouldRenderPass(var1, var17)) { - this.renderPassModel.render(var16, var15, var13, var11 - var10, var12, var14); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - } - } - - float var25 = var1.getEntityBrightness(var9); - int var18 = this.getColorMultiplier(var1, var25, var9); - if((var18 >> 24 & 255) > 0 || var1.hurtTime > 0 || var1.deathTime > 0) { - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glDepthFunc(GL11.GL_EQUAL); - if(var1.hurtTime > 0 || var1.deathTime > 0) { - GL11.glColor4f(var25, 0.0F, 0.0F, 0.4F); - this.mainModel.render(var16, var15, var13, var11 - var10, var12, var14); - - for(int var19 = 0; var19 < 4; ++var19) { - if(this.shouldRenderPass(var1, var19)) { - GL11.glColor4f(var25, 0.0F, 0.0F, 0.4F); - this.renderPassModel.render(var16, var15, var13, var11 - var10, var12, var14); - } - } - } - - if((var18 >> 24 & 255) > 0) { - float var26 = (float)(var18 >> 16 & 255) / 255.0F; - float var20 = (float)(var18 >> 8 & 255) / 255.0F; - float var21 = (float)(var18 & 255) / 255.0F; - float var22 = (float)(var18 >> 24 & 255) / 255.0F; - GL11.glColor4f(var26, var20, var21, var22); - this.mainModel.render(var16, var15, var13, var11 - var10, var12, var14); - - for(int var23 = 0; var23 < 4; ++var23) { - if(this.shouldRenderPass(var1, var23)) { - GL11.glColor4f(var26, var20, var21, var22); - this.renderPassModel.render(var16, var15, var13, var11 - var10, var12, var14); - } - } - } - - GL11.glDepthFunc(GL11.GL_LEQUAL); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - } catch (Exception var24) { - var24.printStackTrace(); - } - - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glPopMatrix(); - } - - protected boolean shouldRenderPass(EntityLiving var1, int var2) { - return false; - } - - protected float getMaxDeathRotation(EntityLiving var1) { - return 90.0F; - } - - protected int getColorMultiplier(EntityLiving var1, float var2, float var3) { - return 0; - } - - protected void preRenderCallback(EntityLiving var1, float var2) { - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityLiving)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderManager.java b/src/main/java/net/minecraft/src/RenderManager.java deleted file mode 100644 index 8d427a4..0000000 --- a/src/main/java/net/minecraft/src/RenderManager.java +++ /dev/null @@ -1,107 +0,0 @@ -package net.minecraft.src; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import org.lwjgl.opengl.GL11; - -public class RenderManager { - private Map entityRenderMap = new HashMap(); - public static RenderManager instance = new RenderManager(); - private FontRenderer fontRenderer; - public static double renderPosX; - public static double renderPosY; - public static double renderPosZ; - public RenderEngine renderEngine; - public World worldObj; - public EntityPlayer player; - public float playerViewY; - public float playerViewX; - public GameSettings options; - public double viewerPosX; - public double viewerPosY; - public double viewerPosZ; - - private RenderManager() { - this.entityRenderMap.put(EntitySpider.class, new RenderSpider()); - this.entityRenderMap.put(EntityPig.class, new RenderPig(new ModelPig(), new ModelPig(0.5F), 0.7F)); - this.entityRenderMap.put(EntitySheep.class, new RenderSheep(new ModelSheep(), new ModelSheepFur(), 0.7F)); - this.entityRenderMap.put(EntityCreeper.class, new RenderCreeper()); - this.entityRenderMap.put(EntitySkeleton.class, new RenderLiving(new ModelSkeleton(), 0.5F)); - this.entityRenderMap.put(EntityZombie.class, new RenderLiving(new ModelZombie(), 0.5F)); - this.entityRenderMap.put(EntityPlayer.class, new RenderPlayer()); - this.entityRenderMap.put(EntityGiant.class, new RenderGiantZombie(new ModelZombie(), 0.5F, 6.0F)); - this.entityRenderMap.put(EntityLiving.class, new RenderLiving(new ModelBiped(), 0.5F)); - this.entityRenderMap.put(Entity.class, new RenderEntity()); - this.entityRenderMap.put(EntityPainting.class, new RenderPainting()); - this.entityRenderMap.put(EntityArrow.class, new RenderArrow()); - this.entityRenderMap.put(EntityItem.class, new RenderItem()); - this.entityRenderMap.put(EntityTNTPrimed.class, new RenderTNTPrimed()); - this.entityRenderMap.put(EntityFallingSand.class, new RenderFallingSand()); - this.entityRenderMap.put(EntityMinecart.class, new RenderMinecart()); - Iterator var1 = this.entityRenderMap.values().iterator(); - - while(var1.hasNext()) { - Render var2 = (Render)var1.next(); - var2.setRenderManager(this); - } - - } - - public Render getEntityClassRenderObject(Class var1) { - Render var2 = (Render)this.entityRenderMap.get(var1); - if(var2 == null && var1 != Entity.class) { - var2 = this.getEntityClassRenderObject(var1.getSuperclass()); - this.entityRenderMap.put(var1, var2); - } - - return var2; - } - - public Render getEntityRenderObject(Entity var1) { - return this.getEntityClassRenderObject(var1.getClass()); - } - - public void cacheActiveRenderInfo(World var1, RenderEngine var2, FontRenderer var3, EntityPlayer var4, GameSettings var5, float var6) { - this.worldObj = var1; - this.renderEngine = var2; - this.options = var5; - this.player = var4; - this.fontRenderer = var3; - this.playerViewY = var4.prevRotationYaw + (var4.rotationYaw - var4.prevRotationYaw) * var6; - this.playerViewX = var4.prevRotationPitch + (var4.rotationPitch - var4.prevRotationPitch) * var6; - this.viewerPosX = var4.lastTickPosX + (var4.posX - var4.lastTickPosX) * (double)var6; - this.viewerPosY = var4.lastTickPosY + (var4.posY - var4.lastTickPosY) * (double)var6; - this.viewerPosZ = var4.lastTickPosZ + (var4.posZ - var4.lastTickPosZ) * (double)var6; - } - - public void renderEntity(Entity var1, float var2) { - double var3 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var2; - double var5 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var2; - double var7 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var2; - float var9 = var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var2; - float var10 = var1.getEntityBrightness(var2); - GL11.glColor3f(var10, var10, var10); - this.renderEntityWithPosYaw(var1, var3 - renderPosX, var5 - renderPosY, var7 - renderPosZ, var9, var2); - } - - public void renderEntityWithPosYaw(Entity var1, double var2, double var4, double var6, float var8, float var9) { - Render var10 = this.getEntityRenderObject(var1); - if(var10 != null) { - var10.doRender(var1, var2, var4, var6, var8, var9); - var10.doRenderShadowAndFire(var1, var2, var4, var6, var8, var9); - } - - } - - public void set(World var1) { - this.worldObj = var1; - } - - public double getDistanceToCamera(double var1, double var3, double var5) { - double var7 = var1 - this.viewerPosX; - double var9 = var3 - this.viewerPosY; - double var11 = var5 - this.viewerPosZ; - return var7 * var7 + var9 * var9 + var11 * var11; - } -} diff --git a/src/main/java/net/minecraft/src/RenderMinecart.java b/src/main/java/net/minecraft/src/RenderMinecart.java deleted file mode 100644 index a87bf34..0000000 --- a/src/main/java/net/minecraft/src/RenderMinecart.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderMinecart extends Render { - protected ModelBase modelMinecart; - - public RenderMinecart() { - this.shadowSize = 0.5F; - this.modelMinecart = new ModelMinecart(); - } - - public void a(EntityMinecart var1, double var2, double var4, double var6, float var8, float var9) { - GL11.glPushMatrix(); - double var10 = var1.lastTickPosX + (var1.posX - var1.lastTickPosX) * (double)var9; - double var12 = var1.lastTickPosY + (var1.posY - var1.lastTickPosY) * (double)var9; - double var14 = var1.lastTickPosZ + (var1.posZ - var1.lastTickPosZ) * (double)var9; - double var16 = (double)0.3F; - Vec3D var18 = var1.getPos(var10, var12, var14); - float var19 = var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9; - if(var18 != null) { - Vec3D var20 = var1.getPosOffset(var10, var12, var14, var16); - Vec3D var21 = var1.getPosOffset(var10, var12, var14, -var16); - if(var20 == null) { - var20 = var18; - } - - if(var21 == null) { - var21 = var18; - } - - var2 += var18.xCoord - var10; - var4 += (var20.yCoord + var21.yCoord) / 2.0D - var12; - var6 += var18.zCoord - var14; - Vec3D var22 = var21.addVector(-var20.xCoord, -var20.yCoord, -var20.zCoord); - if(var22.lengthVector() != 0.0D) { - var22 = var22.normalize(); - var8 = (float)(Math.atan2(var22.zCoord, var22.xCoord) * 180.0D / Math.PI); - var19 = (float)(Math.atan(var22.yCoord) * 73.0D); - } - } - - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - GL11.glRotatef(180.0F - var8, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-var19, 0.0F, 0.0F, 1.0F); - float var23 = (float)var1.timeSinceHit - var9; - float var24 = (float)var1.damageTaken - var9; - if(var24 < 0.0F) { - var24 = 0.0F; - } - - if(var23 > 0.0F) { - GL11.glRotatef(MathHelper.sin(var23) * var23 * var24 / 10.0F * (float)var1.forwardDirection, 1.0F, 0.0F, 0.0F); - } - - this.loadTexture("/terrain.png"); - float var25 = 12.0F / 16.0F; - GL11.glScalef(var25, var25, var25); - (new RenderBlocks()).renderBlockOnInventory(Block.chest); - GL11.glScalef(1.0F / var25, 1.0F / var25, 1.0F / var25); - this.loadTexture("/item/cart.png"); - GL11.glScalef(-1.0F, -1.0F, 1.0F); - this.modelMinecart.render(0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 1.0F / 16.0F); - GL11.glPopMatrix(); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityMinecart)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderPainting.java b/src/main/java/net/minecraft/src/RenderPainting.java deleted file mode 100644 index 4545f64..0000000 --- a/src/main/java/net/minecraft/src/RenderPainting.java +++ /dev/null @@ -1,119 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -public class RenderPainting extends Render { - private Random rand = new Random(); - - public void a(EntityPainting var1, double var2, double var4, double var6, float var8, float var9) { - this.rand.setSeed(187L); - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - GL11.glRotatef(var8, 0.0F, 1.0F, 0.0F); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - this.loadTexture("/art/kz.png"); - EnumArt var10 = var1.art; - float var11 = 1.0F / 16.0F; - GL11.glScalef(var11, var11, var11); - this.setSizes(var1, var10.sizeX, var10.sizeY, var10.offsetX, var10.offsetY); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - } - - private void setSizes(EntityPainting var1, int var2, int var3, int var4, int var5) { - float var6 = (float)(-var2) / 2.0F; - float var7 = (float)(-var3) / 2.0F; - float var8 = -0.5F; - float var9 = 0.5F; - - for(int var10 = 0; var10 < var2 / 16; ++var10) { - for(int var11 = 0; var11 < var3 / 16; ++var11) { - float var12 = var6 + (float)((var10 + 1) * 16); - float var13 = var6 + (float)(var10 * 16); - float var14 = var7 + (float)((var11 + 1) * 16); - float var15 = var7 + (float)(var11 * 16); - this.getOffset(var1, (var12 + var13) / 2.0F, (var14 + var15) / 2.0F); - float var16 = (float)(var4 + var2 - var10 * 16) / 256.0F; - float var17 = (float)(var4 + var2 - (var10 + 1) * 16) / 256.0F; - float var18 = (float)(var5 + var3 - var11 * 16) / 256.0F; - float var19 = (float)(var5 + var3 - (var11 + 1) * 16) / 256.0F; - float var20 = 12.0F / 16.0F; - float var21 = 13.0F / 16.0F; - float var22 = 0.0F; - float var23 = 1.0F / 16.0F; - float var24 = 12.0F / 16.0F; - float var25 = 13.0F / 16.0F; - float var26 = 0.001953125F; - float var27 = 0.001953125F; - float var28 = 385.0F / 512.0F; - float var29 = 385.0F / 512.0F; - float var30 = 0.0F; - float var31 = 1.0F / 16.0F; - Tessellator var32 = Tessellator.instance; - var32.startDrawingQuads(); - var32.setNormal(0.0F, 0.0F, -1.0F); - var32.addVertexWithUV((double)var12, (double)var15, (double)var8, (double)var17, (double)var18); - var32.addVertexWithUV((double)var13, (double)var15, (double)var8, (double)var16, (double)var18); - var32.addVertexWithUV((double)var13, (double)var14, (double)var8, (double)var16, (double)var19); - var32.addVertexWithUV((double)var12, (double)var14, (double)var8, (double)var17, (double)var19); - var32.setNormal(0.0F, 0.0F, 1.0F); - var32.addVertexWithUV((double)var12, (double)var14, (double)var9, (double)var20, (double)var22); - var32.addVertexWithUV((double)var13, (double)var14, (double)var9, (double)var21, (double)var22); - var32.addVertexWithUV((double)var13, (double)var15, (double)var9, (double)var21, (double)var23); - var32.addVertexWithUV((double)var12, (double)var15, (double)var9, (double)var20, (double)var23); - var32.setNormal(0.0F, -1.0F, 0.0F); - var32.addVertexWithUV((double)var12, (double)var14, (double)var8, (double)var24, (double)var26); - var32.addVertexWithUV((double)var13, (double)var14, (double)var8, (double)var25, (double)var26); - var32.addVertexWithUV((double)var13, (double)var14, (double)var9, (double)var25, (double)var27); - var32.addVertexWithUV((double)var12, (double)var14, (double)var9, (double)var24, (double)var27); - var32.setNormal(0.0F, 1.0F, 0.0F); - var32.addVertexWithUV((double)var12, (double)var15, (double)var9, (double)var24, (double)var26); - var32.addVertexWithUV((double)var13, (double)var15, (double)var9, (double)var25, (double)var26); - var32.addVertexWithUV((double)var13, (double)var15, (double)var8, (double)var25, (double)var27); - var32.addVertexWithUV((double)var12, (double)var15, (double)var8, (double)var24, (double)var27); - var32.setNormal(-1.0F, 0.0F, 0.0F); - var32.addVertexWithUV((double)var12, (double)var14, (double)var9, (double)var29, (double)var30); - var32.addVertexWithUV((double)var12, (double)var15, (double)var9, (double)var29, (double)var31); - var32.addVertexWithUV((double)var12, (double)var15, (double)var8, (double)var28, (double)var31); - var32.addVertexWithUV((double)var12, (double)var14, (double)var8, (double)var28, (double)var30); - var32.setNormal(1.0F, 0.0F, 0.0F); - var32.addVertexWithUV((double)var13, (double)var14, (double)var8, (double)var29, (double)var30); - var32.addVertexWithUV((double)var13, (double)var15, (double)var8, (double)var29, (double)var31); - var32.addVertexWithUV((double)var13, (double)var15, (double)var9, (double)var28, (double)var31); - var32.addVertexWithUV((double)var13, (double)var14, (double)var9, (double)var28, (double)var30); - var32.draw(); - } - } - - } - - private void getOffset(EntityPainting var1, float var2, float var3) { - int var4 = MathHelper.floor_double(var1.posX); - int var5 = MathHelper.floor_double(var1.posY + (double)(var3 / 16.0F)); - int var6 = MathHelper.floor_double(var1.posZ); - if(var1.direction == 0) { - var4 = MathHelper.floor_double(var1.posX + (double)(var2 / 16.0F)); - } - - if(var1.direction == 1) { - var6 = MathHelper.floor_double(var1.posZ - (double)(var2 / 16.0F)); - } - - if(var1.direction == 2) { - var4 = MathHelper.floor_double(var1.posX - (double)(var2 / 16.0F)); - } - - if(var1.direction == 3) { - var6 = MathHelper.floor_double(var1.posZ + (double)(var2 / 16.0F)); - } - - float var7 = this.renderManager.worldObj.getBrightness(var4, var5, var6); - GL11.glColor3f(var7, var7, var7); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityPainting)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderPig.java b/src/main/java/net/minecraft/src/RenderPig.java deleted file mode 100644 index 66a193e..0000000 --- a/src/main/java/net/minecraft/src/RenderPig.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class RenderPig extends RenderLiving { - public RenderPig(ModelBase var1, ModelBase var2, float var3) { - super(var1, var3); - this.setRenderPassModel(var2); - } - - protected boolean a(EntityPig var1, int var2) { - this.loadTexture("/mob/saddle.png"); - return var2 == 0 && var1.saddled; - } - - protected boolean shouldRenderPass(EntityLiving var1, int var2) { - return this.a((EntityPig)var1, var2); - } -} diff --git a/src/main/java/net/minecraft/src/RenderPlayer.java b/src/main/java/net/minecraft/src/RenderPlayer.java deleted file mode 100644 index af1ce50..0000000 --- a/src/main/java/net/minecraft/src/RenderPlayer.java +++ /dev/null @@ -1,55 +0,0 @@ -package net.minecraft.src; - -public class RenderPlayer extends RenderLiving { - private ModelBiped modelBipedMain = (ModelBiped)this.mainModel; - private ModelBiped modelArmorChestplate = new ModelBiped(1.0F); - private ModelBiped modelArmor = new ModelBiped(0.5F); - private static final String[] armorFilenamePrefix = new String[]{"cloth", "chain", "iron", "diamond", "gold"}; - - public RenderPlayer() { - super(new ModelBiped(0.0F), 0.5F); - } - - protected boolean a(EntityPlayer var1, int var2) { - ItemStack var3 = var1.inventory.armorItemInSlot(3 - var2); - if(var3 != null) { - Item var4 = var3.getItem(); - if(var4 instanceof ItemArmor) { - ItemArmor var5 = (ItemArmor)var4; - this.loadTexture("/armor/" + armorFilenamePrefix[var5.renderIndex] + "_" + (var2 == 2 ? 2 : 1) + ".png"); - ModelBiped var6 = var2 == 2 ? this.modelArmor : this.modelArmorChestplate; - var6.bipedHead.showModel = var2 == 0; - var6.bipedHeadwear.showModel = var2 == 0; - var6.bipedBody.showModel = var2 == 1 || var2 == 2; - var6.bipedRightArm.showModel = var2 == 1; - var6.bipedLeftArm.showModel = var2 == 1; - var6.bipedRightLeg.showModel = var2 == 2 || var2 == 3; - var6.bipedLeftLeg.showModel = var2 == 2 || var2 == 3; - this.setRenderPassModel(var6); - return true; - } - } - - return false; - } - - public void a(EntityPlayer var1, double var2, double var4, double var6, float var8, float var9) { - super.a(var1, var2, var4 - (double)var1.yOffset, var6, var8, var9); - } - - public void drawFirstPersonHand() { - this.modelBipedMain.bipedRightArm.render(1.0F / 16.0F); - } - - protected boolean shouldRenderPass(EntityLiving var1, int var2) { - return this.a((EntityPlayer)var1, var2); - } - - public void a(EntityLiving var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityPlayer)var1, var2, var4, var6, var8, var9); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityPlayer)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/RenderSheep.java b/src/main/java/net/minecraft/src/RenderSheep.java deleted file mode 100644 index e7e8d6f..0000000 --- a/src/main/java/net/minecraft/src/RenderSheep.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class RenderSheep extends RenderLiving { - public RenderSheep(ModelBase var1, ModelBase var2, float var3) { - super(var1, var3); - this.setRenderPassModel(var2); - } - - protected boolean a(EntitySheep var1, int var2) { - this.loadTexture("/mob/sheep_fur.png"); - return var2 == 0 && !var1.sheared; - } - - protected boolean shouldRenderPass(EntityLiving var1, int var2) { - return this.a((EntitySheep)var1, var2); - } -} diff --git a/src/main/java/net/minecraft/src/RenderSorter.java b/src/main/java/net/minecraft/src/RenderSorter.java deleted file mode 100644 index 04a4d3a..0000000 --- a/src/main/java/net/minecraft/src/RenderSorter.java +++ /dev/null @@ -1,21 +0,0 @@ -package net.minecraft.src; - -import java.util.Comparator; - -public class RenderSorter implements Comparator { - private EntityPlayer entity; - - public RenderSorter(EntityPlayer var1) { - this.entity = var1; - } - - public int a(WorldRenderer var1, WorldRenderer var2) { - boolean var3 = var1.isInFrustum; - boolean var4 = var2.isInFrustum; - return var3 && !var4 ? 1 : (var4 && !var3 ? -1 : (var1.distanceToEntitySquared(this.entity) < var2.distanceToEntitySquared(this.entity) ? 1 : -1)); - } - - public int compare(Object var1, Object var2) { - return this.a((WorldRenderer)var1, (WorldRenderer)var2); - } -} diff --git a/src/main/java/net/minecraft/src/RenderSpider.java b/src/main/java/net/minecraft/src/RenderSpider.java deleted file mode 100644 index 18972d7..0000000 --- a/src/main/java/net/minecraft/src/RenderSpider.java +++ /dev/null @@ -1,38 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderSpider extends RenderLiving { - public RenderSpider() { - super(new ModelSpider(), 1.0F); - this.setRenderPassModel(new ModelSpider()); - } - - protected float a(EntitySpider var1) { - return 180.0F; - } - - protected boolean a(EntitySpider var1, int var2) { - if(var2 != 0) { - return false; - } else if(var2 != 0) { - return false; - } else { - this.loadTexture("/mob/spider_eyes.png"); - float var3 = (1.0F - var1.getEntityBrightness(1.0F)) * 0.5F; - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - GL11.glColor4f(1.0F, 1.0F, 1.0F, var3); - return true; - } - } - - protected float getMaxDeathRotation(EntityLiving var1) { - return this.a((EntitySpider)var1); - } - - protected boolean shouldRenderPass(EntityLiving var1, int var2) { - return this.a((EntitySpider)var1, var2); - } -} diff --git a/src/main/java/net/minecraft/src/RenderTNTPrimed.java b/src/main/java/net/minecraft/src/RenderTNTPrimed.java deleted file mode 100644 index b93ef70..0000000 --- a/src/main/java/net/minecraft/src/RenderTNTPrimed.java +++ /dev/null @@ -1,54 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class RenderTNTPrimed extends Render { - private RenderBlocks blockRenderer = new RenderBlocks(); - - public RenderTNTPrimed() { - this.shadowSize = 0.5F; - } - - public void a(EntityTNTPrimed var1, double var2, double var4, double var6, float var8, float var9) { - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2, (float)var4, (float)var6); - float var10; - if((float)var1.fuse - var9 + 1.0F < 10.0F) { - var10 = 1.0F - ((float)var1.fuse - var9 + 1.0F) / 10.0F; - if(var10 < 0.0F) { - var10 = 0.0F; - } - - if(var10 > 1.0F) { - var10 = 1.0F; - } - - var10 *= var10; - var10 *= var10; - float var11 = 1.0F + var10 * 0.3F; - GL11.glScalef(var11, var11, var11); - } - - var10 = (1.0F - ((float)var1.fuse - var9 + 1.0F) / 100.0F) * 0.8F; - this.loadTexture("/terrain.png"); - this.blockRenderer.renderBlockOnInventory(Block.tnt); - if(var1.fuse / 5 % 2 == 0) { - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); - GL11.glColor4f(1.0F, 1.0F, 1.0F, var10); - this.blockRenderer.renderBlockOnInventory(Block.tnt); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_TEXTURE_2D); - } - - GL11.glPopMatrix(); - } - - public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9) { - this.a((EntityTNTPrimed)var1, var2, var4, var6, var8, var9); - } -} diff --git a/src/main/java/net/minecraft/src/ScaledResolution.java b/src/main/java/net/minecraft/src/ScaledResolution.java deleted file mode 100644 index 7d6ed74..0000000 --- a/src/main/java/net/minecraft/src/ScaledResolution.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minecraft.src; - -public class ScaledResolution { - private int scaledWidth; - private int scaledHeight; - - public ScaledResolution(int var1, int var2) { - this.scaledWidth = var1; - this.scaledHeight = var2; - - int var3; - for(var3 = 1; this.scaledWidth / (var3 + 1) >= 320 && this.scaledHeight / (var3 + 1) >= 240; ++var3) { - } - - this.scaledWidth /= var3; - this.scaledHeight /= var3; - } - - public int getScaledWidth() { - return this.scaledWidth; - } - - public int getScaledHeight() { - return this.scaledHeight; - } -} diff --git a/src/main/java/net/minecraft/src/Session.java b/src/main/java/net/minecraft/src/Session.java deleted file mode 100644 index 853aa65..0000000 --- a/src/main/java/net/minecraft/src/Session.java +++ /dev/null @@ -1,48 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; - -public class Session { - public static List registeredBlocksList = new ArrayList(); - public String username; - public String sessionId; - public String mpPassParameter; - - public Session(String var1, String var2) { - this.username = var1; - this.sessionId = var2; - } - - static { - registeredBlocksList.add(Block.stone); - registeredBlocksList.add(Block.cobblestone); - registeredBlocksList.add(Block.brick); - registeredBlocksList.add(Block.dirt); - registeredBlocksList.add(Block.planks); - registeredBlocksList.add(Block.wood); - registeredBlocksList.add(Block.leaves); - registeredBlocksList.add(Block.torch); - registeredBlocksList.add(Block.stairSingle); - registeredBlocksList.add(Block.glass); - registeredBlocksList.add(Block.cobblestoneMossy); - registeredBlocksList.add(Block.sapling); - registeredBlocksList.add(Block.plantYellow); - registeredBlocksList.add(Block.plantRed); - registeredBlocksList.add(Block.mushroomBrown); - registeredBlocksList.add(Block.mushroomRed); - registeredBlocksList.add(Block.sand); - registeredBlocksList.add(Block.gravel); - registeredBlocksList.add(Block.sponge); - registeredBlocksList.add(Block.cloth); - registeredBlocksList.add(Block.oreCoal); - registeredBlocksList.add(Block.oreIron); - registeredBlocksList.add(Block.oreGold); - registeredBlocksList.add(Block.blockSteel); - registeredBlocksList.add(Block.blockGold); - registeredBlocksList.add(Block.bookshelf); - registeredBlocksList.add(Block.tnt); - registeredBlocksList.add(Block.obsidian); - System.out.println(registeredBlocksList.size()); - } -} diff --git a/src/main/java/net/minecraft/src/SignModel.java b/src/main/java/net/minecraft/src/SignModel.java deleted file mode 100644 index 9325b7b..0000000 --- a/src/main/java/net/minecraft/src/SignModel.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -public class SignModel { - public ModelRenderer signBoard = new ModelRenderer(0, 0); - public ModelRenderer signStick; - - public SignModel() { - this.signBoard.addBox(-12.0F, -14.0F, -1.0F, 24, 12, 2, 0.0F); - this.signStick = new ModelRenderer(0, 14); - this.signStick.addBox(-1.0F, -2.0F, -1.0F, 2, 14, 2, 0.0F); - } - - public void renderSign() { - this.signBoard.render(1.0F / 16.0F); - this.signStick.render(1.0F / 16.0F); - } -} diff --git a/src/main/java/net/minecraft/src/Slot.java b/src/main/java/net/minecraft/src/Slot.java deleted file mode 100644 index 543f4ca..0000000 --- a/src/main/java/net/minecraft/src/Slot.java +++ /dev/null @@ -1,50 +0,0 @@ -package net.minecraft.src; - -public class Slot { - public final int slotIndex; - public final int xDisplayPosition; - public final int yDisplayPosition; - public final IInventory inventory; - private final GuiContainer inventoryGui; - - public Slot(GuiContainer var1, IInventory var2, int var3, int var4, int var5) { - this.inventoryGui = var1; - this.inventory = var2; - this.slotIndex = var3; - this.xDisplayPosition = var4; - this.yDisplayPosition = var5; - } - - public boolean getIsMouseOverSlot(int var1, int var2) { - int var3 = (this.inventoryGui.width - this.inventoryGui.xSize) / 2; - int var4 = (this.inventoryGui.height - this.inventoryGui.ySize) / 2; - var1 -= var3; - var2 -= var4; - return var1 >= this.xDisplayPosition - 1 && var1 < this.xDisplayPosition + 16 + 1 && var2 >= this.yDisplayPosition - 1 && var2 < this.yDisplayPosition + 16 + 1; - } - - public void onPickupFromSlot() { - this.onSlotChanged(); - } - - public boolean isItemValid(ItemStack var1) { - return true; - } - - public ItemStack getStack() { - return this.inventory.getStackInSlot(this.slotIndex); - } - - public void putStack(ItemStack var1) { - this.inventory.setInventorySlotContents(this.slotIndex, var1); - this.onSlotChanged(); - } - - public int getBackgroundIconIndex() { - return -1; - } - - public void onSlotChanged() { - this.inventory.onInventoryChanged(); - } -} diff --git a/src/main/java/net/minecraft/src/SlotArmor.java b/src/main/java/net/minecraft/src/SlotArmor.java deleted file mode 100644 index cf2689f..0000000 --- a/src/main/java/net/minecraft/src/SlotArmor.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.minecraft.src; - -class SlotArmor extends Slot { - final int armorType; - final GuiInventory guiInventory; - - SlotArmor(GuiInventory var1, GuiContainer var2, IInventory var3, int var4, int var5, int var6, int var7) { - super(var2, var3, var4, var5, var6); - this.guiInventory = var1; - this.armorType = var7; - } - - public boolean isItemValid(ItemStack var1) { - return var1.getItem() instanceof ItemArmor ? ((ItemArmor)var1.getItem()).armorType == this.armorType : false; - } - - public int getBackgroundIconIndex() { - return 15 + this.armorType * 16; - } -} diff --git a/src/main/java/net/minecraft/src/SlotCrafting.java b/src/main/java/net/minecraft/src/SlotCrafting.java deleted file mode 100644 index 4a49dc1..0000000 --- a/src/main/java/net/minecraft/src/SlotCrafting.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.minecraft.src; - -class SlotCrafting extends Slot { - private final IInventory craftMatrix; - - public SlotCrafting(GuiContainer var1, IInventory var2, IInventory var3, int var4, int var5, int var6) { - super(var1, var3, var4, var5, var6); - this.craftMatrix = var2; - } - - public boolean isItemValid(ItemStack var1) { - return false; - } - - public void onPickupFromSlot() { - for(int var1 = 0; var1 < this.craftMatrix.getSizeInventory(); ++var1) { - if(this.craftMatrix.getStackInSlot(var1) != null) { - this.craftMatrix.decrStackSize(var1, 1); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/SpawnerAnimals.java b/src/main/java/net/minecraft/src/SpawnerAnimals.java deleted file mode 100644 index 8acc13f..0000000 --- a/src/main/java/net/minecraft/src/SpawnerAnimals.java +++ /dev/null @@ -1,97 +0,0 @@ -package net.minecraft.src; - -public class SpawnerAnimals { - private int maxSpawns; - private Class entityType; - private Class[] entities; - - public SpawnerAnimals(int var1, Class var2, Class[] var3) { - this.maxSpawns = var1; - this.entityType = var2; - this.entities = var3; - } - - public void onUpdate(World var1) { - int var2 = var1.countEntities(this.entityType); - if(var2 < this.maxSpawns) { - for(int var3 = 0; var3 < 10; ++var3) { - this.performSpawning(var1, 1, var1.playerEntity, (IProgressUpdate)null); - } - } - - } - - protected ChunkPosition getRandomSpawningPointInChunk(World var1, int var2, int var3) { - int var4 = var2 + var1.rand.nextInt(256) - 128; - int var5 = var1.rand.nextInt(128); - int var6 = var3 + var1.rand.nextInt(256) - 128; - return new ChunkPosition(var4, var5, var6); - } - - private int performSpawning(World var1, int var2, Entity var3, IProgressUpdate var4) { - int var5 = 0; - int var6 = MathHelper.floor_double(var3.posX); - int var7 = MathHelper.floor_double(var3.posZ); - int var8 = var1.rand.nextInt(this.entities.length); - ChunkPosition var9 = this.getRandomSpawningPointInChunk(var1, var6, var7); - int var10 = var9.x; - int var11 = var9.y; - int var12 = var9.z; - if(var1.isBlockNormalCube(var10, var11, var12)) { - return 0; - } else if(var1.getBlockMaterial(var10, var11, var12) != Material.air) { - return 0; - } else { - for(int var13 = 0; var13 < 3; ++var13) { - int var14 = var10; - int var15 = var11; - int var16 = var12; - byte var17 = 6; - - for(int var18 = 0; var18 < 3; ++var18) { - var14 += var1.rand.nextInt(var17) - var1.rand.nextInt(var17); - var15 += var1.rand.nextInt(1) - var1.rand.nextInt(1); - var16 += var1.rand.nextInt(var17) - var1.rand.nextInt(var17); - if(var1.isBlockNormalCube(var14, var15 - 1, var16) && !var1.isBlockNormalCube(var14, var15, var16) && !var1.getBlockMaterial(var14, var15, var16).getIsLiquid() && !var1.isBlockNormalCube(var14, var15 + 1, var16)) { - float var19 = (float)var14 + 0.5F; - float var20 = (float)var15 + 1.0F; - float var21 = (float)var16 + 0.5F; - if(var3 != null) { - double var22 = (double)var19 - var3.posX; - double var24 = (double)var20 - var3.posY; - double var26 = (double)var21 - var3.posZ; - double var28 = var22 * var22 + var24 * var24 + var26 * var26; - if(var28 < 1024.0D) { - continue; - } - } else { - float var31 = var19 - (float)var1.spawnX; - float var23 = var20 - (float)var1.spawnY; - float var33 = var21 - (float)var1.spawnZ; - float var25 = var31 * var31 + var23 * var23 + var33 * var33; - if(var25 < 1024.0F) { - continue; - } - } - - EntityLiving var32; - try { - var32 = (EntityLiving)this.entities[var8].getConstructor(new Class[]{World.class}).newInstance(new Object[]{var1}); - } catch (Exception var30) { - var30.printStackTrace(); - return var5; - } - - var32.setPositionAndRotation((double)var19, (double)var20, (double)var21, var1.rand.nextFloat() * 360.0F, 0.0F); - if(var32.getCanSpawnHere((double)var19, (double)var20, (double)var21)) { - ++var5; - var1.spawnEntityInWorld(var32); - } - } - } - } - - return var5; - } - } -} diff --git a/src/main/java/net/minecraft/src/SpawnerMonsters.java b/src/main/java/net/minecraft/src/SpawnerMonsters.java deleted file mode 100644 index d253214..0000000 --- a/src/main/java/net/minecraft/src/SpawnerMonsters.java +++ /dev/null @@ -1,17 +0,0 @@ -package net.minecraft.src; - -class SpawnerMonsters extends SpawnerAnimals { - final PlayerControllerSP playerController; - - SpawnerMonsters(PlayerControllerSP var1, int var2, Class var3, Class[] var4) { - super(var2, var3, var4); - this.playerController = var1; - } - - protected ChunkPosition getRandomSpawningPointInChunk(World var1, int var2, int var3) { - int var4 = var2 + var1.rand.nextInt(256) - 128; - int var5 = var1.rand.nextInt(var1.rand.nextInt(var1.rand.nextInt(112) + 8) + 8); - int var6 = var3 + var1.rand.nextInt(256) - 128; - return new ChunkPosition(var4, var5, var6); - } -} diff --git a/src/main/java/net/minecraft/src/StepSound.java b/src/main/java/net/minecraft/src/StepSound.java deleted file mode 100644 index ad50bb0..0000000 --- a/src/main/java/net/minecraft/src/StepSound.java +++ /dev/null @@ -1,29 +0,0 @@ -package net.minecraft.src; - -public class StepSound { - public final String stepSoundName; - public final float stepSoundVolume; - public final float stepSoundPitch; - - public StepSound(String var1, float var2, float var3) { - this.stepSoundName = var1; - this.stepSoundVolume = var2; - this.stepSoundPitch = var3; - } - - public float getVolume() { - return this.stepSoundVolume; - } - - public float getPitch() { - return this.stepSoundPitch; - } - - public String getBreakSound() { - return "step." + this.stepSoundName; - } - - public String getStepSound() { - return "step." + this.stepSoundName; - } -} diff --git a/src/main/java/net/minecraft/src/StepSoundGlass.java b/src/main/java/net/minecraft/src/StepSoundGlass.java deleted file mode 100644 index a7f7d81..0000000 --- a/src/main/java/net/minecraft/src/StepSoundGlass.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -final class StepSoundGlass extends StepSound { - StepSoundGlass(String var1, float var2, float var3) { - super(var1, var2, var3); - } - - public String getBreakSound() { - return "random.glass"; - } -} diff --git a/src/main/java/net/minecraft/src/StepSoundSand.java b/src/main/java/net/minecraft/src/StepSoundSand.java deleted file mode 100644 index f1e2705..0000000 --- a/src/main/java/net/minecraft/src/StepSoundSand.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -final class StepSoundSand extends StepSound { - StepSoundSand(String var1, float var2, float var3) { - super(var1, var2, var3); - } - - public String getBreakSound() { - return "step.gravel"; - } -} diff --git a/src/main/java/net/minecraft/src/TerrainTextureManager.java b/src/main/java/net/minecraft/src/TerrainTextureManager.java deleted file mode 100644 index 31f5de7..0000000 --- a/src/main/java/net/minecraft/src/TerrainTextureManager.java +++ /dev/null @@ -1,83 +0,0 @@ -package net.minecraft.src; - -import net.PeytonPlayz585.opengl.LWJGLMain; - -public class TerrainTextureManager { - public TerrainTextureManager() { - field_1181_a = new float[768]; - field_1180_b = new int[5120]; - field_1186_c = new int[5120]; - field_1185_d = new int[5120]; - field_1184_e = new int[5120]; - field_1183_f = new int[34]; - field_1182_g = new int[768]; - int ai[] = LWJGLMain.loadPNG(LWJGLMain.loadResourceBytes("/terrain.png")).data; - for (int j = 0; j < 256; j++) { - int k = 0; - int l = 0; - int i1 = 0; - int j1 = (j % 16) * 16; - int k1 = (j / 16) * 16; - int l1 = 0; - for (int i2 = 0; i2 < 16; i2++) { - for (int j2 = 0; j2 < 16; j2++) { - int k2 = ai[j2 + j1 + (i2 + k1) * 256]; - int l2 = k2 >> 24 & 0xff; - if (l2 > 128) { - k += k2 >> 16 & 0xff; - l += k2 >> 8 & 0xff; - i1 += k2 & 0xff; - l1++; - } - } - - if (l1 == 0) { - l1++; - } - field_1181_a[j * 3 + 0] = k / l1; - field_1181_a[j * 3 + 1] = l / l1; - field_1181_a[j * 3 + 2] = i1 / l1; - } - - } - for (int i = 0; i < 256; i++) { - if (Block.blocksList[i] != null) { - field_1182_g[i * 3 + 0] = Block.blocksList[i].getBlockTextureFromSide(1); - field_1182_g[i * 3 + 1] = Block.blocksList[i].getBlockTextureFromSide(2); - field_1182_g[i * 3 + 2] = Block.blocksList[i].getBlockTextureFromSide(3); - } - } - - } - - private void func_800_a() { - for (int i = 0; i < 32; i++) { - for (int j = 0; j < 160; j++) { - int k = i + j * 32; - if (field_1186_c[k] == 0) { - field_1180_b[k] = 0; - } - if (field_1185_d[k] <= field_1186_c[k]) { - continue; - } - int l = field_1180_b[k] >> 24 & 0xff; - field_1180_b[k] = ((field_1180_b[k] & 0xfefefe) >> 1) + field_1184_e[k]; - if (l < 128) { - field_1180_b[k] = 0x80000000 + field_1184_e[k] * 2; - } else { - field_1180_b[k] |= 0xff000000; - } - } - - } - - } - - private float field_1181_a[]; - private int field_1180_b[]; - private int field_1186_c[]; - private int field_1185_d[]; - private int field_1184_e[]; - private int field_1183_f[]; - private int field_1182_g[]; -} diff --git a/src/main/java/net/minecraft/src/Tessellator.java b/src/main/java/net/minecraft/src/Tessellator.java deleted file mode 100644 index d326d95..0000000 --- a/src/main/java/net/minecraft/src/Tessellator.java +++ /dev/null @@ -1,344 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; -import org.teavm.jso.typedarrays.ArrayBuffer; -import org.teavm.jso.typedarrays.Float32Array; -import org.teavm.jso.typedarrays.Int32Array; - -public class Tessellator { - - /** The byte buffer used for GL allocation. */ - private Int32Array intBuffer; - private Float32Array floatBuffer; - - /** - * The number of vertices to be drawn in the next draw call. Reset to 0 between - * draw calls. - */ - private int vertexCount = 0; - - /** The first coordinate to be used for the texture. */ - private float textureU; - - /** The second coordinate to be used for the texture. */ - private float textureV; - - /** The color (RGBA) value to be used for the following draw call. */ - private int color; - - /** - * Whether the current draw object for this tessellator has color values. - */ - private boolean hasColor = false; - - /** - * Whether the current draw object for this tessellator has texture coordinates. - */ - private boolean hasTexture = false; - - /** - * Whether the current draw object for this tessellator has normal values. - */ - private boolean hasNormals = false; - - /** The index into the raw buffer to be used for the next data. */ - private int rawBufferIndex = 0; - - /** - * The number of vertices manually added to the given draw call. This differs - * from vertexCount because it adds extra vertices when converting quads to - * triangles. - */ - private int addedVertices = 0; - - /** Disables all color information for the following draw call. */ - private boolean isColorDisabled = false; - - /** The draw mode currently being used by the tessellator. */ - private int drawMode; - - /** - * An offset to be applied along the x-axis for all vertices in this draw call. - */ - private double xOffset; - - /** - * An offset to be applied along the y-axis for all vertices in this draw call. - */ - private double yOffset; - - /** - * An offset to be applied along the z-axis for all vertices in this draw call. - */ - private double zOffset; - - /** The normal to be applied to the face being drawn. */ - private int normal; - - /** The static instance of the Tessellator. */ - public static final Tessellator instance = new Tessellator(525000); - - /** Whether this tessellator is currently in draw mode. */ - private boolean isDrawing = false; - - /** Whether we are currently using VBO or not. */ - private boolean useVBO = false; - - /** The size of the buffers used (in integers). */ - private int bufferSize; - - private Tessellator(int par1) { - this.bufferSize = par1; - ArrayBuffer a = ArrayBuffer.create(par1 * 4); - this.intBuffer = Int32Array.create(a); - this.floatBuffer = Float32Array.create(a); - } - - /** - * Draws the data set up in this tessellator and resets the state to prepare for - * new drawing. - */ - public int draw() { - if (!this.isDrawing) { - return 0; - } else { - this.isDrawing = false; - - if (this.vertexCount > 0) { - - if (this.hasTexture) { - GL11.glEnableVertexAttrib(GL11.GL_TEXTURE_COORD_ARRAY); - } - - if (this.hasColor) { - GL11.glEnableVertexAttrib(GL11.GL_COLOR_ARRAY); - } - - if (this.hasNormals) { - GL11.glEnableVertexAttrib(GL11.GL_NORMAL_ARRAY); - } - - GL11.glDrawArrays(this.drawMode, 0, this.vertexCount, Int32Array.create(intBuffer.getBuffer(), 0, this.vertexCount * 7)); - - if (this.hasTexture) { - GL11.glDisableVertexAttrib(GL11.GL_TEXTURE_COORD_ARRAY); - } - - if (this.hasColor) { - GL11.glDisableVertexAttrib(GL11.GL_COLOR_ARRAY); - } - - if (this.hasNormals) { - GL11.glDisableVertexAttrib(GL11.GL_NORMAL_ARRAY); - } - } - - int var1 = this.rawBufferIndex * 4; - this.reset(); - return var1; - } - } - - /** - * Clears the tessellator state in preparation for new drawing. - */ - private void reset() { - this.vertexCount = 0; - //this.byteBuffer.clear(); - this.rawBufferIndex = 0; - this.addedVertices = 0; - } - - /** - * Sets draw mode in the tessellator to draw quads. - */ - public void startDrawingQuads() { - this.startDrawing(GL11.GL_QUADS); - } - - /** - * Resets tessellator state and prepares for drawing (with the specified draw - * mode). - */ - public void startDrawing(int par1) { - if (this.isDrawing) { - this.draw(); - } - this.isDrawing = true; - this.reset(); - this.drawMode = par1; - this.hasNormals = false; - this.hasColor = false; - this.hasTexture = false; - this.isColorDisabled = false; - } - - /** - * Sets the texture coordinates. - */ - public void setTextureUV(double par1, double par3) { - this.hasTexture = true; - this.textureU = (float) par1; - this.textureV = (float) par3; - } - - /** - * Sets the RGB values as specified, converting from floats between 0 and 1 to - * integers from 0-255. - */ - public void setColorOpaque_F(float par1, float par2, float par3) { - this.setColorOpaque((int) (par1 * 255.0F), (int) (par2 * 255.0F), (int) (par3 * 255.0F)); - } - - /** - * Sets the RGBA values for the color, converting from floats between 0 and 1 to - * integers from 0-255. - */ - public void setColorRGBA_F(float par1, float par2, float par3, float par4) { - this.setColorRGBA((int) (par1 * 255.0F), (int) (par2 * 255.0F), (int) (par3 * 255.0F), (int) (par4 * 255.0F)); - } - - /** - * Sets the RGB values as specified, and sets alpha to opaque. - */ - public void setColorOpaque(int par1, int par2, int par3) { - this.setColorRGBA(par1, par2, par3, 255); - } - - /** - * Sets the RGBA values for the color. Also clamps them to 0-255. - */ - public void setColorRGBA(int par1, int par2, int par3, int par4) { - if (!this.isColorDisabled) { - if (par1 > 255) { - par1 = 255; - } - - if (par2 > 255) { - par2 = 255; - } - - if (par3 > 255) { - par3 = 255; - } - - if (par4 > 255) { - par4 = 255; - } - - if (par1 < 0) { - par1 = 0; - } - - if (par2 < 0) { - par2 = 0; - } - - if (par3 < 0) { - par3 = 0; - } - - if (par4 < 0) { - par4 = 0; - } - - this.hasColor = true; - this.color = par4 << 24 | par3 << 16 | par2 << 8 | par1; - } - } - - /** - * Adds a vertex specifying both x,y,z and the texture u,v for it. - */ - public void addVertexWithUV(double par1, double par3, double par5, double par7, double par9) { - this.setTextureUV(par7, par9); - this.addVertex(par1, par3, par5); - } - - /** - * Adds a vertex with the specified x,y,z to the current draw call. It will - * trigger a draw() if the buffer gets full. - */ - public void addVertex(double par1, double par3, double par5) { - if(this.addedVertices > 65534) return; - ++this.addedVertices; - ++this.vertexCount; - - int bufferIndex = this.rawBufferIndex; - Int32Array intBuffer0 = intBuffer; - Float32Array floatBuffer0 = floatBuffer; - - floatBuffer0.set(bufferIndex + 0, (float) (par1 + this.xOffset)); - floatBuffer0.set(bufferIndex + 1, (float) (par3 + this.yOffset)); - floatBuffer0.set(bufferIndex + 2, (float) (par5 + this.zOffset)); - - if (this.hasTexture) { - floatBuffer0.set(bufferIndex + 3, this.textureU); - floatBuffer0.set(bufferIndex + 4, this.textureV); - } - - if (this.hasColor) { - intBuffer0.set(bufferIndex + 5, this.color); - } - - if (this.hasNormals) { - intBuffer0.set(bufferIndex + 6, this.normal); - } - - this.rawBufferIndex += 7; - } - - /** - * Sets the color to the given opaque value (stored as byte values packed in an - * integer). - */ - public void setColorOpaque_I(int par1) { - int var2 = par1 >> 16 & 255; - int var3 = par1 >> 8 & 255; - int var4 = par1 & 255; - this.setColorOpaque(var2, var3, var4); - } - - /** - * Sets the color to the given color (packed as bytes in integer) and alpha - * values. - */ - public void setColorRGBA_I(int par1, int par2) { - int var3 = par1 >> 16 & 255; - int var4 = par1 >> 8 & 255; - int var5 = par1 & 255; - this.setColorRGBA(var3, var4, var5, par2); - } - - /** - * Disables colors for the current draw call. - */ - public void disableColor() { - this.isColorDisabled = true; - } - - /** - * Sets the normal for the current draw call. - */ - public void setNormal(float par1, float par2, float par3) { - GL11.glNormal3f(par1, par2, par3); - } - - /** - * Sets the translation for all vertices in the current draw call. - */ - public void setTranslationD(double par1, double par3, double par5) { - this.xOffset = par1; - this.yOffset = par3; - this.zOffset = par5; - } - - /** - * Offsets the translation for all vertices in the current draw call. - */ - public void setTranslationF(float par1, float par2, float par3) { - this.xOffset += (float) par1; - this.yOffset += (float) par2; - this.zOffset += (float) par3; - } -} \ No newline at end of file diff --git a/src/main/java/net/minecraft/src/TextureFlamesFX.java b/src/main/java/net/minecraft/src/TextureFlamesFX.java deleted file mode 100644 index 9ddc148..0000000 --- a/src/main/java/net/minecraft/src/TextureFlamesFX.java +++ /dev/null @@ -1,77 +0,0 @@ -package net.minecraft.src; - -public class TextureFlamesFX extends TextureFX { - protected float[] currentFireFrame = new float[320]; - protected float[] lastFireFrame = new float[320]; - - public TextureFlamesFX(int var1) { - super(Block.fire.blockIndexInTexture + var1 * 16); - } - - public void onTick() { - int var2; - float var4; - int var5; - int var6; - for(int var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 20; ++var2) { - int var3 = 18; - var4 = this.currentFireFrame[var1 + (var2 + 1) % 20 * 16] * (float)var3; - - for(var5 = var1 - 1; var5 <= var1 + 1; ++var5) { - for(var6 = var2; var6 <= var2 + 1; ++var6) { - if(var5 >= 0 && var6 >= 0 && var5 < 16 && var6 < 20) { - var4 += this.currentFireFrame[var5 + var6 * 16]; - } - - ++var3; - } - } - - this.lastFireFrame[var1 + var2 * 16] = var4 / ((float)var3 * 1.06F); - if(var2 >= 19) { - this.lastFireFrame[var1 + var2 * 16] = (float)(Math.random() * Math.random() * Math.random() * 4.0D + Math.random() * (double)0.1F + (double)0.2F); - } - } - } - - float[] var12 = this.lastFireFrame; - this.lastFireFrame = this.currentFireFrame; - this.currentFireFrame = var12; - - for(var2 = 0; var2 < 256; ++var2) { - float var13 = this.currentFireFrame[var2] * 1.8F; - if(var13 > 1.0F) { - var13 = 1.0F; - } - - if(var13 < 0.0F) { - var13 = 0.0F; - } - - var5 = (int)(var13 * 155.0F + 100.0F); - var6 = (int)(var13 * var13 * 255.0F); - int var7 = (int)(var13 * var13 * var13 * var13 * var13 * var13 * var13 * var13 * var13 * var13 * 255.0F); - short var8 = 255; - if(var13 < 0.5F) { - var8 = 0; - } - - var4 = (var13 - 0.5F) * 2.0F; - if(this.anaglyphEnabled) { - int var9 = (var5 * 30 + var6 * 59 + var7 * 11) / 100; - int var10 = (var5 * 30 + var6 * 70) / 100; - int var11 = (var5 * 30 + var7 * 70) / 100; - var5 = var9; - var6 = var10; - var7 = var11; - } - - this.imageData[var2 * 4 + 0] = (byte)var5; - this.imageData[var2 * 4 + 1] = (byte)var6; - this.imageData[var2 * 4 + 2] = (byte)var7; - this.imageData[var2 * 4 + 3] = (byte)var8; - } - - } -} diff --git a/src/main/java/net/minecraft/src/TextureLavaFX.java b/src/main/java/net/minecraft/src/TextureLavaFX.java deleted file mode 100644 index c4d9c4c..0000000 --- a/src/main/java/net/minecraft/src/TextureLavaFX.java +++ /dev/null @@ -1,81 +0,0 @@ -package net.minecraft.src; - -public class TextureLavaFX extends TextureFX { - protected float[] red = new float[256]; - protected float[] green = new float[256]; - protected float[] blue = new float[256]; - protected float[] alpha = new float[256]; - - public TextureLavaFX() { - super(Block.lavaMoving.blockIndexInTexture); - } - - public void onTick() { - int var2; - float var3; - int var5; - int var6; - int var7; - int var8; - int var9; - for(int var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 16; ++var2) { - var3 = 0.0F; - int var4 = (int)(MathHelper.sin((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F); - var5 = (int)(MathHelper.sin((float)var1 * (float)Math.PI * 2.0F / 16.0F) * 1.2F); - - for(var6 = var1 - 1; var6 <= var1 + 1; ++var6) { - for(var7 = var2 - 1; var7 <= var2 + 1; ++var7) { - var8 = var6 + var4 & 15; - var9 = var7 + var5 & 15; - var3 += this.red[var8 + var9 * 16]; - } - } - - this.green[var1 + var2 * 16] = var3 / 10.0F + (this.blue[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.blue[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.blue[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.blue[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F; - this.blue[var1 + var2 * 16] += this.alpha[var1 + var2 * 16] * 0.01F; - if(this.blue[var1 + var2 * 16] < 0.0F) { - this.blue[var1 + var2 * 16] = 0.0F; - } - - this.alpha[var1 + var2 * 16] -= 0.06F; - if(Math.random() < 0.005D) { - this.alpha[var1 + var2 * 16] = 1.5F; - } - } - } - - float[] var11 = this.green; - this.green = this.red; - this.red = var11; - - for(var2 = 0; var2 < 256; ++var2) { - var3 = this.red[var2] * 2.0F; - if(var3 > 1.0F) { - var3 = 1.0F; - } - - if(var3 < 0.0F) { - var3 = 0.0F; - } - - var5 = (int)(var3 * 100.0F + 155.0F); - var6 = (int)(var3 * var3 * 255.0F); - var7 = (int)(var3 * var3 * var3 * var3 * 128.0F); - if(this.anaglyphEnabled) { - var8 = (var5 * 30 + var6 * 59 + var7 * 11) / 100; - var9 = (var5 * 30 + var6 * 70) / 100; - int var10 = (var5 * 30 + var7 * 70) / 100; - var5 = var8; - var6 = var9; - var7 = var10; - } - - this.imageData[var2 * 4 + 0] = (byte)var5; - this.imageData[var2 * 4 + 1] = (byte)var6; - this.imageData[var2 * 4 + 2] = (byte)var7; - this.imageData[var2 * 4 + 3] = -1; - } - - } -} diff --git a/src/main/java/net/minecraft/src/TextureLavaFlowFX.java b/src/main/java/net/minecraft/src/TextureLavaFlowFX.java deleted file mode 100644 index 8d91375..0000000 --- a/src/main/java/net/minecraft/src/TextureLavaFlowFX.java +++ /dev/null @@ -1,85 +0,0 @@ -package net.minecraft.src; - -public class TextureLavaFlowFX extends TextureFX { - protected float[] red = new float[256]; - protected float[] green = new float[256]; - protected float[] blue = new float[256]; - protected float[] alpha = new float[256]; - int tickCounter = 0; - - public TextureLavaFlowFX() { - super(Block.lavaMoving.blockIndexInTexture + 1); - this.tileSize = 2; - } - - public void onTick() { - ++this.tickCounter; - - int var2; - float var3; - int var5; - int var6; - int var7; - int var8; - int var9; - for(int var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 16; ++var2) { - var3 = 0.0F; - int var4 = (int)(MathHelper.sin((float)var2 * (float)Math.PI * 2.0F / 16.0F) * 1.2F); - var5 = (int)(MathHelper.sin((float)var1 * (float)Math.PI * 2.0F / 16.0F) * 1.2F); - - for(var6 = var1 - 1; var6 <= var1 + 1; ++var6) { - for(var7 = var2 - 1; var7 <= var2 + 1; ++var7) { - var8 = var6 + var4 & 15; - var9 = var7 + var5 & 15; - var3 += this.red[var8 + var9 * 16]; - } - } - - this.green[var1 + var2 * 16] = var3 / 10.0F + (this.blue[(var1 + 0 & 15) + (var2 + 0 & 15) * 16] + this.blue[(var1 + 1 & 15) + (var2 + 0 & 15) * 16] + this.blue[(var1 + 1 & 15) + (var2 + 1 & 15) * 16] + this.blue[(var1 + 0 & 15) + (var2 + 1 & 15) * 16]) / 4.0F * 0.8F; - this.blue[var1 + var2 * 16] += this.alpha[var1 + var2 * 16] * 0.01F; - if(this.blue[var1 + var2 * 16] < 0.0F) { - this.blue[var1 + var2 * 16] = 0.0F; - } - - this.alpha[var1 + var2 * 16] -= 0.06F; - if(Math.random() < 0.005D) { - this.alpha[var1 + var2 * 16] = 1.5F; - } - } - } - - float[] var11 = this.green; - this.green = this.red; - this.red = var11; - - for(var2 = 0; var2 < 256; ++var2) { - var3 = this.red[var2 - this.tickCounter / 3 * 16 & 255] * 2.0F; - if(var3 > 1.0F) { - var3 = 1.0F; - } - - if(var3 < 0.0F) { - var3 = 0.0F; - } - - var5 = (int)(var3 * 100.0F + 155.0F); - var6 = (int)(var3 * var3 * 255.0F); - var7 = (int)(var3 * var3 * var3 * var3 * 128.0F); - if(this.anaglyphEnabled) { - var8 = (var5 * 30 + var6 * 59 + var7 * 11) / 100; - var9 = (var5 * 30 + var6 * 70) / 100; - int var10 = (var5 * 30 + var7 * 70) / 100; - var5 = var8; - var6 = var9; - var7 = var10; - } - - this.imageData[var2 * 4 + 0] = (byte)var5; - this.imageData[var2 * 4 + 1] = (byte)var6; - this.imageData[var2 * 4 + 2] = (byte)var7; - this.imageData[var2 * 4 + 3] = -1; - } - - } -} diff --git a/src/main/java/net/minecraft/src/TextureWaterFX.java b/src/main/java/net/minecraft/src/TextureWaterFX.java deleted file mode 100644 index 67a5040..0000000 --- a/src/main/java/net/minecraft/src/TextureWaterFX.java +++ /dev/null @@ -1,85 +0,0 @@ -package net.minecraft.src; - -public class TextureWaterFX extends TextureFX { - protected float[] red = new float[256]; - protected float[] green = new float[256]; - protected float[] blue = new float[256]; - protected float[] alpha = new float[256]; - private int tickCounter = 0; - - public TextureWaterFX() { - super(Block.waterMoving.blockIndexInTexture); - } - - public void onTick() { - ++this.tickCounter; - - int var1; - int var2; - float var3; - int var5; - int var6; - for(var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 16; ++var2) { - var3 = 0.0F; - - for(int var4 = var1 - 1; var4 <= var1 + 1; ++var4) { - var5 = var4 & 15; - var6 = var2 & 15; - var3 += this.red[var5 + var6 * 16]; - } - - this.green[var1 + var2 * 16] = var3 / 3.3F + this.blue[var1 + var2 * 16] * 0.8F; - } - } - - for(var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 16; ++var2) { - this.blue[var1 + var2 * 16] += this.alpha[var1 + var2 * 16] * 0.05F; - if(this.blue[var1 + var2 * 16] < 0.0F) { - this.blue[var1 + var2 * 16] = 0.0F; - } - - this.alpha[var1 + var2 * 16] -= 0.1F; - if(Math.random() < 0.05D) { - this.alpha[var1 + var2 * 16] = 0.5F; - } - } - } - - float[] var12 = this.green; - this.green = this.red; - this.red = var12; - - for(var2 = 0; var2 < 256; ++var2) { - var3 = this.red[var2]; - if(var3 > 1.0F) { - var3 = 1.0F; - } - - if(var3 < 0.0F) { - var3 = 0.0F; - } - - float var13 = var3 * var3; - var5 = (int)(32.0F + var13 * 32.0F); - var6 = (int)(50.0F + var13 * 64.0F); - int var7 = 255; - int var8 = (int)(146.0F + var13 * 50.0F); - if(this.anaglyphEnabled) { - int var9 = (var5 * 30 + var6 * 59 + var7 * 11) / 100; - int var10 = (var5 * 30 + var6 * 70) / 100; - int var11 = (var5 * 30 + var7 * 70) / 100; - var5 = var9; - var6 = var10; - var7 = var11; - } - - this.imageData[var2 * 4 + 0] = (byte)var5; - this.imageData[var2 * 4 + 1] = (byte)var6; - this.imageData[var2 * 4 + 2] = (byte)var7; - this.imageData[var2 * 4 + 3] = (byte)var8; - } - - } -} diff --git a/src/main/java/net/minecraft/src/TextureWaterFlowFX.java b/src/main/java/net/minecraft/src/TextureWaterFlowFX.java deleted file mode 100644 index 668c17f..0000000 --- a/src/main/java/net/minecraft/src/TextureWaterFlowFX.java +++ /dev/null @@ -1,86 +0,0 @@ -package net.minecraft.src; - -public class TextureWaterFlowFX extends TextureFX { - protected float[] red = new float[256]; - protected float[] green = new float[256]; - protected float[] blue = new float[256]; - protected float[] alpha = new float[256]; - private int tickCounter = 0; - - public TextureWaterFlowFX() { - super(Block.waterMoving.blockIndexInTexture + 1); - this.tileSize = 2; - } - - public void onTick() { - ++this.tickCounter; - - int var1; - int var2; - float var3; - int var5; - int var6; - for(var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 16; ++var2) { - var3 = 0.0F; - - for(int var4 = var2 - 2; var4 <= var2; ++var4) { - var5 = var1 & 15; - var6 = var4 & 15; - var3 += this.red[var5 + var6 * 16]; - } - - this.green[var1 + var2 * 16] = var3 / 3.2F + this.blue[var1 + var2 * 16] * 0.8F; - } - } - - for(var1 = 0; var1 < 16; ++var1) { - for(var2 = 0; var2 < 16; ++var2) { - this.blue[var1 + var2 * 16] += this.alpha[var1 + var2 * 16] * 0.05F; - if(this.blue[var1 + var2 * 16] < 0.0F) { - this.blue[var1 + var2 * 16] = 0.0F; - } - - this.alpha[var1 + var2 * 16] -= 0.3F; - if(Math.random() < 0.2D) { - this.alpha[var1 + var2 * 16] = 0.5F; - } - } - } - - float[] var12 = this.green; - this.green = this.red; - this.red = var12; - - for(var2 = 0; var2 < 256; ++var2) { - var3 = this.red[var2 - this.tickCounter * 16 & 255]; - if(var3 > 1.0F) { - var3 = 1.0F; - } - - if(var3 < 0.0F) { - var3 = 0.0F; - } - - float var13 = var3 * var3; - var5 = (int)(32.0F + var13 * 32.0F); - var6 = (int)(50.0F + var13 * 64.0F); - int var7 = 255; - int var8 = (int)(146.0F + var13 * 50.0F); - if(this.anaglyphEnabled) { - int var9 = (var5 * 30 + var6 * 59 + var7 * 11) / 100; - int var10 = (var5 * 30 + var6 * 70) / 100; - int var11 = (var5 * 30 + var7 * 70) / 100; - var5 = var9; - var6 = var10; - var7 = var11; - } - - this.imageData[var2 * 4 + 0] = (byte)var5; - this.imageData[var2 * 4 + 1] = (byte)var6; - this.imageData[var2 * 4 + 2] = (byte)var7; - this.imageData[var2 * 4 + 3] = (byte)var8; - } - - } -} diff --git a/src/main/java/net/minecraft/src/TexturedQuad.java b/src/main/java/net/minecraft/src/TexturedQuad.java deleted file mode 100644 index 60719d0..0000000 --- a/src/main/java/net/minecraft/src/TexturedQuad.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.minecraft.src; - -public class TexturedQuad { - public PositionTextureVertex[] vertexPositions; - public int nVertices; - - public TexturedQuad(PositionTextureVertex[] var1) { - this.nVertices = 0; - this.vertexPositions = var1; - this.nVertices = var1.length; - } - - public TexturedQuad(PositionTextureVertex[] var1, int var2, int var3, int var4, int var5) { - this(var1); - float var6 = 0.0015625F; - float var7 = 0.003125F; - var1[0] = var1[0].setTexturePosition((float)var4 / 64.0F - var6, (float)var3 / 32.0F + var7); - var1[1] = var1[1].setTexturePosition((float)var2 / 64.0F + var6, (float)var3 / 32.0F + var7); - var1[2] = var1[2].setTexturePosition((float)var2 / 64.0F + var6, (float)var5 / 32.0F - var7); - var1[3] = var1[3].setTexturePosition((float)var4 / 64.0F - var6, (float)var5 / 32.0F - var7); - } - - public void flipFace() { - PositionTextureVertex[] var1 = new PositionTextureVertex[this.vertexPositions.length]; - - for(int var2 = 0; var2 < this.vertexPositions.length; ++var2) { - var1[var2] = this.vertexPositions[this.vertexPositions.length - var2 - 1]; - } - - this.vertexPositions = var1; - } - - public void draw(Tessellator var1, float var2) { - Vec3D var3 = this.vertexPositions[1].vector3D.subtract(this.vertexPositions[0].vector3D); - Vec3D var4 = this.vertexPositions[1].vector3D.subtract(this.vertexPositions[2].vector3D); - Vec3D var5 = var4.crossProduct(var3).normalize(); - var1.startDrawingQuads(); - var1.setNormal((float)var5.xCoord, (float)var5.yCoord, (float)var5.zCoord); - - for(int var6 = 0; var6 < 4; ++var6) { - PositionTextureVertex var7 = this.vertexPositions[var6]; - var1.addVertexWithUV((double)((float)var7.vector3D.xCoord * var2), (double)((float)var7.vector3D.yCoord * var2), (double)((float)var7.vector3D.zCoord * var2), (double)var7.texturePositionX, (double)var7.texturePositionY); - } - - var1.draw(); - } -} diff --git a/src/main/java/net/minecraft/src/ThreadSleepForever.java b/src/main/java/net/minecraft/src/ThreadSleepForever.java deleted file mode 100644 index 09cb8b7..0000000 --- a/src/main/java/net/minecraft/src/ThreadSleepForever.java +++ /dev/null @@ -1,22 +0,0 @@ -package net.minecraft.src; - -class ThreadSleepForever extends Thread { - final Minecraft mc; - - ThreadSleepForever(Minecraft var1, String var2) { - super(var2); - this.mc = var1; - this.setDaemon(true); - this.start(); - } - - public void run() { - while(this.mc.running) { - try { - Thread.sleep(2147483647L); - } catch (InterruptedException var2) { - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/TileEntity.java b/src/main/java/net/minecraft/src/TileEntity.java deleted file mode 100644 index 78965d1..0000000 --- a/src/main/java/net/minecraft/src/TileEntity.java +++ /dev/null @@ -1,86 +0,0 @@ -package net.minecraft.src; - -import java.util.HashMap; -import java.util.Map; - -public class TileEntity { - private static Map nameToClassMap = new HashMap(); - private static Map classToNameMap = new HashMap(); - public World worldObj; - public int xCoord; - public int yCoord; - public int zCoord; - - private static void addMapping(Class var0, String var1) { - if(classToNameMap.containsKey(var1)) { - throw new IllegalArgumentException("Duplicate id: " + var1); - } else { - nameToClassMap.put(var1, var0); - classToNameMap.put(var0, var1); - } - } - - public void readFromNBT(NBTTagCompound var1) { - this.xCoord = var1.getInteger("x"); - this.yCoord = var1.getInteger("y"); - this.zCoord = var1.getInteger("z"); - } - - public void writeToNBT(NBTTagCompound var1) { - String var2 = (String)classToNameMap.get(this.getClass()); - if(var2 == null) { - throw new RuntimeException(this.getClass() + " is missing a mapping! This is a bug!"); - } else { - var1.setString("id", var2); - var1.setInteger("x", this.xCoord); - var1.setInteger("y", this.yCoord); - var1.setInteger("z", this.zCoord); - } - } - - public void updateEntity() { - } - - public static TileEntity createAndLoadEntity(NBTTagCompound var0) { - TileEntity var1 = null; - - try { - Class var2 = (Class)nameToClassMap.get(var0.getString("id")); - if(var2 != null) { - var1 = (TileEntity)var2.newInstance(); - } - } catch (Exception var3) { - var3.printStackTrace(); - } - - if(var1 != null) { - var1.readFromNBT(var0); - } else { - System.out.println("Skipping TileEntity with id " + var0.getString("id")); - } - - return var1; - } - - public int getBlockMetadata() { - return this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); - } - - public void onInventoryChanged() { - this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord); - } - - public double getDistanceFrom(double var1, double var3, double var5) { - double var7 = (double)this.xCoord + 0.5D - var1; - double var9 = (double)this.yCoord + 0.5D - var3; - double var11 = (double)this.zCoord + 0.5D - var5; - return var7 * var7 + var9 * var9 + var11 * var11; - } - - static { - addMapping(TileEntityFurnace.class, "Furnace"); - addMapping(TileEntityChest.class, "Chest"); - addMapping(TileEntitySign.class, "Sign"); - addMapping(TileEntityMobSpawner.class, "MobSpawner"); - } -} diff --git a/src/main/java/net/minecraft/src/TileEntityChest.java b/src/main/java/net/minecraft/src/TileEntityChest.java deleted file mode 100644 index e29f7d0..0000000 --- a/src/main/java/net/minecraft/src/TileEntityChest.java +++ /dev/null @@ -1,80 +0,0 @@ -package net.minecraft.src; - -public class TileEntityChest extends TileEntity implements IInventory { - private ItemStack[] chestContents = new ItemStack[36]; - - public int getSizeInventory() { - return 27; - } - - public ItemStack getStackInSlot(int var1) { - return this.chestContents[var1]; - } - - public ItemStack decrStackSize(int var1, int var2) { - if(this.chestContents[var1] != null) { - ItemStack var3; - if(this.chestContents[var1].stackSize <= var2) { - var3 = this.chestContents[var1]; - this.chestContents[var1] = null; - return var3; - } else { - var3 = this.chestContents[var1].splitStack(var2); - if(this.chestContents[var1].stackSize == 0) { - this.chestContents[var1] = null; - } - - return var3; - } - } else { - return null; - } - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - this.chestContents[var1] = var2; - if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) { - var2.stackSize = this.getInventoryStackLimit(); - } - - } - - public String getInvName() { - return "Chest"; - } - - public void readFromNBT(NBTTagCompound var1) { - super.readFromNBT(var1); - NBTTagList var2 = var1.getTagList("Items"); - this.chestContents = new ItemStack[this.getSizeInventory()]; - - for(int var3 = 0; var3 < var2.tagCount(); ++var3) { - NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3); - int var5 = var4.getByte("Slot") & 255; - if(var5 >= 0 && var5 < this.chestContents.length) { - this.chestContents[var5] = new ItemStack(var4); - } - } - - } - - public void writeToNBT(NBTTagCompound var1) { - super.writeToNBT(var1); - NBTTagList var2 = new NBTTagList(); - - for(int var3 = 0; var3 < this.chestContents.length; ++var3) { - if(this.chestContents[var3] != null) { - NBTTagCompound var4 = new NBTTagCompound(); - var4.setByte("Slot", (byte)var3); - this.chestContents[var3].writeToNBT(var4); - var2.setTag(var4); - } - } - - var1.setTag("Items", var2); - } - - public int getInventoryStackLimit() { - return 64; - } -} diff --git a/src/main/java/net/minecraft/src/TileEntityFurnace.java b/src/main/java/net/minecraft/src/TileEntityFurnace.java deleted file mode 100644 index fe6c7d7..0000000 --- a/src/main/java/net/minecraft/src/TileEntityFurnace.java +++ /dev/null @@ -1,190 +0,0 @@ -package net.minecraft.src; - -public class TileEntityFurnace extends TileEntity implements IInventory { - private ItemStack[] furnaceItemStacks = new ItemStack[3]; - private int furnaceBurnTime = 0; - private int currentItemBurnTime = 0; - private int furnaceCookTime = 0; - - public int getSizeInventory() { - return this.furnaceItemStacks.length; - } - - public ItemStack getStackInSlot(int var1) { - return this.furnaceItemStacks[var1]; - } - - public ItemStack decrStackSize(int var1, int var2) { - if(this.furnaceItemStacks[var1] != null) { - ItemStack var3; - if(this.furnaceItemStacks[var1].stackSize <= var2) { - var3 = this.furnaceItemStacks[var1]; - this.furnaceItemStacks[var1] = null; - return var3; - } else { - var3 = this.furnaceItemStacks[var1].splitStack(var2); - if(this.furnaceItemStacks[var1].stackSize == 0) { - this.furnaceItemStacks[var1] = null; - } - - return var3; - } - } else { - return null; - } - } - - public void setInventorySlotContents(int var1, ItemStack var2) { - this.furnaceItemStacks[var1] = var2; - if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) { - var2.stackSize = this.getInventoryStackLimit(); - } - - } - - public String getInvName() { - return "Chest"; - } - - public void readFromNBT(NBTTagCompound var1) { - super.readFromNBT(var1); - NBTTagList var2 = var1.getTagList("Items"); - this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; - - for(int var3 = 0; var3 < var2.tagCount(); ++var3) { - NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3); - byte var5 = var4.getByte("Slot"); - if(var5 >= 0 && var5 < this.furnaceItemStacks.length) { - this.furnaceItemStacks[var5] = new ItemStack(var4); - } - } - - this.furnaceBurnTime = var1.getShort("BurnTime"); - this.furnaceCookTime = var1.getShort("CookTime"); - this.currentItemBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]); - } - - public void writeToNBT(NBTTagCompound var1) { - super.writeToNBT(var1); - var1.setShort("BurnTime", (short)this.furnaceBurnTime); - var1.setShort("CookTime", (short)this.furnaceCookTime); - NBTTagList var2 = new NBTTagList(); - - for(int var3 = 0; var3 < this.furnaceItemStacks.length; ++var3) { - if(this.furnaceItemStacks[var3] != null) { - NBTTagCompound var4 = new NBTTagCompound(); - var4.setByte("Slot", (byte)var3); - this.furnaceItemStacks[var3].writeToNBT(var4); - var2.setTag(var4); - } - } - - var1.setTag("Items", var2); - } - - public int getInventoryStackLimit() { - return 64; - } - - public int getCookProgressScaled(int var1) { - return this.furnaceCookTime * var1 / 200; - } - - public int getBurnTimeRemainingScaled(int var1) { - if(this.currentItemBurnTime == 0) { - this.currentItemBurnTime = 200; - } - - return this.furnaceBurnTime * var1 / this.currentItemBurnTime; - } - - public boolean isBurning() { - return this.furnaceBurnTime > 0; - } - - public void updateEntity() { - boolean var1 = this.furnaceBurnTime > 0; - boolean var2 = false; - if(this.furnaceBurnTime > 0) { - --this.furnaceBurnTime; - var2 = true; - } - - if(this.furnaceBurnTime == 0 && this.canSmelt()) { - this.currentItemBurnTime = this.furnaceBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]); - if(this.furnaceBurnTime > 0) { - var2 = true; - if(this.furnaceItemStacks[1] != null) { - --this.furnaceItemStacks[1].stackSize; - if(this.furnaceItemStacks[1].stackSize == 0) { - this.furnaceItemStacks[1] = null; - } - } - } - } - - if(this.isBurning() && this.canSmelt()) { - ++this.furnaceCookTime; - if(this.furnaceCookTime == 200) { - this.furnaceCookTime = 0; - this.smeltItem(); - var2 = true; - } - } else { - this.furnaceCookTime = 0; - } - - if(var1 != this.furnaceBurnTime > 0) { - var2 = true; - BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); - } - - if(var2) { - this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord); - } - - } - - private boolean canSmelt() { - if(this.furnaceItemStacks[0] == null) { - return false; - } else { - int var1 = this.getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex); - return var1 < 0 ? false : (this.furnaceItemStacks[2] == null ? true : (this.furnaceItemStacks[2].itemID != var1 ? false : (this.furnaceItemStacks[2].stackSize < this.getInventoryStackLimit() && this.furnaceItemStacks[2].stackSize < this.furnaceItemStacks[2].getMaxStackSize() ? true : this.furnaceItemStacks[2].stackSize < Item.itemsList[var1].getItemStackLimit()))); - } - } - - public void smeltItem() { - if(this.canSmelt()) { - int var1 = this.getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex); - if(this.furnaceItemStacks[2] == null) { - this.furnaceItemStacks[2] = new ItemStack(var1, 1); - } else if(this.furnaceItemStacks[2].itemID == var1) { - ++this.furnaceItemStacks[2].stackSize; - } - - --this.furnaceItemStacks[0].stackSize; - if(this.furnaceItemStacks[0].stackSize <= 0) { - this.furnaceItemStacks[0] = null; - } - - } - } - - private int getSmeltingResult(int var1) { - return var1 == Block.oreIron.blockID ? Item.ingotIron.shiftedIndex : (var1 == Block.oreGold.blockID ? Item.ingotGold.shiftedIndex : (var1 == Block.oreDiamond.blockID ? Item.diamond.shiftedIndex : (var1 == Block.sand.blockID ? Block.glass.blockID : (var1 == Item.porkRaw.shiftedIndex ? Item.porkCooked.shiftedIndex : (var1 == Block.cobblestone.blockID ? Block.stone.blockID : -1))))); - } - - private int getItemBurnTime(ItemStack var1) { - if(var1 == null) { - return 0; - } else { - int var2 = var1.getItem().shiftedIndex; - return var2 < 256 && Block.blocksList[var2].blockMaterial == Material.wood ? 300 : (var2 == Item.stick.shiftedIndex ? 100 : (var2 == Item.coal.shiftedIndex ? 1600 : 0)); - } - } - - public void onInventoryChanged() { - this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord); - } -} diff --git a/src/main/java/net/minecraft/src/TileEntityMobSpawner.java b/src/main/java/net/minecraft/src/TileEntityMobSpawner.java deleted file mode 100644 index a03cbb6..0000000 --- a/src/main/java/net/minecraft/src/TileEntityMobSpawner.java +++ /dev/null @@ -1,94 +0,0 @@ -package net.minecraft.src; - -public class TileEntityMobSpawner extends TileEntity { - public int delay = -1; - public String mobID = "Pig"; - public double yaw; - public double prevYaw = 0.0D; - - public TileEntityMobSpawner() { - this.delay = 20; - } - - public boolean anyPlayerInRange() { - double var1 = this.worldObj.playerEntity.getDistanceSq((double)this.xCoord, (double)this.yCoord, (double)this.zCoord); - return var1 <= 256.0D; - } - - public void updateEntity() { - this.prevYaw = this.yaw; - if(this.anyPlayerInRange()) { - double var1 = (double)((float)this.xCoord + this.worldObj.rand.nextFloat()); - double var3 = (double)((float)this.yCoord + this.worldObj.rand.nextFloat()); - double var5 = (double)((float)this.zCoord + this.worldObj.rand.nextFloat()); - this.worldObj.spawnParticle("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D); - - for(this.yaw += (double)(1000.0F / ((float)this.delay + 200.0F)); this.yaw > 360.0D; this.prevYaw -= 360.0D) { - this.yaw -= 360.0D; - } - - if(this.delay == -1) { - this.updateDelay(); - } - - if(this.delay > 0) { - --this.delay; - } else { - byte var7 = 4; - - for(int var8 = 0; var8 < var7; ++var8) { - EntityLiving var9 = (EntityLiving)((EntityLiving)EntityList.createEntityInWorld(this.mobID, this.worldObj)); - if(var9 == null) { - return; - } - - int var10 = this.worldObj.getEntitiesWithinAABB(var9.getClass(), AxisAlignedBB.getBoundingBoxFromPool((double)this.xCoord, (double)this.yCoord, (double)this.zCoord, (double)(this.xCoord + 1), (double)(this.yCoord + 1), (double)(this.zCoord + 1)).expand(8.0D, 4.0D, 8.0D)).size(); - if(var10 >= 6) { - this.updateDelay(); - return; - } - - if(var9 != null) { - double var11 = (double)this.xCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D; - double var13 = (double)(this.yCoord + this.worldObj.rand.nextInt(3) - 1); - double var15 = (double)this.zCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D; - var9.setPositionAndRotation(var11, var13, var15, this.worldObj.rand.nextFloat() * 360.0F, 0.0F); - if(var9.getCanSpawnHere(var11, var13, var15)) { - this.worldObj.spawnEntityInWorld(var9); - - for(int var17 = 0; var17 < 20; ++var17) { - var1 = (double)this.xCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D; - var3 = (double)this.yCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D; - var5 = (double)this.zCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D; - this.worldObj.spawnParticle("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D); - this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D); - } - - var9.spawnExplosionParticle(); - this.updateDelay(); - } - } - } - - super.updateEntity(); - } - } - } - - private void updateDelay() { - this.delay = 200 + this.worldObj.rand.nextInt(600); - } - - public void readFromNBT(NBTTagCompound var1) { - super.readFromNBT(var1); - this.mobID = var1.getString("EntityId"); - this.delay = var1.getShort("Delay"); - } - - public void writeToNBT(NBTTagCompound var1) { - super.writeToNBT(var1); - var1.setString("EntityId", this.mobID); - var1.setShort("Delay", (short)this.delay); - } -} diff --git a/src/main/java/net/minecraft/src/TileEntityMobSpawnerRenderer.java b/src/main/java/net/minecraft/src/TileEntityMobSpawnerRenderer.java deleted file mode 100644 index 6487d2e..0000000 --- a/src/main/java/net/minecraft/src/TileEntityMobSpawnerRenderer.java +++ /dev/null @@ -1,36 +0,0 @@ -package net.minecraft.src; - -import java.util.HashMap; -import java.util.Map; -import org.lwjgl.opengl.GL11; - -public class TileEntityMobSpawnerRenderer extends TileEntitySpecialRenderer { - private Map entityHashMap = new HashMap(); - - public void a(TileEntityMobSpawner var1, double var2, double var4, double var6, float var8) { - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2 + 0.5F, (float)var4, (float)var6 + 0.5F); - Entity var9 = (Entity)this.entityHashMap.get(var1.mobID); - if(var9 == null) { - var9 = EntityList.createEntityInWorld(var1.mobID, (World)null); - this.entityHashMap.put(var1.mobID, var9); - } - - if(var9 != null) { - var9.setWorld(var1.worldObj); - float var10 = 7.0F / 16.0F; - GL11.glTranslatef(0.0F, 0.4F, 0.0F); - GL11.glRotatef((float)(var1.prevYaw + (var1.yaw - var1.prevYaw) * (double)var8) * 10.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(-30.0F, 1.0F, 0.0F, 0.0F); - GL11.glTranslatef(0.0F, -0.4F, 0.0F); - GL11.glScalef(var10, var10, var10); - RenderManager.instance.renderEntityWithPosYaw(var9, 0.0D, 0.0D, 0.0D, 0.0F, var8); - } - - GL11.glPopMatrix(); - } - - public void renderTileEntityMobSpawner(TileEntity var1, double var2, double var4, double var6, float var8) { - this.a((TileEntityMobSpawner)var1, var2, var4, var6, var8); - } -} diff --git a/src/main/java/net/minecraft/src/TileEntityRenderer.java b/src/main/java/net/minecraft/src/TileEntityRenderer.java deleted file mode 100644 index c11fa4e..0000000 --- a/src/main/java/net/minecraft/src/TileEntityRenderer.java +++ /dev/null @@ -1,86 +0,0 @@ -package net.minecraft.src; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import org.lwjgl.opengl.GL11; - -public class TileEntityRenderer { - private Map specialRendererMap = new HashMap(); - public static TileEntityRenderer instance = new TileEntityRenderer(); - private FontRenderer fontRenderer; - public static double staticPlayerX; - public static double staticPlayerY; - public static double staticPlayerZ; - public RenderEngine renderEngine; - public World worldObj; - public EntityPlayer entityPlayer; - public float playerYaw; - public float playerPitch; - public double playerX; - public double playerY; - public double playerZ; - - private TileEntityRenderer() { - this.specialRendererMap.put(TileEntitySign.class, new TileEntitySignRenderer()); - this.specialRendererMap.put(TileEntityMobSpawner.class, new TileEntityMobSpawnerRenderer()); - Iterator var1 = this.specialRendererMap.values().iterator(); - - while(var1.hasNext()) { - TileEntitySpecialRenderer var2 = (TileEntitySpecialRenderer)var1.next(); - var2.setTileEntityRenderer(this); - } - - } - - public TileEntitySpecialRenderer getSpecialRendererForClass(Class var1) { - TileEntitySpecialRenderer var2 = (TileEntitySpecialRenderer)this.specialRendererMap.get(var1); - if(var2 == null && var1 != TileEntity.class) { - var2 = this.getSpecialRendererForClass(var1.getSuperclass()); - this.specialRendererMap.put(var1, var2); - } - - return var2; - } - - public boolean hasSpecialRenderer(TileEntity var1) { - return this.getSpecialRendererForEntity(var1) != null; - } - - public TileEntitySpecialRenderer getSpecialRendererForEntity(TileEntity var1) { - return this.getSpecialRendererForClass(var1.getClass()); - } - - public void cacheActiveRenderInfo(World var1, RenderEngine var2, FontRenderer var3, EntityPlayer var4, float var5) { - this.worldObj = var1; - this.renderEngine = var2; - this.entityPlayer = var4; - this.fontRenderer = var3; - this.playerYaw = var4.prevRotationYaw + (var4.rotationYaw - var4.prevRotationYaw) * var5; - this.playerPitch = var4.prevRotationPitch + (var4.rotationPitch - var4.prevRotationPitch) * var5; - this.playerX = var4.lastTickPosX + (var4.posX - var4.lastTickPosX) * (double)var5; - this.playerY = var4.lastTickPosY + (var4.posY - var4.lastTickPosY) * (double)var5; - this.playerZ = var4.lastTickPosZ + (var4.posZ - var4.lastTickPosZ) * (double)var5; - } - - public void renderTileEntity(TileEntity var1, float var2) { - if(var1.getDistanceFrom(this.playerX, this.playerY, this.playerZ) < 4096.0D) { - float var3 = this.worldObj.getBrightness(var1.xCoord, var1.yCoord, var1.zCoord); - GL11.glColor3f(var3, var3, var3); - this.renderTileEntityAt(var1, (double)var1.xCoord - staticPlayerX, (double)var1.yCoord - staticPlayerY, (double)var1.zCoord - staticPlayerZ, var2); - } - - } - - public void renderTileEntityAt(TileEntity var1, double var2, double var4, double var6, float var8) { - TileEntitySpecialRenderer var9 = this.getSpecialRendererForEntity(var1); - if(var9 != null) { - var9.renderTileEntityMobSpawner(var1, var2, var4, var6, var8); - } - - } - - public FontRenderer getFontRenderer() { - return this.fontRenderer; - } -} diff --git a/src/main/java/net/minecraft/src/TileEntitySign.java b/src/main/java/net/minecraft/src/TileEntitySign.java deleted file mode 100644 index 69f2787..0000000 --- a/src/main/java/net/minecraft/src/TileEntitySign.java +++ /dev/null @@ -1,26 +0,0 @@ -package net.minecraft.src; - -public class TileEntitySign extends TileEntity { - public String[] signText = new String[]{"", "", "", ""}; - public int lineBeingEdited = -1; - - public void writeToNBT(NBTTagCompound var1) { - super.writeToNBT(var1); - var1.setString("Text1", this.signText[0]); - var1.setString("Text2", this.signText[1]); - var1.setString("Text3", this.signText[2]); - var1.setString("Text4", this.signText[3]); - } - - public void readFromNBT(NBTTagCompound var1) { - super.readFromNBT(var1); - - for(int var2 = 0; var2 < 4; ++var2) { - this.signText[var2] = var1.getString("Text" + (var2 + 1)); - if(this.signText[var2].length() > 15) { - this.signText[var2] = this.signText[var2].substring(0, 15); - } - } - - } -} diff --git a/src/main/java/net/minecraft/src/TileEntitySignRenderer.java b/src/main/java/net/minecraft/src/TileEntitySignRenderer.java deleted file mode 100644 index b12ca76..0000000 --- a/src/main/java/net/minecraft/src/TileEntitySignRenderer.java +++ /dev/null @@ -1,41 +0,0 @@ -package net.minecraft.src; - -import org.lwjgl.opengl.GL11; - -public class TileEntitySignRenderer extends TileEntitySpecialRenderer { - private SignModel modelSign = new SignModel(); - - public void a(TileEntitySign var1, double var2, double var4, double var6, float var8) { - GL11.glPushMatrix(); - GL11.glTranslatef((float)var2 + 0.5F, (float)var4 + 12.0F / 16.0F, (float)var6 + 0.5F); - float var9 = (float)(var1.getBlockMetadata() * 360) / 16.0F; - GL11.glRotatef(-var9, 0.0F, 1.0F, 0.0F); - this.bindTextureByName("/item/sign.png"); - GL11.glPushMatrix(); - GL11.glScalef(1.0F, -1.0F, -1.0F); - this.modelSign.renderSign(); - GL11.glPopMatrix(); - float var10 = (float)(1.0D / 60.0D); - GL11.glTranslatef(0.0F, 0.5F, 0.09F); - GL11.glScalef(var10, -var10, var10); - GL11.glNormal3f(0.0F, 0.0F, -1.0F * var10); - FontRenderer var11 = this.getFontRenderer(); - - for(int var12 = 0; var12 < var1.signText.length; ++var12) { - String var13 = var1.signText[var12]; - if(var12 == var1.lineBeingEdited) { - var13 = "> " + var13 + " <"; - var11.drawString(var13, -var11.getStringWidth(var13) / 2, var12 * 10 - var1.signText.length * 5, 0); - } else { - var11.drawString(var13, -var11.getStringWidth(var13) / 2, var12 * 10 - var1.signText.length * 5, 0); - } - } - - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glPopMatrix(); - } - - public void renderTileEntityMobSpawner(TileEntity var1, double var2, double var4, double var6, float var8) { - this.a((TileEntitySign)var1, var2, var4, var6, var8); - } -} diff --git a/src/main/java/net/minecraft/src/TileEntitySpecialRenderer.java b/src/main/java/net/minecraft/src/TileEntitySpecialRenderer.java deleted file mode 100644 index d0ae86c..0000000 --- a/src/main/java/net/minecraft/src/TileEntitySpecialRenderer.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.minecraft.src; - -public abstract class TileEntitySpecialRenderer { - protected TileEntityRenderer tileEntityRenderer; - - public abstract void renderTileEntityMobSpawner(TileEntity var1, double var2, double var4, double var6, float var8); - - protected void bindTextureByName(String var1) { - RenderEngine var2 = this.tileEntityRenderer.renderEngine; - var2.bindTexture(var2.getTexture(var1)); - } - - public void setTileEntityRenderer(TileEntityRenderer var1) { - this.tileEntityRenderer = var1; - } - - public FontRenderer getFontRenderer() { - return this.tileEntityRenderer.getFontRenderer(); - } -} diff --git a/src/main/java/net/minecraft/src/Timer.java b/src/main/java/net/minecraft/src/Timer.java deleted file mode 100644 index 55f1390..0000000 --- a/src/main/java/net/minecraft/src/Timer.java +++ /dev/null @@ -1,58 +0,0 @@ -package net.minecraft.src; - -public class Timer { - float ticksPerSecond; - private double lastHRTime; - public int elapsedTicks; - public float renderPartialTicks; - public float timerSpeed = 1.0F; - public float elapsedPartialTicks = 0.0F; - private long lastSyncSysClock; - private long lastSyncHRClock; - private double timeSyncAdjustment = 1.0D; - - public Timer(float var1) { - this.ticksPerSecond = var1; - this.lastSyncSysClock = System.currentTimeMillis(); - this.lastSyncHRClock = System.nanoTime() / 1000000L; - } - - public void updateTimer() { - long var1 = System.currentTimeMillis(); - long var3 = var1 - this.lastSyncSysClock; - long var5 = System.nanoTime() / 1000000L; - double var9; - if(var3 > 1000L) { - long var7 = var5 - this.lastSyncHRClock; - var9 = (double)var3 / (double)var7; - this.timeSyncAdjustment += (var9 - this.timeSyncAdjustment) * (double)0.2F; - this.lastSyncSysClock = var1; - this.lastSyncHRClock = var5; - } - - if(var3 < 0L) { - this.lastSyncSysClock = var1; - this.lastSyncHRClock = var5; - } - - double var11 = (double)var5 / 1000.0D; - var9 = (var11 - this.lastHRTime) * this.timeSyncAdjustment; - this.lastHRTime = var11; - if(var9 < 0.0D) { - var9 = 0.0D; - } - - if(var9 > 1.0D) { - var9 = 1.0D; - } - - this.elapsedPartialTicks = (float)((double)this.elapsedPartialTicks + var9 * (double)this.timerSpeed * (double)this.ticksPerSecond); - this.elapsedTicks = (int)this.elapsedPartialTicks; - this.elapsedPartialTicks -= (float)this.elapsedTicks; - if(this.elapsedTicks > 10) { - this.elapsedTicks = 10; - } - - this.renderPartialTicks = this.elapsedPartialTicks; - } -} diff --git a/src/main/java/net/minecraft/src/UnexpectedThrowable.java b/src/main/java/net/minecraft/src/UnexpectedThrowable.java deleted file mode 100644 index b05f1b4..0000000 --- a/src/main/java/net/minecraft/src/UnexpectedThrowable.java +++ /dev/null @@ -1,11 +0,0 @@ -package net.minecraft.src; - -public class UnexpectedThrowable { - public final String description; - public final Exception exception; - - public UnexpectedThrowable(String var1, Exception var2) { - this.description = var1; - this.exception = var2; - } -} diff --git a/src/main/java/net/minecraft/src/Vec3D.java b/src/main/java/net/minecraft/src/Vec3D.java deleted file mode 100644 index c0b23a5..0000000 --- a/src/main/java/net/minecraft/src/Vec3D.java +++ /dev/null @@ -1,135 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.List; - -public class Vec3D { - private static List vectorList = new ArrayList(); - private static int nextVector = 0; - public double xCoord; - public double yCoord; - public double zCoord; - - public static Vec3D createVectorHelper(double var0, double var2, double var4) { - return new Vec3D(var0, var2, var4); - } - - public static void initialize() { - nextVector = 0; - } - - public static Vec3D createVector(double var0, double var2, double var4) { - if(nextVector >= vectorList.size()) { - vectorList.add(createVectorHelper(0.0D, 0.0D, 0.0D)); - } - - return ((Vec3D)vectorList.get(nextVector++)).setComponents(var0, var2, var4); - } - - private Vec3D(double var1, double var3, double var5) { - if(var1 == -0.0D) { - var1 = 0.0D; - } - - if(var3 == -0.0D) { - var3 = 0.0D; - } - - if(var5 == -0.0D) { - var5 = 0.0D; - } - - this.xCoord = var1; - this.yCoord = var3; - this.zCoord = var5; - } - - private Vec3D setComponents(double var1, double var3, double var5) { - this.xCoord = var1; - this.yCoord = var3; - this.zCoord = var5; - return this; - } - - public Vec3D subtract(Vec3D var1) { - return createVector(var1.xCoord - this.xCoord, var1.yCoord - this.yCoord, var1.zCoord - this.zCoord); - } - - public Vec3D normalize() { - double var1 = (double)MathHelper.sqrt_double(this.xCoord * this.xCoord + this.yCoord * this.yCoord + this.zCoord * this.zCoord); - return var1 < 1.0E-4D ? createVector(0.0D, 0.0D, 0.0D) : createVector(this.xCoord / var1, this.yCoord / var1, this.zCoord / var1); - } - - public Vec3D crossProduct(Vec3D var1) { - return createVector(this.yCoord * var1.zCoord - this.zCoord * var1.yCoord, this.zCoord * var1.xCoord - this.xCoord * var1.zCoord, this.xCoord * var1.yCoord - this.yCoord * var1.xCoord); - } - - public Vec3D addVector(double var1, double var3, double var5) { - return createVector(this.xCoord + var1, this.yCoord + var3, this.zCoord + var5); - } - - public double distanceTo(Vec3D var1) { - double var2 = var1.xCoord - this.xCoord; - double var4 = var1.yCoord - this.yCoord; - double var6 = var1.zCoord - this.zCoord; - return (double)MathHelper.sqrt_double(var2 * var2 + var4 * var4 + var6 * var6); - } - - public double squareDistanceTo(Vec3D var1) { - double var2 = var1.xCoord - this.xCoord; - double var4 = var1.yCoord - this.yCoord; - double var6 = var1.zCoord - this.zCoord; - return var2 * var2 + var4 * var4 + var6 * var6; - } - - public double squareDistanceTo(double var1, double var3, double var5) { - double var7 = var1 - this.xCoord; - double var9 = var3 - this.yCoord; - double var11 = var5 - this.zCoord; - return var7 * var7 + var9 * var9 + var11 * var11; - } - - public double lengthVector() { - return (double)MathHelper.sqrt_double(this.xCoord * this.xCoord + this.yCoord * this.yCoord + this.zCoord * this.zCoord); - } - - public Vec3D getIntermediateWithXValue(Vec3D var1, double var2) { - double var4 = var1.xCoord - this.xCoord; - double var6 = var1.yCoord - this.yCoord; - double var8 = var1.zCoord - this.zCoord; - if(var4 * var4 < (double)1.0E-7F) { - return null; - } else { - double var10 = (var2 - this.xCoord) / var4; - return var10 >= 0.0D && var10 <= 1.0D ? createVector(this.xCoord + var4 * var10, this.yCoord + var6 * var10, this.zCoord + var8 * var10) : null; - } - } - - public Vec3D getIntermediateWithYValue(Vec3D var1, double var2) { - double var4 = var1.xCoord - this.xCoord; - double var6 = var1.yCoord - this.yCoord; - double var8 = var1.zCoord - this.zCoord; - if(var6 * var6 < (double)1.0E-7F) { - return null; - } else { - double var10 = (var2 - this.yCoord) / var6; - return var10 >= 0.0D && var10 <= 1.0D ? createVector(this.xCoord + var4 * var10, this.yCoord + var6 * var10, this.zCoord + var8 * var10) : null; - } - } - - public Vec3D getIntermediateWithZValue(Vec3D var1, double var2) { - double var4 = var1.xCoord - this.xCoord; - double var6 = var1.yCoord - this.yCoord; - double var8 = var1.zCoord - this.zCoord; - if(var8 * var8 < (double)1.0E-7F) { - return null; - } else { - double var10 = (var2 - this.zCoord) / var8; - return var10 >= 0.0D && var10 <= 1.0D ? createVector(this.xCoord + var4 * var10, this.yCoord + var6 * var10, this.zCoord + var8 * var10) : null; - } - } - - public String toString() { - return "(" + this.xCoord + ", " + this.yCoord + ", " + this.zCoord + ")"; - } -} diff --git a/src/main/java/net/minecraft/src/World.java b/src/main/java/net/minecraft/src/World.java deleted file mode 100644 index 4553761..0000000 --- a/src/main/java/net/minecraft/src/World.java +++ /dev/null @@ -1,1604 +0,0 @@ -package net.minecraft.src; - -import net.PeytonPlayz585.io.File; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Random; -import java.util.Set; -import java.util.TreeSet; - -public class World implements IBlockAccess { - private List lightingToUpdate; - private List loadedEntityList; - private List unloadedEntityList; - private TreeSet scheduledTickTreeSet; - private Set scheduledTickSet; - public List loadedTileEntityList; - public long worldTime; - private long skyColor; - private long fogColor; - private long cloudColor; - public int skylightSubtracted; - private int updateLCG; - private int DIST_HASH_MAGIC; - public boolean editingBlocks; - public static float[] lightBrightnessTable = new float[16]; - public Entity playerEntity; - public int difficultySetting; - public Object fontRenderer; - public Random rand; - public int spawnX; - public int spawnY; - public int spawnZ; - public boolean isNewWorld; - private List worldAccesses; - private IChunkProvider chunkProvider; - private File saveDirectory; - public long randomSeed; - private NBTTagCompound nbtCompoundPlayer; - public long setSizeOnDisk; - public final String levelName; - private ArrayList collidingBoundingBoxes; - private List entitiesWithinAABBExcludingEntity; - - public static NBTTagCompound getLevelData(File var0, String var1) { - File var2 = new File(var0, "saves"); - File var3 = new File(var2, var1); - if(!var3.exists()) { - return null; - } else { - File var4 = new File(var3, "level.dat"); - if(var4.exists()) { - try { - NBTTagCompound var5 = (NBTTagCompound) NBTBase.readNamedTag(new DataInputStream(new ByteArrayInputStream(var4.getBytes()))); - NBTTagCompound var6 = var5.getCompoundTag("Data"); - return var6; - } catch (Exception var7) { - var7.printStackTrace(); - } - } - - return null; - } - } - - public static void deleteWorld(File var0, String var1) { - File var2 = new File(var0, "saves"); - File var3 = new File(var2, var1); - if(var3.exists()) { - deleteWorldFiles(var3.listFiles()); - var3.delete(); - } - } - - private static void deleteWorldFiles(File[] var0) { - for(int var1 = 0; var1 < var0.length; ++var1) { - if(var0[var1].isDirectory()) { - deleteWorldFiles(var0[var1].listFiles()); - } - - var0[var1].delete(); - } - - } - - public World(File var1, String var2) { - this(var1, var2, (new Random()).nextLong()); - } - - public World(File var1, String var2, long var3) { - this.lightingToUpdate = new ArrayList(); - this.loadedEntityList = new ArrayList(); - this.unloadedEntityList = new ArrayList(); - this.scheduledTickTreeSet = new TreeSet(); - this.scheduledTickSet = new HashSet(); - this.loadedTileEntityList = new ArrayList(); - this.worldTime = 0L; - this.skyColor = 8961023L; - this.fogColor = 12638463L; - this.cloudColor = 16777215L; - this.skylightSubtracted = 0; - this.updateLCG = (new Random()).nextInt(); - this.DIST_HASH_MAGIC = 1013904223; - this.editingBlocks = false; - this.rand = new Random(); - this.isNewWorld = false; - this.worldAccesses = new ArrayList(); - this.randomSeed = 0L; - this.setSizeOnDisk = 0L; - this.collidingBoundingBoxes = new ArrayList(); - this.entitiesWithinAABBExcludingEntity = new ArrayList(); - this.levelName = var2; - var1.mkdirs(); - this.saveDirectory = new File(var1, var2); - this.saveDirectory.mkdirs(); - File var5 = new File(this.saveDirectory, "level.dat"); - this.isNewWorld = !var5.exists(); - if(var5.exists()) { - try { - NBTTagCompound var6 = (NBTTagCompound) NBTBase.readNamedTag(new DataInputStream(new ByteArrayInputStream(var5.getBytes()))); - NBTTagCompound var7 = var6.getCompoundTag("Data"); - this.randomSeed = var7.getLong("RandomSeed"); - this.spawnX = var7.getInteger("SpawnX"); - this.spawnY = var7.getInteger("SpawnY"); - this.spawnZ = var7.getInteger("SpawnZ"); - this.worldTime = var7.getLong("Time"); - this.setSizeOnDisk = var7.getLong("SizeOnDisk"); - this.nbtCompoundPlayer = var7.getCompoundTag("Player"); - } catch (Exception var8) { - var8.printStackTrace(); - } - } - - boolean var9 = false; - if(this.randomSeed == 0L) { - this.randomSeed = var3; - var9 = true; - } - - this.chunkProvider = this.getChunkProvider(this.saveDirectory); - if(var9) { - this.spawnX = 0; - this.spawnY = 64; - - for(this.spawnZ = 0; !this.findSpawn(this.spawnX, this.spawnZ); this.spawnZ += this.rand.nextInt(64) - this.rand.nextInt(64)) { - this.spawnX += this.rand.nextInt(64) - this.rand.nextInt(64); - } - } - - this.calculateInitialSkylight(); - } - - protected IChunkProvider getChunkProvider(File var1) { - return new ChunkProviderLoadOrGenerate(this, new ChunkLoader(var1, true), new ChunkProviderGenerate(this, this.randomSeed)); - } - - public void setSpawnLocation() { - while(this.getFirstUncoveredBlock(this.spawnX, this.spawnZ) == 0) { - this.spawnX += this.rand.nextInt(8) - this.rand.nextInt(8); - this.spawnZ += this.rand.nextInt(8) - this.rand.nextInt(8); - } - - } - - private boolean findSpawn(int var1, int var2) { - return this.getFirstUncoveredBlock(var1, var2) == Block.sand.blockID; - } - - private int getFirstUncoveredBlock(int var1, int var2) { - int var3; - for(var3 = 63; this.getBlockId(var1, var3 + 1, var2) != 0; ++var3) { - } - - return this.getBlockId(var1, var3, var2); - } - - public void spawnPlayerWithLoadedChunks() { - try { - if(this.nbtCompoundPlayer != null) { - this.playerEntity.readFromNBT(this.nbtCompoundPlayer); - this.nbtCompoundPlayer = null; - } - - this.spawnEntityInWorld(this.playerEntity); - } catch (Exception var2) { - var2.printStackTrace(); - } - - } - - public void saveWorld(boolean var1, IProgressUpdate var2) { - if(this.chunkProvider.canSave()) { - if(var2 != null) { - var2.displayProgressMessage("Saving level"); - } - - this.saveLevel(); - if(var2 != null) { - var2.displayLoadingString("Saving chunks"); - } - - this.chunkProvider.saveChunks(var1, var2); - } - } - - private void saveLevel() { - NBTTagCompound var1 = new NBTTagCompound(); - var1.setLong("RandomSeed", this.randomSeed); - var1.setInteger("SpawnX", this.spawnX); - var1.setInteger("SpawnY", this.spawnY); - var1.setInteger("SpawnZ", this.spawnZ); - var1.setLong("Time", this.worldTime); - var1.setLong("SizeOnDisk", this.setSizeOnDisk); - var1.setLong("LastPlayed", System.currentTimeMillis()); - NBTTagCompound var2; - if(this.playerEntity != null) { - var2 = new NBTTagCompound(); - this.playerEntity.writeToNBT(var2); - var1.setCompoundTag("Player", var2); - } - - var2 = new NBTTagCompound(); - var2.setTag("Data", var1); - - try { - File var3 = new File(this.saveDirectory, "level.dat_new"); - File var4 = new File(this.saveDirectory, "level.dat_old"); - File var5 = new File(this.saveDirectory, "level.dat"); - ByteArrayOutputStream bao = new ByteArrayOutputStream(131072); - NBTBase.writeNamedTag(var2, new DataOutputStream(bao)); - var3.writeBytes(bao.toByteArray()); - if(var4.exists()) { - var4.delete(); - } - - var5.renameTo(var4); - if(var5.exists()) { - var5.delete(); - } - - var3.renameTo(var5); - if(var3.exists()) { - var3.delete(); - } - } catch (Exception var6) { - var6.printStackTrace(); - } - - } - - public boolean saveWorld(int var1) { - if(!this.chunkProvider.canSave()) { - return true; - } else { - if(var1 == 0) { - this.saveLevel(); - } - - return this.chunkProvider.saveChunks(false, (IProgressUpdate)null); - } - } - - public int getBlockId(int var1, int var2, int var3) { - return var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000 ? (var2 < 0 ? 0 : (var2 >= 128 ? 0 : this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4).getBlockID(var1 & 15, var2, var3 & 15))) : 0; - } - - public boolean blockExists(int var1, int var2, int var3) { - return var2 >= 0 && var2 < 128 ? this.chunkExists(var1 >> 4, var3 >> 4) : false; - } - - public boolean checkChunksExist(int var1, int var2, int var3, int var4, int var5, int var6) { - if(var5 >= 0 && var2 < 128) { - var1 >>= 4; - var2 >>= 4; - var3 >>= 4; - var4 >>= 4; - var5 >>= 4; - var6 >>= 4; - - for(int var7 = var1; var7 <= var4; ++var7) { - for(int var8 = var3; var8 <= var6; ++var8) { - if(!this.chunkExists(var7, var8)) { - return false; - } - } - } - - return true; - } else { - return false; - } - } - - private boolean chunkExists(int var1, int var2) { - return this.chunkProvider.chunkExists(var1, var2); - } - - public Chunk getChunkFromBlockCoords(int var1, int var2) { - return this.getChunkFromChunkCoords(var1 >> 4, var2 >> 4); - } - - public Chunk getChunkFromChunkCoords(int var1, int var2) { - return this.chunkProvider.provideChunk(var1, var2); - } - - public boolean setBlockAndMetadata(int var1, int var2, int var3, int var4, int var5) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - if(var2 < 0) { - return false; - } else if(var2 >= 128) { - return false; - } else { - Chunk var6 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - return var6.setBlockIDWithMetadata(var1 & 15, var2, var3 & 15, var4, var5); - } - } else { - return false; - } - } - - public boolean setBlock(int var1, int var2, int var3, int var4) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - if(var2 < 0) { - return false; - } else if(var2 >= 128) { - return false; - } else { - Chunk var5 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - return var5.setBlockID(var1 & 15, var2, var3 & 15, var4); - } - } else { - return false; - } - } - - public Material getBlockMaterial(int var1, int var2, int var3) { - int var4 = this.getBlockId(var1, var2, var3); - return var4 == 0 ? Material.air : Block.blocksList[var4].blockMaterial; - } - - public int getBlockMetadata(int var1, int var2, int var3) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - if(var2 < 0) { - return 0; - } else if(var2 >= 128) { - return 0; - } else { - Chunk var4 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - var1 &= 15; - var3 &= 15; - return var4.getBlockMetadata(var1, var2, var3); - } - } else { - return 0; - } - } - - public void setBlockMetadataWithNotify(int var1, int var2, int var3, int var4) { - this.setBlockMetadata(var1, var2, var3, var4); - } - - public boolean setBlockMetadata(int var1, int var2, int var3, int var4) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - if(var2 < 0) { - return false; - } else if(var2 >= 128) { - return false; - } else { - Chunk var5 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - var1 &= 15; - var3 &= 15; - var5.setBlockMetadata(var1, var2, var3, var4); - return true; - } - } else { - return false; - } - } - - public boolean setBlockWithNotify(int var1, int var2, int var3, int var4) { - if(this.setBlock(var1, var2, var3, var4)) { - this.markBlockNeedsUpdate(var1, var2, var3, var4); - return true; - } else { - return false; - } - } - - public boolean setBlockAndMetadataWithNotify(int var1, int var2, int var3, int var4, int var5) { - if(this.setBlockAndMetadata(var1, var2, var3, var4, var5)) { - this.markBlockNeedsUpdate(var1, var2, var3, var4); - return true; - } else { - return false; - } - } - - private void markBlockNeedsUpdate(int var1, int var2, int var3, int var4) { - for(int var5 = 0; var5 < this.worldAccesses.size(); ++var5) { - ((IWorldAccess)this.worldAccesses.get(var5)).markBlockAndNeighborsNeedsUpdate(var1, var2, var3); - } - - this.notifyBlocksOfNeighborChange(var1, var2, var3, var4); - } - - public void markBlockAsNeedsUpdate(int var1, int var2, int var3, int var4) { - if(var3 > var4) { - int var5 = var4; - var4 = var3; - var3 = var5; - } - - this.markBlocksDirty(var1, var3, var2, var1, var4, var2); - } - - public void markBlocksDirty(int var1, int var2, int var3, int var4, int var5, int var6) { - for(int var7 = 0; var7 < this.worldAccesses.size(); ++var7) { - ((IWorldAccess)this.worldAccesses.get(var7)).markBlockRangeNeedsUpdate(var1, var2, var3, var4, var5, var6); - } - - } - - public void notifyBlocksOfNeighborChange(int var1, int var2, int var3, int var4) { - this.notifyBlockOfNeighborChange(var1 - 1, var2, var3, var4); - this.notifyBlockOfNeighborChange(var1 + 1, var2, var3, var4); - this.notifyBlockOfNeighborChange(var1, var2 - 1, var3, var4); - this.notifyBlockOfNeighborChange(var1, var2 + 1, var3, var4); - this.notifyBlockOfNeighborChange(var1, var2, var3 - 1, var4); - this.notifyBlockOfNeighborChange(var1, var2, var3 + 1, var4); - } - - private void notifyBlockOfNeighborChange(int var1, int var2, int var3, int var4) { - if(!this.editingBlocks) { - Block var5 = Block.blocksList[this.getBlockId(var1, var2, var3)]; - if(var5 != null) { - var5.onNeighborBlockChange(this, var1, var2, var3, var4); - } - - } - } - - public boolean canBlockSeeTheSky(int var1, int var2, int var3) { - return this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4).canBlockSeeTheSky(var1 & 15, var2, var3 & 15); - } - - public int getBlockLightValue(int var1, int var2, int var3) { - return this.getBlockLightValue_do(var1, var2, var3, true); - } - - public int getBlockLightValue_do(int var1, int var2, int var3, boolean var4) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - int var5; - if(var4) { - var5 = this.getBlockId(var1, var2, var3); - if(var5 == Block.stairSingle.blockID || var5 == Block.tilledField.blockID) { - int var6 = this.getBlockLightValue_do(var1, var2 + 1, var3, false); - int var7 = this.getBlockLightValue_do(var1 + 1, var2, var3, false); - int var8 = this.getBlockLightValue_do(var1 - 1, var2, var3, false); - int var9 = this.getBlockLightValue_do(var1, var2, var3 + 1, false); - int var10 = this.getBlockLightValue_do(var1, var2, var3 - 1, false); - if(var7 > var6) { - var6 = var7; - } - - if(var8 > var6) { - var6 = var8; - } - - if(var9 > var6) { - var6 = var9; - } - - if(var10 > var6) { - var6 = var10; - } - - return var6; - } - } - - if(var2 < 0) { - return 0; - } else if(var2 >= 128) { - var5 = 15 - this.skylightSubtracted; - if(var5 < 0) { - var5 = 0; - } - - return var5; - } else { - Chunk var11 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - var1 &= 15; - var3 &= 15; - return var11.getBlockLightValue(var1, var2, var3, this.skylightSubtracted); - } - } else { - return 15; - } - } - - public boolean canExistingBlockSeeTheSky(int var1, int var2, int var3) { - if(var1 >= -32000000 && var3 >= -32000000 && var1 < 32000000 && var3 <= 32000000) { - if(var2 < 0) { - return false; - } else if(var2 >= 128) { - return true; - } else if(!this.chunkExists(var1 >> 4, var3 >> 4)) { - return false; - } else { - Chunk var4 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - var1 &= 15; - var3 &= 15; - return var4.canBlockSeeTheSky(var1, var2, var3); - } - } else { - return false; - } - } - - public int getHeightValue(int var1, int var2) { - if(var1 >= -32000000 && var2 >= -32000000 && var1 < 32000000 && var2 <= 32000000) { - if(!this.chunkExists(var1 >> 4, var2 >> 4)) { - return 0; - } else { - Chunk var3 = this.getChunkFromChunkCoords(var1 >> 4, var2 >> 4); - return var3.getHeightValue(var1 & 15, var2 & 15); - } - } else { - return 0; - } - } - - public void neighborLightPropagationChanged(EnumSkyBlock var1, int var2, int var3, int var4, int var5) { - if(this.blockExists(var2, var3, var4)) { - if(var1 == EnumSkyBlock.Sky) { - if(this.canExistingBlockSeeTheSky(var2, var3, var4)) { - var5 = 15; - } - } else if(var1 == EnumSkyBlock.Block) { - int var6 = this.getBlockId(var2, var3, var4); - if(Block.lightValue[var6] > var5) { - var5 = Block.lightValue[var6]; - } - } - - if(this.getSavedLightValue(var1, var2, var3, var4) != var5) { - this.scheduleLightingUpdate(var1, var2, var3, var4, var2, var3, var4); - } - - } - } - - public int getSavedLightValue(EnumSkyBlock var1, int var2, int var3, int var4) { - if(var3 >= 0 && var3 < 128 && var2 >= -32000000 && var4 >= -32000000 && var2 < 32000000 && var4 <= 32000000) { - int var5 = var2 >> 4; - int var6 = var4 >> 4; - if(!this.chunkExists(var5, var6)) { - return 0; - } else { - Chunk var7 = this.getChunkFromChunkCoords(var5, var6); - return var7.getSavedLightValue(var1, var2 & 15, var3, var4 & 15); - } - } else { - return var1.defaultLightValue; - } - } - - public void setLightValue(EnumSkyBlock var1, int var2, int var3, int var4, int var5) { - if(var2 >= -32000000 && var4 >= -32000000 && var2 < 32000000 && var4 <= 32000000) { - if(var3 >= 0) { - if(var3 < 128) { - if(this.chunkExists(var2 >> 4, var4 >> 4)) { - Chunk var6 = this.getChunkFromChunkCoords(var2 >> 4, var4 >> 4); - var6.setLightValue(var1, var2 & 15, var3, var4 & 15, var5); - - for(int var7 = 0; var7 < this.worldAccesses.size(); ++var7) { - ((IWorldAccess)this.worldAccesses.get(var7)).markBlockAndNeighborsNeedsUpdate(var2, var3, var4); - } - - } - } - } - } - } - - public float getBrightness(int var1, int var2, int var3) { - return lightBrightnessTable[this.getBlockLightValue(var1, var2, var3)]; - } - - public boolean isDaytime() { - return this.skylightSubtracted < 4; - } - - public MovingObjectPosition rayTraceBlocks(Vec3D var1, Vec3D var2) { - return this.rayTraceBlocks_do(var1, var2, false); - } - - public MovingObjectPosition rayTraceBlocks_do(Vec3D var1, Vec3D var2, boolean var3) { - if(!Double.isNaN(var1.xCoord) && !Double.isNaN(var1.yCoord) && !Double.isNaN(var1.zCoord)) { - if(!Double.isNaN(var2.xCoord) && !Double.isNaN(var2.yCoord) && !Double.isNaN(var2.zCoord)) { - int var4 = MathHelper.floor_double(var2.xCoord); - int var5 = MathHelper.floor_double(var2.yCoord); - int var6 = MathHelper.floor_double(var2.zCoord); - int var7 = MathHelper.floor_double(var1.xCoord); - int var8 = MathHelper.floor_double(var1.yCoord); - int var9 = MathHelper.floor_double(var1.zCoord); - int var10 = 20; - - while(var10-- >= 0) { - if(Double.isNaN(var1.xCoord) || Double.isNaN(var1.yCoord) || Double.isNaN(var1.zCoord)) { - return null; - } - - if(var7 == var4 && var8 == var5 && var9 == var6) { - return null; - } - - double var11 = 999.0D; - double var13 = 999.0D; - double var15 = 999.0D; - if(var4 > var7) { - var11 = (double)var7 + 1.0D; - } - - if(var4 < var7) { - var11 = (double)var7 + 0.0D; - } - - if(var5 > var8) { - var13 = (double)var8 + 1.0D; - } - - if(var5 < var8) { - var13 = (double)var8 + 0.0D; - } - - if(var6 > var9) { - var15 = (double)var9 + 1.0D; - } - - if(var6 < var9) { - var15 = (double)var9 + 0.0D; - } - - double var17 = 999.0D; - double var19 = 999.0D; - double var21 = 999.0D; - double var23 = var2.xCoord - var1.xCoord; - double var25 = var2.yCoord - var1.yCoord; - double var27 = var2.zCoord - var1.zCoord; - if(var11 != 999.0D) { - var17 = (var11 - var1.xCoord) / var23; - } - - if(var13 != 999.0D) { - var19 = (var13 - var1.yCoord) / var25; - } - - if(var15 != 999.0D) { - var21 = (var15 - var1.zCoord) / var27; - } - - boolean var29 = false; - byte var35; - if(var17 < var19 && var17 < var21) { - if(var4 > var7) { - var35 = 4; - } else { - var35 = 5; - } - - var1.xCoord = var11; - var1.yCoord += var25 * var17; - var1.zCoord += var27 * var17; - } else if(var19 < var21) { - if(var5 > var8) { - var35 = 0; - } else { - var35 = 1; - } - - var1.xCoord += var23 * var19; - var1.yCoord = var13; - var1.zCoord += var27 * var19; - } else { - if(var6 > var9) { - var35 = 2; - } else { - var35 = 3; - } - - var1.xCoord += var23 * var21; - var1.yCoord += var25 * var21; - var1.zCoord = var15; - } - - Vec3D var30 = Vec3D.createVector(var1.xCoord, var1.yCoord, var1.zCoord); - var7 = (int)(var30.xCoord = (double)MathHelper.floor_double(var1.xCoord)); - if(var35 == 5) { - --var7; - ++var30.xCoord; - } - - var8 = (int)(var30.yCoord = (double)MathHelper.floor_double(var1.yCoord)); - if(var35 == 1) { - --var8; - ++var30.yCoord; - } - - var9 = (int)(var30.zCoord = (double)MathHelper.floor_double(var1.zCoord)); - if(var35 == 3) { - --var9; - ++var30.zCoord; - } - - int var31 = this.getBlockId(var7, var8, var9); - int var32 = this.getBlockMetadata(var7, var8, var9); - Block var33 = Block.blocksList[var31]; - MovingObjectPosition var34; - if(var31 > 0 && var33.canCollideCheck(var32, var3)) { - var34 = var33.collisionRayTrace(this, var7, var8, var9, var1, var2); - if(var34 != null) { - return var34; - } - } - - var31 = this.getBlockId(var7, var8 - 1, var9); - var32 = this.getBlockMetadata(var7, var8 - 1, var9); - var33 = Block.blocksList[var31]; - if(var31 > 0 && var33.canCollideCheck(var32, var3)) { - var34 = var33.collisionRayTrace(this, var7, var8 - 1, var9, var1, var2); - if(var34 != null) { - return var34; - } - } - } - - return null; - } else { - return null; - } - } else { - return null; - } - } - - public void playSoundAtEntity(Entity var1, String var2, float var3, float var4) { - for(int var5 = 0; var5 < this.worldAccesses.size(); ++var5) { - float var6 = 16.0F; - if(var3 > 1.0F) { - var6 *= var3; - } - - if(this.playerEntity.getDistanceSqToEntity(var1) < (double)(var6 * var6)) { - ((IWorldAccess)this.worldAccesses.get(var5)).playSound(var2, var1.posX, var1.posY - (double)var1.yOffset, var1.posZ, var3, var4); - } - } - - } - - public void playSoundEffect(double var1, double var3, double var5, String var7, float var8, float var9) { - try { - for(int var10 = 0; var10 < this.worldAccesses.size(); ++var10) { - float var11 = 16.0F; - if(var8 > 1.0F) { - var11 *= var8; - } - - double var12 = var1 - this.playerEntity.posX; - double var14 = var3 - this.playerEntity.posY; - double var16 = var5 - this.playerEntity.posZ; - if(var12 * var12 + var14 * var14 + var16 * var16 < (double)(var11 * var11)) { - ((IWorldAccess)this.worldAccesses.get(var10)).playSound(var7, var1, var3, var5, var8, var9); - } - } - } catch (Exception var18) { - var18.printStackTrace(); - } - - } - - public void playMusic(double var1, double var3, double var5, String var7, float var8) { - } - - public void spawnParticle(String var1, double var2, double var4, double var6, double var8, double var10, double var12) { - for(int var14 = 0; var14 < this.worldAccesses.size(); ++var14) { - ((IWorldAccess)this.worldAccesses.get(var14)).spawnParticle(var1, var2, var4, var6, var8, var10, var12); - } - - } - - public void spawnEntityInWorld(Entity var1) { - int var2 = MathHelper.floor_double(var1.posX / 16.0D); - int var3 = MathHelper.floor_double(var1.posZ / 16.0D); - if(this.chunkExists(var2, var3)) { - this.getChunkFromChunkCoords(var2, var3).addEntity(var1); - this.loadedEntityList.add(var1); - - for(int var4 = 0; var4 < this.worldAccesses.size(); ++var4) { - ((IWorldAccess)this.worldAccesses.get(var4)).obtainEntitySkin(var1); - } - } else { - System.out.println("Failed to add entity " + var1); - } - - } - - public void setEntityDead(Entity var1) { - var1.setEntityDead(); - } - - public void addWorldAccess(IWorldAccess var1) { - this.worldAccesses.add(var1); - } - - public void removeWorldAccess(IWorldAccess var1) { - this.worldAccesses.remove(var1); - } - - public List getCollidingBoundingBoxes(Entity var1, AxisAlignedBB var2) { - this.collidingBoundingBoxes.clear(); - int var3 = MathHelper.floor_double(var2.minX); - int var4 = MathHelper.floor_double(var2.maxX + 1.0D); - int var5 = MathHelper.floor_double(var2.minY); - int var6 = MathHelper.floor_double(var2.maxY + 1.0D); - int var7 = MathHelper.floor_double(var2.minZ); - int var8 = MathHelper.floor_double(var2.maxZ + 1.0D); - - for(int var9 = var3; var9 < var4; ++var9) { - for(int var10 = var5 - 1; var10 < var6; ++var10) { - for(int var11 = var7; var11 < var8; ++var11) { - Block var12 = Block.blocksList[this.getBlockId(var9, var10, var11)]; - if(var12 != null) { - var12.getCollidingBoundingBoxes(this, var9, var10, var11, var2, this.collidingBoundingBoxes); - } - } - } - } - - double var16 = 0.25D; - List var14 = this.getEntitiesWithinAABBExcludingEntity(var1, var2.expand(var16, var16, var16)); - - for(int var15 = 0; var15 < var14.size(); ++var15) { - AxisAlignedBB var13 = ((Entity)var14.get(var15)).getBoundingBox(); - if(var13 != null) { - this.collidingBoundingBoxes.add(var13); - } - - var13 = var1.getCollisionBox((Entity)var14.get(var15)); - if(var13 != null) { - this.collidingBoundingBoxes.add(var13); - } - } - - return this.collidingBoundingBoxes; - } - - public int calculateSkylightSubtracted(float var1) { - float var2 = this.getCelestialAngle(var1); - float var3 = 1.0F - (MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.5F); - if(var3 < 0.0F) { - var3 = 0.0F; - } - - if(var3 > 1.0F) { - var3 = 1.0F; - } - - return (int)(var3 * 11.0F); - } - - public Vec3D getSkyColor(float var1) { - float var2 = this.getCelestialAngle(var1); - float var3 = MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; - if(var3 < 0.0F) { - var3 = 0.0F; - } - - if(var3 > 1.0F) { - var3 = 1.0F; - } - - float var4 = (float)(this.skyColor >> 16 & 255L) / 255.0F; - float var5 = (float)(this.skyColor >> 8 & 255L) / 255.0F; - float var6 = (float)(this.skyColor & 255L) / 255.0F; - var4 *= var3; - var5 *= var3; - var6 *= var3; - return Vec3D.createVector((double)var4, (double)var5, (double)var6); - } - - public float getCelestialAngle(float var1) { - int var2 = (int)(this.worldTime % 24000L); - float var3 = ((float)var2 + var1) / 24000.0F - 0.25F; - if(var3 < 0.0F) { - ++var3; - } - - if(var3 > 1.0F) { - --var3; - } - - float var4 = var3; - var3 = 1.0F - (float)((Math.cos((double)var3 * Math.PI) + 1.0D) / 2.0D); - var3 = var4 + (var3 - var4) / 3.0F; - return var3; - } - - public Vec3D getCloudColor(float var1) { - float var2 = this.getCelestialAngle(var1); - float var3 = MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; - if(var3 < 0.0F) { - var3 = 0.0F; - } - - if(var3 > 1.0F) { - var3 = 1.0F; - } - - float var4 = (float)(this.cloudColor >> 16 & 255L) / 255.0F; - float var5 = (float)(this.cloudColor >> 8 & 255L) / 255.0F; - float var6 = (float)(this.cloudColor & 255L) / 255.0F; - var4 *= var3 * 0.9F + 0.1F; - var5 *= var3 * 0.9F + 0.1F; - var6 *= var3 * 0.85F + 0.15F; - return Vec3D.createVector((double)var4, (double)var5, (double)var6); - } - - public Vec3D getFogColor(float var1) { - float var2 = this.getCelestialAngle(var1); - float var3 = MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 0.5F; - if(var3 < 0.0F) { - var3 = 0.0F; - } - - if(var3 > 1.0F) { - var3 = 1.0F; - } - - float var4 = (float)(this.fogColor >> 16 & 255L) / 255.0F; - float var5 = (float)(this.fogColor >> 8 & 255L) / 255.0F; - float var6 = (float)(this.fogColor & 255L) / 255.0F; - var4 *= var3 * 0.94F + 0.06F; - var5 *= var3 * 0.94F + 0.06F; - var6 *= var3 * 0.91F + 0.09F; - return Vec3D.createVector((double)var4, (double)var5, (double)var6); - } - - public int getTopSolidOrLiquidBlock(int var1, int var2) { - return 64; - } - - public float getStarBrightness(float var1) { - float var2 = this.getCelestialAngle(var1); - float var3 = 1.0F - (MathHelper.cos(var2 * (float)Math.PI * 2.0F) * 2.0F + 12.0F / 16.0F); - if(var3 < 0.0F) { - var3 = 0.0F; - } - - if(var3 > 1.0F) { - var3 = 1.0F; - } - - return var3 * var3 * 0.5F; - } - - public void scheduleBlockUpdate(int var1, int var2, int var3, int var4) { - NextTickListEntry var5 = new NextTickListEntry(var1, var2, var3, var4); - byte var6 = 8; - if(this.checkChunksExist(var1 - var6, var2 - var6, var3 - var6, var1 + var6, var2 + var6, var3 + var6)) { - if(var4 > 0) { - var5.setScheduledTime((long)Block.blocksList[var4].tickRate() + this.worldTime); - } - - if(!this.scheduledTickSet.contains(var5)) { - this.scheduledTickSet.add(var5); - this.scheduledTickTreeSet.add(var5); - } - } - - } - - public void updateEntities() { - this.loadedEntityList.removeAll(this.unloadedEntityList); - - int var1; - int var3; - for(var1 = 0; var1 < this.worldAccesses.size(); ++var1) { - IWorldAccess var2 = (IWorldAccess)this.worldAccesses.get(var1); - - for(var3 = 0; var3 < this.unloadedEntityList.size(); ++var3) { - var2.releaseEntitySkin((Entity)this.unloadedEntityList.get(var3)); - } - } - - this.unloadedEntityList.clear(); - - for(var1 = 0; var1 < this.loadedEntityList.size(); ++var1) { - Entity var6 = (Entity)this.loadedEntityList.get(var1); - if(var6.ridingEntity != null) { - if(!var6.ridingEntity.isDead && var6.ridingEntity.riddenByEntity == var6) { - continue; - } - - var6.ridingEntity.riddenByEntity = null; - var6.ridingEntity = null; - } - - if(!var6.isDead) { - this.updateEntity(var6); - } - - if(var6.isDead) { - var3 = MathHelper.floor_double(var6.posX / 16.0D); - int var4 = MathHelper.floor_double(var6.posZ / 16.0D); - if(this.chunkExists(var3, var4)) { - this.getChunkFromChunkCoords(var3, var4).removeEntity(var6); - } - - this.loadedEntityList.remove(var1--); - - for(int var5 = 0; var5 < this.worldAccesses.size(); ++var5) { - ((IWorldAccess)this.worldAccesses.get(var5)).releaseEntitySkin(var6); - } - } - } - - for(var1 = 0; var1 < this.loadedTileEntityList.size(); ++var1) { - TileEntity var7 = (TileEntity)this.loadedTileEntityList.get(var1); - var7.updateEntity(); - } - - } - - private void updateEntity(Entity var1) { - int var2 = MathHelper.floor_double(var1.posX); - int var3 = MathHelper.floor_double(var1.posY); - int var4 = MathHelper.floor_double(var1.posZ); - byte var5 = 16; - if(this.checkChunksExist(var2 - var5, 0, var4 - var5, var2 + var5, 128, var4 + var5)) { - var1.lastTickPosX = var1.posX; - var1.lastTickPosY = var1.posY; - var1.lastTickPosZ = var1.posZ; - var1.prevRotationYaw = var1.rotationYaw; - var1.prevRotationPitch = var1.rotationPitch; - int var6 = MathHelper.floor_double(var1.posX / 16.0D); - int var7 = MathHelper.floor_double(var1.posY / 16.0D); - int var8 = MathHelper.floor_double(var1.posZ / 16.0D); - if(var1.ridingEntity != null) { - var1.updateRidden(); - } else { - var1.onUpdate(); - } - - int var9 = MathHelper.floor_double(var1.posX / 16.0D); - int var10 = MathHelper.floor_double(var1.posY / 16.0D); - int var11 = MathHelper.floor_double(var1.posZ / 16.0D); - if(var6 != var9 || var7 != var10 || var8 != var11) { - if(this.chunkExists(var6, var8)) { - this.getChunkFromChunkCoords(var6, var8).removeEntityAtIndex(var1, var7); - } - - if(this.chunkExists(var9, var11)) { - this.getChunkFromChunkCoords(var9, var11).addEntity(var1); - } else { - var1.setEntityDead(); - } - } - - if(var1.riddenByEntity != null) { - if(!var1.riddenByEntity.isDead && var1.riddenByEntity.ridingEntity == var1) { - this.updateEntity(var1.riddenByEntity); - } else { - var1.riddenByEntity.ridingEntity = null; - var1.riddenByEntity = null; - } - } - - if(Double.isNaN(var1.posX) || Double.isInfinite(var1.posX)) { - var1.posX = var1.lastTickPosX; - } - - if(Double.isNaN(var1.posY) || Double.isInfinite(var1.posY)) { - var1.posY = var1.lastTickPosY; - } - - if(Double.isNaN(var1.posZ) || Double.isInfinite(var1.posZ)) { - var1.posZ = var1.lastTickPosZ; - } - - if(Double.isNaN((double)var1.rotationPitch) || Double.isInfinite((double)var1.rotationPitch)) { - var1.rotationPitch = var1.prevRotationPitch; - } - - if(Double.isNaN((double)var1.rotationYaw) || Double.isInfinite((double)var1.rotationYaw)) { - var1.rotationYaw = var1.prevRotationYaw; - } - - } - } - - public boolean checkIfAABBIsClear(AxisAlignedBB var1) { - List var2 = this.getEntitiesWithinAABBExcludingEntity((Entity)null, var1); - - for(int var3 = 0; var3 < var2.size(); ++var3) { - Entity var4 = (Entity)var2.get(var3); - if(!var4.isDead && var4.preventEntitySpawning) { - return false; - } - } - - return true; - } - - public boolean getIsAnyLiquid(AxisAlignedBB var1) { - int var2 = MathHelper.floor_double(var1.minX); - int var3 = MathHelper.floor_double(var1.maxX + 1.0D); - int var4 = MathHelper.floor_double(var1.minY); - int var5 = MathHelper.floor_double(var1.maxY + 1.0D); - int var6 = MathHelper.floor_double(var1.minZ); - int var7 = MathHelper.floor_double(var1.maxZ + 1.0D); - if(var1.minX < 0.0D) { - --var2; - } - - if(var1.minY < 0.0D) { - --var4; - } - - if(var1.minZ < 0.0D) { - --var6; - } - - for(int var8 = var2; var8 < var3; ++var8) { - for(int var9 = var4; var9 < var5; ++var9) { - for(int var10 = var6; var10 < var7; ++var10) { - Block var11 = Block.blocksList[this.getBlockId(var8, var9, var10)]; - if(var11 != null && var11.blockMaterial.getIsLiquid()) { - return true; - } - } - } - } - - return false; - } - - public boolean isBoundingBoxBurning(AxisAlignedBB var1) { - int var2 = MathHelper.floor_double(var1.minX); - int var3 = MathHelper.floor_double(var1.maxX + 1.0D); - int var4 = MathHelper.floor_double(var1.minY); - int var5 = MathHelper.floor_double(var1.maxY + 1.0D); - int var6 = MathHelper.floor_double(var1.minZ); - int var7 = MathHelper.floor_double(var1.maxZ + 1.0D); - - for(int var8 = var2; var8 < var3; ++var8) { - for(int var9 = var4; var9 < var5; ++var9) { - for(int var10 = var6; var10 < var7; ++var10) { - int var11 = this.getBlockId(var8, var9, var10); - if(var11 == Block.fire.blockID || var11 == Block.lavaMoving.blockID || var11 == Block.lavaStill.blockID) { - return true; - } - } - } - } - - return false; - } - - public boolean handleMaterialAcceleration(AxisAlignedBB var1, Material var2, Entity var3) { - int var4 = MathHelper.floor_double(var1.minX); - int var5 = MathHelper.floor_double(var1.maxX + 1.0D); - int var6 = MathHelper.floor_double(var1.minY); - int var7 = MathHelper.floor_double(var1.maxY + 1.0D); - int var8 = MathHelper.floor_double(var1.minZ); - int var9 = MathHelper.floor_double(var1.maxZ + 1.0D); - boolean var10 = false; - Vec3D var11 = Vec3D.createVector(0.0D, 0.0D, 0.0D); - - for(int var12 = var4; var12 < var5; ++var12) { - for(int var13 = var6; var13 < var7; ++var13) { - for(int var14 = var8; var14 < var9; ++var14) { - Block var15 = Block.blocksList[this.getBlockId(var12, var13, var14)]; - if(var15 != null && var15.blockMaterial == var2) { - double var16 = (double)((float)(var13 + 1) - BlockFluid.getPercentAir(this.getBlockMetadata(var12, var13, var14))); - if((double)var7 >= var16) { - var10 = true; - var15.velocityToAddToEntity(this, var12, var13, var14, var3, var11); - } - } - } - } - } - - if(var11.lengthVector() > 0.0D) { - var11 = var11.normalize(); - double var18 = 0.004D; - var3.motionX += var11.xCoord * var18; - var3.motionY += var11.yCoord * var18; - var3.motionZ += var11.zCoord * var18; - } - - return var10; - } - - public boolean isMaterialInBB(AxisAlignedBB var1, Material var2) { - int var3 = MathHelper.floor_double(var1.minX); - int var4 = MathHelper.floor_double(var1.maxX + 1.0D); - int var5 = MathHelper.floor_double(var1.minY); - int var6 = MathHelper.floor_double(var1.maxY + 1.0D); - int var7 = MathHelper.floor_double(var1.minZ); - int var8 = MathHelper.floor_double(var1.maxZ + 1.0D); - - for(int var9 = var3; var9 < var4; ++var9) { - for(int var10 = var5; var10 < var6; ++var10) { - for(int var11 = var7; var11 < var8; ++var11) { - Block var12 = Block.blocksList[this.getBlockId(var9, var10, var11)]; - if(var12 != null && var12.blockMaterial == var2) { - return true; - } - } - } - } - - return false; - } - - public void createExplosion(Entity var1, double var2, double var4, double var6, float var8) { - (new Explosion()).doExplosion(this, var1, var2, var4, var6, var8); - } - - public float getBlockDensity(Vec3D var1, AxisAlignedBB var2) { - double var3 = 1.0D / ((var2.maxX - var2.minX) * 2.0D + 1.0D); - double var5 = 1.0D / ((var2.maxY - var2.minY) * 2.0D + 1.0D); - double var7 = 1.0D / ((var2.maxZ - var2.minZ) * 2.0D + 1.0D); - int var9 = 0; - int var10 = 0; - - for(float var11 = 0.0F; var11 <= 1.0F; var11 = (float)((double)var11 + var3)) { - for(float var12 = 0.0F; var12 <= 1.0F; var12 = (float)((double)var12 + var5)) { - for(float var13 = 0.0F; var13 <= 1.0F; var13 = (float)((double)var13 + var7)) { - double var14 = var2.minX + (var2.maxX - var2.minX) * (double)var11; - double var16 = var2.minY + (var2.maxY - var2.minY) * (double)var12; - double var18 = var2.minZ + (var2.maxZ - var2.minZ) * (double)var13; - if(this.rayTraceBlocks(Vec3D.createVector(var14, var16, var18), var1) == null) { - ++var9; - } - - ++var10; - } - } - } - - return (float)var9 / (float)var10; - } - - public void extinguishFire(int var1, int var2, int var3, int var4) { - if(var4 == 0) { - --var2; - } - - if(var4 == 1) { - ++var2; - } - - if(var4 == 2) { - --var3; - } - - if(var4 == 3) { - ++var3; - } - - if(var4 == 4) { - --var1; - } - - if(var4 == 5) { - ++var1; - } - - if(this.getBlockId(var1, var2, var3) == Block.fire.blockID) { - this.playSoundEffect((double)((float)var1 + 0.5F), (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), "random.fizz", 0.5F, 2.6F + (this.rand.nextFloat() - this.rand.nextFloat()) * 0.8F); - this.setBlockWithNotify(var1, var2, var3, 0); - } - - } - - public Entity createDebugPlayer(Class var1) { - return null; - } - - public String getDebugLoadedEntities() { - return "All: " + this.loadedEntityList.size(); - } - - public Entity getPlayerEntity() { - return this.playerEntity; - } - - public TileEntity getBlockTileEntity(int var1, int var2, int var3) { - Chunk var4 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - return var4 != null ? var4.getChunkBlockTileEntity(var1 & 15, var2, var3 & 15) : null; - } - - public void setBlockTileEntity(int var1, int var2, int var3, TileEntity var4) { - Chunk var5 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - if(var5 != null) { - var5.setChunkBlockTileEntity(var1 & 15, var2, var3 & 15, var4); - } - - } - - public void removeBlockTileEntity(int var1, int var2, int var3) { - Chunk var4 = this.getChunkFromChunkCoords(var1 >> 4, var3 >> 4); - if(var4 != null) { - var4.removeChunkBlockTileEntity(var1 & 15, var2, var3 & 15); - } - - } - - public boolean isBlockNormalCube(int var1, int var2, int var3) { - Block var4 = Block.blocksList[this.getBlockId(var1, var2, var3)]; - return var4 == null ? false : var4.isOpaqueCube(); - } - - public void saveWorldIndirectly(IProgressUpdate var1) { - this.saveWorld(true, var1); - } - - public boolean updatingLighting() { - int var1 = 100000; - - while(this.lightingToUpdate.size() > 0) { - --var1; - if(var1 <= 0) { - return true; - } - - ((MetadataChunkBlock)this.lightingToUpdate.remove(this.lightingToUpdate.size() - 1)).updateLight(this); - } - - return false; - } - - public void scheduleLightingUpdate(EnumSkyBlock var1, int var2, int var3, int var4, int var5, int var6, int var7) { - int var8 = this.lightingToUpdate.size(); - int var9 = 4; - if(var9 > var8) { - var9 = var8; - } - - for(int var10 = 0; var10 < var9; ++var10) { - MetadataChunkBlock var11 = (MetadataChunkBlock)this.lightingToUpdate.get(this.lightingToUpdate.size() - var10 - 1); - if(var11.skyBlock == var1 && var11.getLightUpdated(var2, var3, var4, var5, var6, var7)) { - return; - } - } - - this.lightingToUpdate.add(new MetadataChunkBlock(var1, var2, var3, var4, var5, var6, var7)); - if(this.lightingToUpdate.size() > 100000) { - while(this.lightingToUpdate.size() > '\uc350') { - this.updatingLighting(); - } - } - - } - - public void calculateInitialSkylight() { - int var1 = this.calculateSkylightSubtracted(1.0F); - if(var1 != this.skylightSubtracted) { - this.skylightSubtracted = var1; - } - - } - - public void tick() { - this.chunkProvider.unload100OldestChunks(); - if(!this.loadedEntityList.contains(this.playerEntity) && this.playerEntity != null) { - System.out.println("DOHASDOSHIH!"); - this.spawnEntityInWorld(this.playerEntity); - } - - int var1 = this.calculateSkylightSubtracted(1.0F); - int var2; - if(var1 != this.skylightSubtracted) { - this.skylightSubtracted = var1; - - for(var2 = 0; var2 < this.worldAccesses.size(); ++var2) { - ((IWorldAccess)this.worldAccesses.get(var2)).updateAllRenderers(); - } - } - - ++this.worldTime; - if(this.worldTime % 20L == 0L) { - this.saveWorld(false, (IProgressUpdate)null); - } - - this.tickUpdates(false); - var2 = MathHelper.floor_double(this.playerEntity.posX); - int var3 = MathHelper.floor_double(this.playerEntity.posZ); - byte var4 = 64; - ChunkCache var5 = new ChunkCache(this, var2 - var4, 0, var3 - var4, var2 + var4, 128, var3 + var4); - - for(int var6 = 0; var6 < 8000; ++var6) { - this.updateLCG = this.updateLCG * 3 + this.DIST_HASH_MAGIC; - int var7 = this.updateLCG >> 2; - int var8 = (var7 & 127) - 64 + var2; - int var9 = (var7 >> 8 & 127) - 64 + var3; - int var10 = var7 >> 16 & 127; - int var11 = var5.getBlockId(var8, var10, var9); - if(Block.tickOnLoad[var11]) { - Block.blocksList[var11].updateTick(this, var8, var10, var9, this.rand); - } - } - - } - - public boolean tickUpdates(boolean var1) { - int var2 = this.scheduledTickTreeSet.size(); - if(var2 != this.scheduledTickSet.size()) { - throw new IllegalStateException("TickNextTick list out of synch"); - } else { - if(var2 > 500) { - var2 = 500; - } - - for(int var3 = 0; var3 < var2; ++var3) { - NextTickListEntry var4 = (NextTickListEntry)this.scheduledTickTreeSet.first(); - if(!var1 && var4.scheduledTime > this.worldTime) { - break; - } - - this.scheduledTickTreeSet.remove(var4); - this.scheduledTickSet.remove(var4); - byte var5 = 8; - if(this.checkChunksExist(var4.xCoord - var5, var4.yCoord - var5, var4.zCoord - var5, var4.xCoord + var5, var4.yCoord + var5, var4.zCoord + var5)) { - int var6 = this.getBlockId(var4.xCoord, var4.yCoord, var4.zCoord); - if(var6 == var4.blockID && var6 > 0) { - Block.blocksList[var6].updateTick(this, var4.xCoord, var4.yCoord, var4.zCoord, this.rand); - } - } - } - - return this.scheduledTickTreeSet.size() != 0; - } - } - - public void randomDisplayUpdates(int var1, int var2, int var3) { - byte var4 = 16; - Random var5 = new Random(); - - for(int var6 = 0; var6 < 1000; ++var6) { - int var7 = var1 + this.rand.nextInt(var4) - this.rand.nextInt(var4); - int var8 = var2 + this.rand.nextInt(var4) - this.rand.nextInt(var4); - int var9 = var3 + this.rand.nextInt(var4) - this.rand.nextInt(var4); - int var10 = this.getBlockId(var7, var8, var9); - if(var10 > 0) { - Block.blocksList[var10].randomDisplayTick(this, var7, var8, var9, var5); - } - } - - } - - public List getEntitiesWithinAABBExcludingEntity(Entity var1, AxisAlignedBB var2) { - this.entitiesWithinAABBExcludingEntity.clear(); - int var3 = MathHelper.floor_double((var2.minX - 2.0D) / 16.0D); - int var4 = MathHelper.floor_double((var2.maxX + 2.0D) / 16.0D); - int var5 = MathHelper.floor_double((var2.minZ - 2.0D) / 16.0D); - int var6 = MathHelper.floor_double((var2.maxZ + 2.0D) / 16.0D); - - for(int var7 = var3; var7 <= var4; ++var7) { - for(int var8 = var5; var8 <= var6; ++var8) { - if(this.chunkExists(var7, var8)) { - this.getChunkFromChunkCoords(var7, var8).getEntitiesWithinAABBForEntity(var1, var2, this.entitiesWithinAABBExcludingEntity); - } - } - } - - return this.entitiesWithinAABBExcludingEntity; - } - - public List getEntitiesWithinAABB(Class var1, AxisAlignedBB var2) { - int var3 = MathHelper.floor_double((var2.minX - 2.0D) / 16.0D); - int var4 = MathHelper.floor_double((var2.maxX + 2.0D) / 16.0D); - int var5 = MathHelper.floor_double((var2.minZ - 2.0D) / 16.0D); - int var6 = MathHelper.floor_double((var2.maxZ + 2.0D) / 16.0D); - ArrayList var7 = new ArrayList(); - - for(int var8 = var3; var8 <= var4; ++var8) { - for(int var9 = var5; var9 <= var6; ++var9) { - if(this.chunkExists(var8, var9)) { - this.getChunkFromChunkCoords(var8, var9).getEntitiesOfTypeWithinAAAB(var1, var2, var7); - } - } - } - - return var7; - } - - public List getLoadedEntityList() { - return this.loadedEntityList; - } - - public void updateTileEntityChunkAndDoNothing(int var1, int var2, int var3) { - if(this.blockExists(var1, var2, var3)) { - this.getChunkFromBlockCoords(var1, var3).setChunkModified(); - } - - } - - public int countEntities(Class var1) { - int var2 = 0; - - for(int var3 = 0; var3 < this.loadedEntityList.size(); ++var3) { - Entity var4 = (Entity)this.loadedEntityList.get(var3); - if(var1.isAssignableFrom(var4.getClass())) { - ++var2; - } - } - - return var2; - } - - public void addLoadedEntities(List var1) { - this.loadedEntityList.addAll(var1); - - for(int var2 = 0; var2 < this.worldAccesses.size(); ++var2) { - IWorldAccess var3 = (IWorldAccess)this.worldAccesses.get(var2); - - for(int var4 = 0; var4 < var1.size(); ++var4) { - var3.obtainEntitySkin((Entity)var1.get(var4)); - } - } - - } - - public void unloadEntities(List var1) { - this.unloadedEntityList.addAll(var1); - } - - public void dropOldChunks() { - while(this.chunkProvider.unload100OldestChunks()) { - } - - } - - public boolean canBlockBePlacedAt(int var1, int var2, int var3, int var4, boolean var5) { - int var6 = this.getBlockId(var2, var3, var4); - Block var7 = Block.blocksList[var6]; - Block var8 = Block.blocksList[var1]; - AxisAlignedBB var9 = var8.getCollisionBoundingBoxFromPool(this, var2, var3, var4); - if(var5) { - var9 = null; - } - - return (var1 > 0 && var7 == null || var7 == Block.waterMoving || var7 == Block.waterStill || var7 == Block.lavaMoving || var7 == Block.lavaStill || var7 == Block.fire) && (var9 == null || this.checkIfAABBIsClear(var9)) && var8.canPlaceBlockAt(this, var2, var3, var4); - } - - public PathEntity getPathToEntity(Entity var1, Entity var2, float var3) { - int var4 = MathHelper.floor_double(var1.posX); - int var5 = MathHelper.floor_double(var1.posY); - int var6 = MathHelper.floor_double(var1.posZ); - int var7 = (int)(var3 + 32.0F); - int var8 = var4 - var7; - int var9 = var5 - var7; - int var10 = var6 - var7; - int var11 = var4 + var7; - int var12 = var5 + var7; - int var13 = var6 + var7; - ChunkCache var14 = new ChunkCache(this, var8, var9, var10, var11, var12, var13); - return (new Pathfinder(var14)).createEntityPathTo(var1, var2, var3); - } - - public PathEntity getEntityPathToXYZ(Entity var1, int var2, int var3, int var4, float var5) { - int var6 = MathHelper.floor_double(var1.posX); - int var7 = MathHelper.floor_double(var1.posY); - int var8 = MathHelper.floor_double(var1.posZ); - int var9 = (int)(var5 + 32.0F); - int var10 = var6 - var9; - int var11 = var7 - var9; - int var12 = var8 - var9; - int var13 = var6 + var9; - int var14 = var7 + var9; - int var15 = var8 + var9; - ChunkCache var16 = new ChunkCache(this, var10, var11, var12, var13, var14, var15); - return (new Pathfinder(var16)).createEntityPathTo(var1, var2, var3, var4, var5); - } - - static { - float var0 = 0.05F; - - for(int var1 = 0; var1 <= 15; ++var1) { - float var2 = 1.0F - (float)var1 / 15.0F; - lightBrightnessTable[var1] = (1.0F - var2) / (var2 * 3.0F + 1.0F) * (1.0F - var0) + var0; - } - - } -} diff --git a/src/main/java/net/minecraft/src/WorldGenDungeons.java b/src/main/java/net/minecraft/src/WorldGenDungeons.java deleted file mode 100644 index 64d59f0..0000000 --- a/src/main/java/net/minecraft/src/WorldGenDungeons.java +++ /dev/null @@ -1,116 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class WorldGenDungeons extends WorldGenerator { - public boolean generate(World var1, Random var2, int var3, int var4, int var5) { - byte var6 = 3; - int var7 = var2.nextInt(2) + 2; - int var8 = var2.nextInt(2) + 2; - int var9 = 0; - - int var10; - int var11; - int var12; - for(var10 = var3 - var7 - 1; var10 <= var3 + var7 + 1; ++var10) { - for(var11 = var4 - 1; var11 <= var4 + var6 + 1; ++var11) { - for(var12 = var5 - var8 - 1; var12 <= var5 + var8 + 1; ++var12) { - Material var13 = var1.getBlockMaterial(var10, var11, var12); - if(var11 == var4 - 1 && !var13.isSolid()) { - return false; - } - - if(var11 == var4 + var6 + 1 && !var13.isSolid()) { - return false; - } - - if((var10 == var3 - var7 - 1 || var10 == var3 + var7 + 1 || var12 == var5 - var8 - 1 || var12 == var5 + var8 + 1) && var11 == var4 && var1.getBlockId(var10, var11, var12) == 0 && var1.getBlockId(var10, var11 + 1, var12) == 0) { - ++var9; - } - } - } - } - - if(var9 >= 1 && var9 <= 5) { - for(var10 = var3 - var7 - 1; var10 <= var3 + var7 + 1; ++var10) { - for(var11 = var4 + var6; var11 >= var4 - 1; --var11) { - for(var12 = var5 - var8 - 1; var12 <= var5 + var8 + 1; ++var12) { - if(var10 != var3 - var7 - 1 && var11 != var4 - 1 && var12 != var5 - var8 - 1 && var10 != var3 + var7 + 1 && var11 != var4 + var6 + 1 && var12 != var5 + var8 + 1) { - var1.setBlockWithNotify(var10, var11, var12, 0); - } else if(var11 >= 0 && !var1.getBlockMaterial(var10, var11 - 1, var12).isSolid()) { - var1.setBlockWithNotify(var10, var11, var12, 0); - } else if(var1.getBlockMaterial(var10, var11, var12).isSolid()) { - if(var11 == var4 - 1 && var2.nextInt(4) != 0) { - var1.setBlockWithNotify(var10, var11, var12, Block.cobblestoneMossy.blockID); - } else { - var1.setBlockWithNotify(var10, var11, var12, Block.cobblestone.blockID); - } - } - } - } - } - - label110: - for(var10 = 0; var10 < 2; ++var10) { - for(var11 = 0; var11 < 3; ++var11) { - var12 = var3 + var2.nextInt(var7 * 2 + 1) - var7; - int var14 = var5 + var2.nextInt(var8 * 2 + 1) - var8; - if(var1.getBlockId(var12, var4, var14) == 0) { - int var15 = 0; - if(var1.getBlockMaterial(var12 - 1, var4, var14).isSolid()) { - ++var15; - } - - if(var1.getBlockMaterial(var12 + 1, var4, var14).isSolid()) { - ++var15; - } - - if(var1.getBlockMaterial(var12, var4, var14 - 1).isSolid()) { - ++var15; - } - - if(var1.getBlockMaterial(var12, var4, var14 + 1).isSolid()) { - ++var15; - } - - if(var15 == 1) { - var1.setBlockWithNotify(var12, var4, var14, Block.chest.blockID); - TileEntityChest var16 = (TileEntityChest)var1.getBlockTileEntity(var12, var4, var14); - int var17 = 0; - - while(true) { - if(var17 >= 8) { - continue label110; - } - - ItemStack var18 = this.pickCheckLootItem(var2); - if(var18 != null) { - var16.setInventorySlotContents(var2.nextInt(var16.getSizeInventory()), var18); - } - - ++var17; - } - } - } - } - } - - var1.setBlockWithNotify(var3, var4, var5, Block.mobSpawner.blockID); - TileEntityMobSpawner var19 = (TileEntityMobSpawner)var1.getBlockTileEntity(var3, var4, var5); - var19.mobID = this.pickMobSpawner(var2); - return true; - } else { - return false; - } - } - - private ItemStack pickCheckLootItem(Random var1) { - int var2 = var1.nextInt(10); - return var2 == 0 ? new ItemStack(Item.saddle) : (var2 == 1 ? new ItemStack(Item.ingotIron, var1.nextInt(4) + 1) : (var2 == 2 ? new ItemStack(Item.bread) : (var2 == 3 ? new ItemStack(Item.wheat, var1.nextInt(4) + 1) : (var2 == 4 ? new ItemStack(Item.gunpowder, var1.nextInt(4) + 1) : (var2 == 5 ? new ItemStack(Item.silk, var1.nextInt(4) + 1) : (var2 == 6 ? new ItemStack(Item.bucketEmpty) : (var2 == 7 && var1.nextInt(100) == 0 ? new ItemStack(Item.appleGold) : null))))))); - } - - private String pickMobSpawner(Random var1) { - int var2 = var1.nextInt(4); - return var2 == 0 ? "Skeleton" : (var2 == 1 ? "Zombie" : (var2 == 2 ? "Zombie" : (var2 == 3 ? "Spider" : ""))); - } -} diff --git a/src/main/java/net/minecraft/src/WorldGenFlowers.java b/src/main/java/net/minecraft/src/WorldGenFlowers.java deleted file mode 100644 index f01a0f1..0000000 --- a/src/main/java/net/minecraft/src/WorldGenFlowers.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class WorldGenFlowers extends WorldGenerator { - private int plantBlockId; - - public WorldGenFlowers(int var1) { - this.plantBlockId = var1; - } - - public boolean generate(World var1, Random var2, int var3, int var4, int var5) { - for(int var6 = 0; var6 < 64; ++var6) { - int var7 = var3 + var2.nextInt(8) - var2.nextInt(8); - int var8 = var4 + var2.nextInt(4) - var2.nextInt(4); - int var9 = var5 + var2.nextInt(8) - var2.nextInt(8); - if(var1.getBlockId(var7, var8, var9) == 0 && ((BlockFlower)Block.blocksList[this.plantBlockId]).canBlockStay(var1, var7, var8, var9)) { - var1.setBlock(var7, var8, var9, this.plantBlockId); - } - } - - return true; - } -} diff --git a/src/main/java/net/minecraft/src/WorldGenLiquids.java b/src/main/java/net/minecraft/src/WorldGenLiquids.java deleted file mode 100644 index 7fbf0cb..0000000 --- a/src/main/java/net/minecraft/src/WorldGenLiquids.java +++ /dev/null @@ -1,61 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class WorldGenLiquids extends WorldGenerator { - private int liquidBlockId; - - public WorldGenLiquids(int var1) { - this.liquidBlockId = var1; - } - - public boolean generate(World var1, Random var2, int var3, int var4, int var5) { - if(var1.getBlockId(var3, var4 + 1, var5) != Block.stone.blockID) { - return false; - } else if(var1.getBlockId(var3, var4 - 1, var5) != Block.stone.blockID) { - return false; - } else if(var1.getBlockId(var3, var4, var5) != 0 && var1.getBlockId(var3, var4, var5) != Block.stone.blockID) { - return false; - } else { - int var6 = 0; - if(var1.getBlockId(var3 - 1, var4, var5) == Block.stone.blockID) { - ++var6; - } - - if(var1.getBlockId(var3 + 1, var4, var5) == Block.stone.blockID) { - ++var6; - } - - if(var1.getBlockId(var3, var4, var5 - 1) == Block.stone.blockID) { - ++var6; - } - - if(var1.getBlockId(var3, var4, var5 + 1) == Block.stone.blockID) { - ++var6; - } - - int var7 = 0; - if(var1.getBlockId(var3 - 1, var4, var5) == 0) { - ++var7; - } - - if(var1.getBlockId(var3 + 1, var4, var5) == 0) { - ++var7; - } - - if(var1.getBlockId(var3, var4, var5 - 1) == 0) { - ++var7; - } - - if(var1.getBlockId(var3, var4, var5 + 1) == 0) { - ++var7; - } - - if(var6 == 3 && var7 == 1) { - var1.setBlockWithNotify(var3, var4, var5, this.liquidBlockId); - } - - return true; - } - } -} diff --git a/src/main/java/net/minecraft/src/WorldGenMinable.java b/src/main/java/net/minecraft/src/WorldGenMinable.java deleted file mode 100644 index 652dd5a..0000000 --- a/src/main/java/net/minecraft/src/WorldGenMinable.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class WorldGenMinable extends WorldGenerator { - private int minableBlockId; - private int numberOfBlocks; - - public WorldGenMinable(int var1, int var2) { - this.minableBlockId = var1; - this.numberOfBlocks = var2; - } - - public boolean generate(World var1, Random var2, int var3, int var4, int var5) { - float var6 = var2.nextFloat() * (float)Math.PI; - double var7 = (double)((float)(var3 + 8) + MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F); - double var9 = (double)((float)(var3 + 8) - MathHelper.sin(var6) * (float)this.numberOfBlocks / 8.0F); - double var11 = (double)((float)(var5 + 8) + MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F); - double var13 = (double)((float)(var5 + 8) - MathHelper.cos(var6) * (float)this.numberOfBlocks / 8.0F); - double var15 = (double)(var4 + var2.nextInt(3) + 2); - double var17 = (double)(var4 + var2.nextInt(3) + 2); - - for(int var19 = 0; var19 <= this.numberOfBlocks; ++var19) { - double var20 = var7 + (var9 - var7) * (double)var19 / (double)this.numberOfBlocks; - double var22 = var15 + (var17 - var15) * (double)var19 / (double)this.numberOfBlocks; - double var24 = var11 + (var13 - var11) * (double)var19 / (double)this.numberOfBlocks; - double var26 = var2.nextDouble() * (double)this.numberOfBlocks / 16.0D; - double var28 = (double)(MathHelper.sin((float)var19 * (float)Math.PI / (float)this.numberOfBlocks) + 1.0F) * var26 + 1.0D; - double var30 = (double)(MathHelper.sin((float)var19 * (float)Math.PI / (float)this.numberOfBlocks) + 1.0F) * var26 + 1.0D; - - for(int var32 = (int)(var20 - var28 / 2.0D); var32 <= (int)(var20 + var28 / 2.0D); ++var32) { - for(int var33 = (int)(var22 - var30 / 2.0D); var33 <= (int)(var22 + var30 / 2.0D); ++var33) { - for(int var34 = (int)(var24 - var28 / 2.0D); var34 <= (int)(var24 + var28 / 2.0D); ++var34) { - double var35 = ((double)var32 + 0.5D - var20) / (var28 / 2.0D); - double var37 = ((double)var33 + 0.5D - var22) / (var30 / 2.0D); - double var39 = ((double)var34 + 0.5D - var24) / (var28 / 2.0D); - if(var35 * var35 + var37 * var37 + var39 * var39 < 1.0D && var1.getBlockId(var32, var33, var34) == Block.stone.blockID) { - var1.setBlock(var32, var33, var34, this.minableBlockId); - } - } - } - } - } - - return true; - } -} diff --git a/src/main/java/net/minecraft/src/WorldGenTrees.java b/src/main/java/net/minecraft/src/WorldGenTrees.java deleted file mode 100644 index 631e379..0000000 --- a/src/main/java/net/minecraft/src/WorldGenTrees.java +++ /dev/null @@ -1,78 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public class WorldGenTrees extends WorldGenerator { - public boolean generate(World var1, Random var2, int var3, int var4, int var5) { - int var6 = var2.nextInt(3) + 4; - boolean var7 = true; - if(var4 >= 1 && var4 + var6 + 1 <= 128) { - int var8; - int var10; - int var11; - int var12; - for(var8 = var4; var8 <= var4 + 1 + var6; ++var8) { - byte var9 = 1; - if(var8 == var4) { - var9 = 0; - } - - if(var8 >= var4 + 1 + var6 - 2) { - var9 = 2; - } - - for(var10 = var3 - var9; var10 <= var3 + var9 && var7; ++var10) { - for(var11 = var5 - var9; var11 <= var5 + var9 && var7; ++var11) { - if(var8 >= 0 && var8 < 128) { - var12 = var1.getBlockId(var10, var8, var11); - if(var12 != 0 && var12 != Block.leaves.blockID) { - var7 = false; - } - } else { - var7 = false; - } - } - } - } - - if(!var7) { - return false; - } else { - var8 = var1.getBlockId(var3, var4 - 1, var5); - if((var8 == Block.grass.blockID || var8 == Block.dirt.blockID) && var4 < 128 - var6 - 1) { - var1.setBlock(var3, var4 - 1, var5, Block.dirt.blockID); - - int var16; - for(var16 = var4 - 3 + var6; var16 <= var4 + var6; ++var16) { - var10 = var16 - (var4 + var6); - var11 = 1 - var10 / 2; - - for(var12 = var3 - var11; var12 <= var3 + var11; ++var12) { - int var13 = var12 - var3; - - for(int var14 = var5 - var11; var14 <= var5 + var11; ++var14) { - int var15 = var14 - var5; - if((Math.abs(var13) != var11 || Math.abs(var15) != var11 || var2.nextInt(2) != 0 && var10 != 0) && !Block.opaqueCubeLookup[var1.getBlockId(var12, var16, var14)]) { - var1.setBlock(var12, var16, var14, Block.leaves.blockID); - } - } - } - } - - for(var16 = 0; var16 < var6; ++var16) { - var10 = var1.getBlockId(var3, var4 + var16, var5); - if(var10 == 0 || var10 == Block.leaves.blockID) { - var1.setBlock(var3, var4 + var16, var5, Block.wood.blockID); - } - } - - return true; - } else { - return false; - } - } - } else { - return false; - } - } -} diff --git a/src/main/java/net/minecraft/src/WorldGenerator.java b/src/main/java/net/minecraft/src/WorldGenerator.java deleted file mode 100644 index 61bcf66..0000000 --- a/src/main/java/net/minecraft/src/WorldGenerator.java +++ /dev/null @@ -1,10 +0,0 @@ -package net.minecraft.src; - -import java.util.Random; - -public abstract class WorldGenerator { - public abstract boolean generate(World var1, Random var2, int var3, int var4, int var5); - - public void setScale(double var1, double var3, double var5) { - } -} diff --git a/src/main/java/net/minecraft/src/WorldRenderer.java b/src/main/java/net/minecraft/src/WorldRenderer.java deleted file mode 100644 index d9ae1a0..0000000 --- a/src/main/java/net/minecraft/src/WorldRenderer.java +++ /dev/null @@ -1,214 +0,0 @@ -package net.minecraft.src; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import org.lwjgl.opengl.GL11; - -public class WorldRenderer { - public World worldObj; - private int glRenderList = -1; - private static Tessellator tessellator = Tessellator.instance; - public static int chunksUpdated = 0; - public int posX; - public int posY; - public int posZ; - public int sizeWidth; - public int sizeHeight; - public int sizeDepth; - public int posXMinus; - public int posYMinus; - public int posZMinus; - public int posXClip; - public int posYClip; - public int posZClip; - public boolean isInFrustum = false; - public boolean[] skipRenderPass = new boolean[2]; - public int posXPlus; - public int posYPlus; - public int posZPlus; - public float rendererRadius; - public boolean needsUpdate; - public AxisAlignedBB rendererBoundingBox; - public int chunkIndex; - public boolean isVisible = true; - public boolean isWaitingOnOcclusionQuery; - public int glOcclusionQuery; - public boolean isChunkLit; - private boolean isInitialized = false; - public List tileEntityRenderers = new ArrayList(); - private List tileEntities; - - public WorldRenderer(World var1, List var2, int var3, int var4, int var5, int var6, int var7) { - this.worldObj = var1; - this.tileEntities = var2; - this.sizeWidth = this.sizeHeight = this.sizeDepth = var6; - this.rendererRadius = MathHelper.sqrt_float((float)(this.sizeWidth * this.sizeWidth + this.sizeHeight * this.sizeHeight + this.sizeDepth * this.sizeDepth)) / 2.0F; - this.glRenderList = var7; - this.posX = -999; - this.setPosition(var3, var4, var5); - this.needsUpdate = false; - } - - public void setPosition(int var1, int var2, int var3) { - if(var1 != this.posX || var2 != this.posY || var3 != this.posZ) { - this.setDontDraw(); - this.posX = var1; - this.posY = var2; - this.posZ = var3; - this.posXPlus = var1 + this.sizeWidth / 2; - this.posYPlus = var2 + this.sizeHeight / 2; - this.posZPlus = var3 + this.sizeDepth / 2; - this.posXClip = var1 & 1023; - this.posYClip = var2; - this.posZClip = var3 & 1023; - this.posXMinus = var1 - this.posXClip; - this.posYMinus = var2 - this.posYClip; - this.posZMinus = var3 - this.posZClip; - float var4 = 2.0F; - this.rendererBoundingBox = AxisAlignedBB.getBoundingBox((double)((float)var1 - var4), (double)((float)var2 - var4), (double)((float)var3 - var4), (double)((float)(var1 + this.sizeWidth) + var4), (double)((float)(var2 + this.sizeHeight) + var4), (double)((float)(var3 + this.sizeDepth) + var4)); - GL11.glNewList(this.glRenderList + 2, GL11.GL_COMPILE); - RenderItem.renderAABB(AxisAlignedBB.getBoundingBoxFromPool((double)((float)this.posXClip - var4), (double)((float)this.posYClip - var4), (double)((float)this.posZClip - var4), (double)((float)(this.posXClip + this.sizeWidth) + var4), (double)((float)(this.posYClip + this.sizeHeight) + var4), (double)((float)(this.posZClip + this.sizeDepth) + var4))); - GL11.glEndList(); - this.markDirty(); - } - } - - private void setupGLTranslation() { - GL11.glTranslatef((float)this.posXClip, (float)this.posYClip, (float)this.posZClip); - } - - public void updateRenderer() { - if(this.needsUpdate) { - ++chunksUpdated; - int var1 = this.posX; - int var2 = this.posY; - int var3 = this.posZ; - int var4 = this.posX + this.sizeWidth; - int var5 = this.posY + this.sizeHeight; - int var6 = this.posZ + this.sizeDepth; - - for(int var7 = 0; var7 < 2; ++var7) { - this.skipRenderPass[var7] = true; - } - - Chunk.isLit = false; - HashSet var21 = new HashSet(); - var21.addAll(this.tileEntityRenderers); - this.tileEntityRenderers.clear(); - byte var8 = 1; - ChunkCache var9 = new ChunkCache(this.worldObj, var1 - var8, var2 - var8, var3 - var8, var4 + var8, var5 + var8, var6 + var8); - RenderBlocks var10 = new RenderBlocks(var9); - - for(int var11 = 0; var11 < 2; ++var11) { - boolean var12 = false; - boolean var13 = false; - boolean var14 = false; - - for(int var15 = var2; var15 < var5; ++var15) { - for(int var16 = var3; var16 < var6; ++var16) { - for(int var17 = var1; var17 < var4; ++var17) { - int var18 = var9.getBlockId(var17, var15, var16); - if(var18 > 0) { - if(!var14) { - var14 = true; - GL11.glNewList(this.glRenderList + var11, GL11.GL_COMPILE); - GL11.glPushMatrix(); - this.setupGLTranslation(); - float var19 = 1.000001F; - GL11.glTranslatef((float)(-this.sizeDepth) / 2.0F, (float)(-this.sizeHeight) / 2.0F, (float)(-this.sizeDepth) / 2.0F); - GL11.glScalef(var19, var19, var19); - GL11.glTranslatef((float)this.sizeDepth / 2.0F, (float)this.sizeHeight / 2.0F, (float)this.sizeDepth / 2.0F); - tessellator.startDrawingQuads(); - tessellator.setTranslationD((double)(-this.posX), (double)(-this.posY), (double)(-this.posZ)); - } - - if(var11 == 0 && Block.blocksList[var18] instanceof BlockContainer) { - TileEntity var23 = var9.getBlockTileEntity(var17, var15, var16); - if(TileEntityRenderer.instance.hasSpecialRenderer(var23)) { - this.tileEntityRenderers.add(var23); - } - } - - Block var24 = Block.blocksList[var18]; - int var20 = var24.getRenderBlockPass(); - if(var20 != var11) { - var12 = true; - } else if(var20 == var11) { - var13 |= var10.renderBlockByRenderType(var24, var17, var15, var16); - } - } - } - } - } - - if(var14) { - tessellator.draw(); - GL11.glPopMatrix(); - GL11.glEndList(); - tessellator.setTranslationD(0.0D, 0.0D, 0.0D); - } else { - var13 = false; - } - - if(var13) { - this.skipRenderPass[var11] = false; - } - - if(!var12) { - break; - } - } - - HashSet var22 = new HashSet(); - var22.addAll(this.tileEntityRenderers); - var22.removeAll(var21); - this.tileEntities.addAll(var22); - var21.removeAll(this.tileEntityRenderers); - this.tileEntities.removeAll(var21); - this.isChunkLit = Chunk.isLit; - this.isInitialized = true; - } - } - - public float distanceToEntitySquared(Entity var1) { - float var2 = (float)(var1.posX - (double)this.posXPlus); - float var3 = (float)(var1.posY - (double)this.posYPlus); - float var4 = (float)(var1.posZ - (double)this.posZPlus); - return var2 * var2 + var3 * var3 + var4 * var4; - } - - public void setDontDraw() { - for(int var1 = 0; var1 < 2; ++var1) { - this.skipRenderPass[var1] = true; - } - - this.isInFrustum = false; - this.isInitialized = false; - } - - public void stopRendering() { - this.setDontDraw(); - this.worldObj = null; - } - - public int getGLCallListForPass(int var1) { - return !this.isInFrustum ? -1 : (!this.skipRenderPass[var1] ? this.glRenderList + var1 : -1); - } - - public void updateInFrustrum(ICamera var1) { - this.isInFrustum = var1.isBoundingBoxInFrustum(this.rendererBoundingBox); - } - - public void callOcclusionQueryList() { - GL11.glCallList(this.glRenderList + 2); - } - - public boolean skipAllRenderPasses() { - return !this.isInitialized ? false : this.skipRenderPass[0] && this.skipRenderPass[1]; - } - - public void markDirty() { - this.needsUpdate = true; - } -}