Reformat code

This commit is contained in:
Dereku 2026-01-30 02:26:17 +07:00
parent ee3d133a31
commit 3b140b91c9
432 changed files with 33958 additions and 34058 deletions

View file

@ -7,59 +7,59 @@ import net.minecraft.statistics.StatBase;
import net.minecraft.statistics.StatCollector; import net.minecraft.statistics.StatCollector;
public class Achievement extends StatBase<Achievement> { public class Achievement extends StatBase<Achievement> {
public final int field_25067_a; public final int field_25067_a;
public final int field_27991_b; public final int field_27991_b;
public final Achievement field_27992_c; public final Achievement field_27992_c;
private final String field_27063_l; private final String field_27063_l;
public final ItemStack theItemStack; public final ItemStack theItemStack;
private boolean field_27062_m; private boolean field_27062_m;
public Achievement(int var1, String var2, int var3, int var4, Item var5, Achievement var6) { public Achievement(int var1, String var2, int var3, int var4, Item var5, Achievement var6) {
this(var1, var2, var3, var4, new ItemStack(var5), var6); this(var1, var2, var3, var4, new ItemStack(var5), var6);
} }
public Achievement(int var1, String var2, int var3, int var4, Block var5, Achievement var6) { public Achievement(int var1, String var2, int var3, int var4, Block var5, Achievement var6) {
this(var1, var2, var3, var4, new ItemStack(var5), var6); this(var1, var2, var3, var4, new ItemStack(var5), var6);
} }
public Achievement(int var1, String var2, int var3, int var4, ItemStack var5, Achievement var6) { public Achievement(int var1, String var2, int var3, int var4, ItemStack var5, Achievement var6) {
super(5242880 + var1, StatCollector.translateToLocal("achievement." + var2)); super(5242880 + var1, StatCollector.translateToLocal("achievement." + var2));
this.theItemStack = var5; this.theItemStack = var5;
this.field_27063_l = StatCollector.translateToLocal("achievement." + var2 + ".desc"); this.field_27063_l = StatCollector.translateToLocal("achievement." + var2 + ".desc");
this.field_25067_a = var3; this.field_25067_a = var3;
this.field_27991_b = var4; this.field_27991_b = var4;
if(var3 < AchievementList.field_27114_a) { if (var3 < AchievementList.field_27114_a) {
AchievementList.field_27114_a = var3; AchievementList.field_27114_a = var3;
} }
if(var4 < AchievementList.field_27113_b) { if (var4 < AchievementList.field_27113_b) {
AchievementList.field_27113_b = var4; AchievementList.field_27113_b = var4;
} }
if(var3 > AchievementList.field_27112_c) { if (var3 > AchievementList.field_27112_c) {
AchievementList.field_27112_c = var3; AchievementList.field_27112_c = var3;
} }
if(var4 > AchievementList.field_27111_d) { if (var4 > AchievementList.field_27111_d) {
AchievementList.field_27111_d = var4; AchievementList.field_27111_d = var4;
} }
this.field_27992_c = var6; this.field_27992_c = var6;
} }
public Achievement func_27052_e() { public Achievement func_27052_e() {
this.field_27058_g = true; this.field_27058_g = true;
return this; return this;
} }
public Achievement func_27060_b() { public Achievement func_27060_b() {
this.field_27062_m = true; this.field_27062_m = true;
return this; return this;
} }
public Achievement func_27053_d() { public Achievement func_27053_d() {
super.func_27053_d(); super.func_27053_d();
AchievementList.field_25129_a.add(this); AchievementList.field_25129_a.add(this);
return this; return this;
} }
} }

View file

@ -1,37 +1,38 @@
package net.minecraft.achievement; package net.minecraft.achievement;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import java.util.ArrayList;
import java.util.List;
public class AchievementList { public class AchievementList {
public static int field_27114_a; public static int field_27114_a;
public static int field_27113_b; public static int field_27113_b;
public static int field_27112_c; public static int field_27112_c;
public static int field_27111_d; public static int field_27111_d;
public static List field_25129_a = new ArrayList(); public static List field_25129_a = new ArrayList();
public static Achievement field_25128_b = (new Achievement(0, "openInventory", 0, 0, Item.book, (Achievement)null)).func_27052_e().func_27053_d(); public static Achievement field_25128_b = (new Achievement(0, "openInventory", 0, 0, Item.book, (Achievement) null)).func_27052_e().func_27053_d();
public static Achievement field_25131_c = (new Achievement(1, "mineWood", 2, 1, Block.wood, field_25128_b)).func_27053_d(); public static Achievement field_25131_c = (new Achievement(1, "mineWood", 2, 1, Block.wood, field_25128_b)).func_27053_d();
public static Achievement field_25130_d = (new Achievement(2, "buildWorkBench", 4, -1, Block.workbench, field_25131_c)).func_27053_d(); public static Achievement field_25130_d = (new Achievement(2, "buildWorkBench", 4, -1, Block.workbench, field_25131_c)).func_27053_d();
public static Achievement field_27110_i = (new Achievement(3, "buildPickaxe", 4, 2, Item.pickaxeWood, field_25130_d)).func_27053_d(); public static Achievement field_27110_i = (new Achievement(3, "buildPickaxe", 4, 2, Item.pickaxeWood, field_25130_d)).func_27053_d();
public static Achievement field_27109_j = (new Achievement(4, "buildFurnace", 3, 4, Block.stoneOvenActive, field_27110_i)).func_27053_d(); public static Achievement field_27109_j = (new Achievement(4, "buildFurnace", 3, 4, Block.stoneOvenActive, field_27110_i)).func_27053_d();
public static Achievement field_27108_k = (new Achievement(5, "acquireIron", 1, 4, Item.ingotIron, field_27109_j)).func_27053_d(); public static Achievement field_27108_k = (new Achievement(5, "acquireIron", 1, 4, Item.ingotIron, field_27109_j)).func_27053_d();
public static Achievement field_27107_l = (new Achievement(6, "buildHoe", 2, -3, Item.hoeWood, field_25130_d)).func_27053_d(); public static Achievement field_27107_l = (new Achievement(6, "buildHoe", 2, -3, Item.hoeWood, field_25130_d)).func_27053_d();
public static Achievement field_27106_m = (new Achievement(7, "makeBread", -1, -3, Item.bread, field_27107_l)).func_27053_d(); public static Achievement field_27106_m = (new Achievement(7, "makeBread", -1, -3, Item.bread, field_27107_l)).func_27053_d();
public static Achievement field_27105_n = (new Achievement(8, "bakeCake", 0, -5, Item.cake, field_27107_l)).func_27053_d(); public static Achievement field_27105_n = (new Achievement(8, "bakeCake", 0, -5, Item.cake, field_27107_l)).func_27053_d();
public static Achievement field_27104_o = (new Achievement(9, "buildBetterPickaxe", 6, 2, Item.pickaxeStone, field_27110_i)).func_27053_d(); public static Achievement field_27104_o = (new Achievement(9, "buildBetterPickaxe", 6, 2, Item.pickaxeStone, field_27110_i)).func_27053_d();
public static Achievement field_27103_p = (new Achievement(10, "cookFish", 2, 6, Item.fishCooked, field_27109_j)).func_27053_d(); public static Achievement field_27103_p = (new Achievement(10, "cookFish", 2, 6, Item.fishCooked, field_27109_j)).func_27053_d();
public static Achievement field_27102_q = (new Achievement(11, "onARail", 2, 3, Block.minecartTrack, field_27108_k)).func_27060_b().func_27053_d(); public static Achievement field_27102_q = (new Achievement(11, "onARail", 2, 3, Block.minecartTrack, field_27108_k)).func_27060_b().func_27053_d();
public static Achievement field_27101_r = (new Achievement(12, "buildSword", 6, -1, Item.swordWood, field_25130_d)).func_27053_d(); public static Achievement field_27101_r = (new Achievement(12, "buildSword", 6, -1, Item.swordWood, field_25130_d)).func_27053_d();
public static Achievement field_27100_s = (new Achievement(13, "killEnemy", 8, -1, Item.bone, field_27101_r)).func_27053_d(); public static Achievement field_27100_s = (new Achievement(13, "killEnemy", 8, -1, Item.bone, field_27101_r)).func_27053_d();
public static Achievement field_27099_t = (new Achievement(14, "killCow", 7, -3, Item.leather, field_27101_r)).func_27053_d(); public static Achievement field_27099_t = (new Achievement(14, "killCow", 7, -3, Item.leather, field_27101_r)).func_27053_d();
public static Achievement field_27098_u = (new Achievement(15, "flyPig", 8, -4, Item.saddle, field_27099_t)).func_27060_b().func_27053_d(); public static Achievement field_27098_u = (new Achievement(15, "flyPig", 8, -4, Item.saddle, field_27099_t)).func_27060_b().func_27053_d();
public static void func_27097_a() { public static void func_27097_a() {
} }
static { static {
System.out.println(field_25129_a.size() + " achievements"); System.out.println(field_25129_a.size() + " achievements");
} }
} }

View file

@ -6,31 +6,31 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
public class AchievementMap { public class AchievementMap {
public static AchievementMap field_25134_a = new AchievementMap(); public static AchievementMap field_25134_a = new AchievementMap();
private Map field_25133_b = new HashMap(); private Map field_25133_b = new HashMap();
private AchievementMap() { private AchievementMap() {
try { try {
BufferedReader var1 = new BufferedReader(new InputStreamReader(AchievementMap.class.getResourceAsStream("/achievement/map.txt"))); BufferedReader var1 = new BufferedReader(new InputStreamReader(AchievementMap.class.getResourceAsStream("/achievement/map.txt")));
while(true) { while (true) {
String var2 = var1.readLine(); String var2 = var1.readLine();
if(var2 == null) { if (var2 == null) {
var1.close(); var1.close();
break; break;
} }
String[] var3 = var2.split(","); String[] var3 = var2.split(",");
int var4 = Integer.parseInt(var3[0]); int var4 = Integer.parseInt(var3[0]);
this.field_25133_b.put(Integer.valueOf(var4), var3[1]); this.field_25133_b.put(Integer.valueOf(var4), var3[1]);
} }
} catch (Exception var5) { } catch (Exception var5) {
var5.printStackTrace(); var5.printStackTrace();
} }
} }
public static String func_25132_a(int var0) { public static String func_25132_a(int var0) {
return (String)field_25134_a.field_25133_b.get(Integer.valueOf(var0)); return (String) field_25134_a.field_25133_b.get(Integer.valueOf(var0));
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Iterator;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
@ -12,188 +10,191 @@ import net.minecraft.world.EnumBedResult;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Iterator;
import java.util.Random;
public class BlockBed extends Block { public class BlockBed extends Block {
public static final int[][] field_22023_a = new int[][]{{0, 1}, {-1, 0}, {0, -1}, {1, 0}}; public static final int[][] field_22023_a = new int[][]{{0, 1}, {-1, 0}, {0, -1}, {1, 0}};
public BlockBed(int var1) { public BlockBed(int var1) {
super(var1, 134, Material.cloth); super(var1, 134, Material.cloth);
this.setBounds(); this.setBounds();
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if(!func_22020_d(var6)) { if (!func_22020_d(var6)) {
int var7 = func_22019_c(var6); int var7 = func_22019_c(var6);
var2 += field_22023_a[var7][0]; var2 += field_22023_a[var7][0];
var4 += field_22023_a[var7][1]; var4 += field_22023_a[var7][1];
if(var1.getBlockId(var2, var3, var4) != this.blockID) { if (var1.getBlockId(var2, var3, var4) != this.blockID) {
return true; return true;
} }
var6 = var1.getBlockMetadata(var2, var3, var4); var6 = var1.getBlockMetadata(var2, var3, var4);
} }
if(!var1.worldProvider.func_28108_d()) { if (!var1.worldProvider.func_28108_d()) {
double var16 = (double)var2 + 0.5D; double var16 = (double) var2 + 0.5D;
double var17 = (double)var3 + 0.5D; double var17 = (double) var3 + 0.5D;
double var11 = (double)var4 + 0.5D; double var11 = (double) var4 + 0.5D;
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
int var13 = func_22019_c(var6); int var13 = func_22019_c(var6);
var2 += field_22023_a[var13][0]; var2 += field_22023_a[var13][0];
var4 += field_22023_a[var13][1]; var4 += field_22023_a[var13][1];
if(var1.getBlockId(var2, var3, var4) == this.blockID) { if (var1.getBlockId(var2, var3, var4) == this.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
var16 = (var16 + (double)var2 + 0.5D) / 2.0D; var16 = (var16 + (double) var2 + 0.5D) / 2.0D;
var17 = (var17 + (double)var3 + 0.5D) / 2.0D; var17 = (var17 + (double) var3 + 0.5D) / 2.0D;
var11 = (var11 + (double)var4 + 0.5D) / 2.0D; var11 = (var11 + (double) var4 + 0.5D) / 2.0D;
} }
var1.newExplosion((Entity)null, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), 5.0F, true); var1.newExplosion((Entity) null, (double) ((float) var2 + 0.5F), (double) ((float) var3 + 0.5F), (double) ((float) var4 + 0.5F), 5.0F, true);
return true; return true;
} else { } else {
if(func_22018_f(var6)) { if (func_22018_f(var6)) {
EntityPlayer var14 = null; EntityPlayer var14 = null;
Iterator var8 = var1.playerEntities.iterator(); Iterator var8 = var1.playerEntities.iterator();
while(var8.hasNext()) { while (var8.hasNext()) {
EntityPlayer var9 = (EntityPlayer)var8.next(); EntityPlayer var9 = (EntityPlayer) var8.next();
if(var9.func_22057_E()) { if (var9.func_22057_E()) {
ChunkCoordinates var10 = var9.playerLocation; ChunkCoordinates var10 = var9.playerLocation;
if(var10.posX == var2 && var10.posY == var3 && var10.posZ == var4) { if (var10.posX == var2 && var10.posY == var3 && var10.posZ == var4) {
var14 = var9; var14 = var9;
} }
} }
} }
if(var14 != null) { if (var14 != null) {
var5.func_22061_a("tile.bed.occupied"); var5.func_22061_a("tile.bed.occupied");
return true; return true;
} }
func_22022_a(var1, var2, var3, var4, false); func_22022_a(var1, var2, var3, var4, false);
} }
EnumBedResult var15 = var5.goToSleep(var2, var3, var4); EnumBedResult var15 = var5.goToSleep(var2, var3, var4);
if(var15 == EnumBedResult.OK) { if (var15 == EnumBedResult.OK) {
func_22022_a(var1, var2, var3, var4, true); func_22022_a(var1, var2, var3, var4, true);
return true; return true;
} else { } else {
if(var15 == EnumBedResult.NOT_POSSIBLE_NOW) { if (var15 == EnumBedResult.NOT_POSSIBLE_NOW) {
var5.func_22061_a("tile.bed.noSleep"); var5.func_22061_a("tile.bed.noSleep");
} }
return true; return true;
} }
} }
} }
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
if(var1 == 0) { if (var1 == 0) {
return Block.planks.blockIndexInTexture; return Block.planks.blockIndexInTexture;
} else { } else {
int var3 = func_22019_c(var2); int var3 = func_22019_c(var2);
int var4 = ModelBed.field_22155_c[var3][var1]; int var4 = ModelBed.field_22155_c[var3][var1];
return func_22020_d(var2) ? (var4 == 2 ? this.blockIndexInTexture + 2 + 16 : (var4 != 5 && var4 != 4 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture + 1 + 16)) : (var4 == 3 ? this.blockIndexInTexture - 1 + 16 : (var4 != 5 && var4 != 4 ? this.blockIndexInTexture : this.blockIndexInTexture + 16)); return func_22020_d(var2) ? (var4 == 2 ? this.blockIndexInTexture + 2 + 16 : (var4 != 5 && var4 != 4 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture + 1 + 16)) : (var4 == 3 ? this.blockIndexInTexture - 1 + 16 : (var4 != 5 && var4 != 4 ? this.blockIndexInTexture : this.blockIndexInTexture + 16));
} }
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
this.setBounds(); this.setBounds();
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = func_22019_c(var6); int var7 = func_22019_c(var6);
if(func_22020_d(var6)) { if (func_22020_d(var6)) {
if(var1.getBlockId(var2 - field_22023_a[var7][0], var3, var4 - field_22023_a[var7][1]) != this.blockID) { if (var1.getBlockId(var2 - field_22023_a[var7][0], var3, var4 - field_22023_a[var7][1]) != this.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} else if(var1.getBlockId(var2 + field_22023_a[var7][0], var3, var4 + field_22023_a[var7][1]) != this.blockID) { } else if (var1.getBlockId(var2 + field_22023_a[var7][0], var3, var4 + field_22023_a[var7][1]) != this.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
this.dropBlockAsItem(var1, var2, var3, var4, var6); this.dropBlockAsItem(var1, var2, var3, var4, var6);
} }
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return func_22020_d(var1) ? 0 : Item.bed.shiftedIndex; return func_22020_d(var1) ? 0 : Item.bed.shiftedIndex;
} }
private void setBounds() { private void setBounds() {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 9.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 9.0F / 16.0F, 1.0F);
} }
public static int func_22019_c(int var0) { public static int func_22019_c(int var0) {
return var0 & 3; return var0 & 3;
} }
public static boolean func_22020_d(int var0) { public static boolean func_22020_d(int var0) {
return (var0 & 8) != 0; return (var0 & 8) != 0;
} }
public static boolean func_22018_f(int var0) { public static boolean func_22018_f(int var0) {
return (var0 & 4) != 0; return (var0 & 4) != 0;
} }
public static void func_22022_a(World var0, int var1, int var2, int var3, boolean var4) { public static void func_22022_a(World var0, int var1, int var2, int var3, boolean var4) {
int var5 = var0.getBlockMetadata(var1, var2, var3); int var5 = var0.getBlockMetadata(var1, var2, var3);
if(var4) { if (var4) {
var5 |= 4; var5 |= 4;
} else { } else {
var5 &= -5; var5 &= -5;
} }
var0.setBlockMetadataWithNotify(var1, var2, var3, var5); var0.setBlockMetadataWithNotify(var1, var2, var3, var5);
} }
public static ChunkCoordinates func_22021_g(World var0, int var1, int var2, int var3, int var4) { public static ChunkCoordinates func_22021_g(World var0, int var1, int var2, int var3, int var4) {
int var5 = var0.getBlockMetadata(var1, var2, var3); int var5 = var0.getBlockMetadata(var1, var2, var3);
int var6 = func_22019_c(var5); int var6 = func_22019_c(var5);
for(int var7 = 0; var7 <= 1; ++var7) { for (int var7 = 0; var7 <= 1; ++var7) {
int var8 = var1 - field_22023_a[var6][0] * var7 - 1; int var8 = var1 - field_22023_a[var6][0] * var7 - 1;
int var9 = var3 - field_22023_a[var6][1] * var7 - 1; int var9 = var3 - field_22023_a[var6][1] * var7 - 1;
int var10 = var8 + 2; int var10 = var8 + 2;
int var11 = var9 + 2; int var11 = var9 + 2;
for(int var12 = var8; var12 <= var10; ++var12) { for (int var12 = var8; var12 <= var10; ++var12) {
for(int var13 = var9; var13 <= var11; ++var13) { for (int var13 = var9; var13 <= var11; ++var13) {
if(var0.isBlockNormalCube(var12, var2 - 1, var13) && var0.isAirBlock(var12, var2, var13) && var0.isAirBlock(var12, var2 + 1, var13)) { if (var0.isBlockNormalCube(var12, var2 - 1, var13) && var0.isAirBlock(var12, var2, var13) && var0.isAirBlock(var12, var2 + 1, var13)) {
if(var4 <= 0) { if (var4 <= 0) {
return new ChunkCoordinates(var12, var2, var13); return new ChunkCoordinates(var12, var2, var13);
} }
--var4; --var4;
} }
} }
} }
} }
return null; return null;
} }
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
if(!func_22020_d(var5)) { if (!func_22020_d(var5)) {
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6); super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
} }
} }
public int getMobilityFlag() { public int getMobilityFlag() {
return 1; return 1;
} }
} }

View file

@ -1,18 +1,19 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import java.util.Random;
public class BlockBookshelf extends Block { public class BlockBookshelf extends Block {
public BlockBookshelf(int var1, int var2) { public BlockBookshelf(int var1, int var2) {
super(var1, var2, Material.wood); super(var1, var2, Material.wood);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 <= 1 ? 4 : this.blockIndexInTexture; return var1 <= 1 ? 4 : this.blockIndexInTexture;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
} }

View file

@ -3,14 +3,14 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockBreakable extends Block { public class BlockBreakable extends Block {
private boolean field_6084_a; private boolean field_6084_a;
protected BlockBreakable(int var1, int var2, Material var3, boolean var4) { protected BlockBreakable(int var1, int var2, Material var3, boolean var4) {
super(var1, var2, var3); super(var1, var2, var3);
this.field_6084_a = var4; this.field_6084_a = var4;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
} }

View file

@ -1,220 +1,221 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockButton extends Block { public class BlockButton extends Block {
protected BlockButton(int var1, int var2) { protected BlockButton(int var1, int var2) {
super(var1, var2, Material.circuits); super(var1, var2, Material.circuits);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public int tickRate() { public int tickRate() {
return 20; return 20;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) { public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
return var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4))); return var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)));
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { 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))); 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) { public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var6 & 8; int var7 = var6 & 8;
var6 &= 7; var6 &= 7;
if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var6 = 4; var6 = 4;
} else if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) { } else if (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var6 = 3; var6 = 3;
} else if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) { } else if (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var6 = 2; var6 = 2;
} else if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) { } else if (var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var6 = 1; var6 = 1;
} else { } else {
var6 = this.getOrientation(var1, var2, var3, var4); var6 = this.getOrientation(var1, var2, var3, var4);
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + var7); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + var7);
} }
private int getOrientation(World var1, int var2, int var3, int var4) { private int getOrientation(World var1, int var2, int var3, int var4) {
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? 1 : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? 2 : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? 3 : (var1.isBlockNormalCube(var2, var3, var4 + 1) ? 4 : 1))); return var1.isBlockNormalCube(var2 - 1, var3, var4) ? 1 : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? 2 : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? 3 : (var1.isBlockNormalCube(var2, var3, var4 + 1) ? 4 : 1)));
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(this.func_322_g(var1, var2, var3, var4)) { if (this.func_322_g(var1, var2, var3, var4)) {
int var6 = var1.getBlockMetadata(var2, var3, var4) & 7; int var6 = var1.getBlockMetadata(var2, var3, var4) & 7;
boolean var7 = false; boolean var7 = false;
if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) { if (!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) { if (!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) { if (!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) { if (!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
var7 = true; var7 = true;
} }
if(var7) { if (var7) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }
private boolean func_322_g(World var1, int var2, int var3, int var4) { private boolean func_322_g(World var1, int var2, int var3, int var4) {
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) { if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
return false; return false;
} else { } else {
return true; return true;
} }
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
int var6 = var5 & 7; int var6 = var5 & 7;
boolean var7 = (var5 & 8) > 0; boolean var7 = (var5 & 8) > 0;
float var8 = 6.0F / 16.0F; float var8 = 6.0F / 16.0F;
float var9 = 10.0F / 16.0F; float var9 = 10.0F / 16.0F;
float var10 = 3.0F / 16.0F; float var10 = 3.0F / 16.0F;
float var11 = 2.0F / 16.0F; float var11 = 2.0F / 16.0F;
if(var7) { if (var7) {
var11 = 1.0F / 16.0F; var11 = 1.0F / 16.0F;
} }
if(var6 == 1) { if (var6 == 1) {
this.setBlockBounds(0.0F, var8, 0.5F - var10, var11, var9, 0.5F + var10); this.setBlockBounds(0.0F, var8, 0.5F - var10, var11, var9, 0.5F + var10);
} else if(var6 == 2) { } else if (var6 == 2) {
this.setBlockBounds(1.0F - var11, var8, 0.5F - var10, 1.0F, var9, 0.5F + var10); this.setBlockBounds(1.0F - var11, var8, 0.5F - var10, 1.0F, var9, 0.5F + var10);
} else if(var6 == 3) { } else if (var6 == 3) {
this.setBlockBounds(0.5F - var10, var8, 0.0F, 0.5F + var10, var9, var11); this.setBlockBounds(0.5F - var10, var8, 0.0F, 0.5F + var10, var9, var11);
} else if(var6 == 4) { } else if (var6 == 4) {
this.setBlockBounds(0.5F - var10, var8, 1.0F - var11, 0.5F + var10, var9, 1.0F); this.setBlockBounds(0.5F - var10, var8, 1.0F - var11, 0.5F + var10, var9, 1.0F);
} }
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.blockActivated(var1, var2, var3, var4, var5); this.blockActivated(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var6 & 7; int var7 = var6 & 7;
int var8 = 8 - (var6 & 8); int var8 = 8 - (var6 & 8);
if(var8 == 0) { if (var8 == 0) {
return true; return true;
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8); var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "random.click", 0.3F, 0.6F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "random.click", 0.3F, 0.6F);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
if(var7 == 1) { if (var7 == 1) {
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
} else if(var7 == 2) { } else if (var7 == 2) {
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
} else if(var7 == 3) { } else if (var7 == 3) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
} else if(var7 == 4) { } else if (var7 == 4) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} else { } else {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
} }
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
return true; return true;
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
if((var5 & 8) > 0) { if ((var5 & 8) > 0) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
int var6 = var5 & 7; int var6 = var5 & 7;
if(var6 == 1) { if (var6 == 1) {
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
} else if(var6 == 2) { } else if (var6 == 2) {
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
} else if(var6 == 3) { } else if (var6 == 3) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
} else if(var6 == 4) { } else if (var6 == 4) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} else { } else {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
} }
} }
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0; return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0;
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) == 0) { if ((var6 & 8) == 0) {
return false; return false;
} else { } else {
int var7 = var6 & 7; int var7 = var6 & 7;
return var7 == 5 && var5 == 1 ? true : (var7 == 4 && var5 == 2 ? true : (var7 == 3 && var5 == 3 ? true : (var7 == 2 && var5 == 4 ? true : var7 == 1 && var5 == 5))); return var7 == 5 && var5 == 1 ? true : (var7 == 4 && var5 == 2 ? true : (var7 == 3 && var5 == 3 ? true : (var7 == 2 && var5 == 4 ? true : var7 == 1 && var5 == 5)));
} }
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return true; return true;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) != 0) { if ((var6 & 8) != 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 & 7); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 & 7);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
int var7 = var6 & 7; int var7 = var6 & 7;
if(var7 == 1) { if (var7 == 1) {
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
} else if(var7 == 2) { } else if (var7 == 2) {
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
} else if(var7 == 3) { } else if (var7 == 3) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
} else if(var7 == 4) { } else if (var7 == 4) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} else { } else {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
} }
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "random.click", 0.3F, 0.5F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "random.click", 0.3F, 0.5F);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
} }
} }
} }
} }

View file

@ -1,81 +1,82 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockCactus extends Block { public class BlockCactus extends Block {
protected BlockCactus(int var1, int var2) { protected BlockCactus(int var1, int var2) {
super(var1, var2, Material.cactus); super(var1, var2, Material.cactus);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var1.isAirBlock(var2, var3 + 1, var4)) { if (var1.isAirBlock(var2, var3 + 1, var4)) {
int var6; int var6;
for(var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) { for (var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) {
} }
if(var6 < 3) { if (var6 < 3) {
int var7 = var1.getBlockMetadata(var2, var3, var4); int var7 = var1.getBlockMetadata(var2, var3, var4);
if(var7 == 15) { if (var7 == 15) {
var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID); var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID);
var1.setBlockMetadataWithNotify(var2, var3, var4, 0); var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1); var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1);
} }
} }
} }
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
float var5 = 1.0F / 16.0F; float var5 = 1.0F / 16.0F;
return AxisAlignedBB.getBoundingBoxFromPool((double)((float)var2 + var5), (double)var3, (double)((float)var4 + var5), (double)((float)(var2 + 1) - var5), (double)((float)(var3 + 1) - var5), (double)((float)(var4 + 1) - var5)); return AxisAlignedBB.getBoundingBoxFromPool((double) ((float) var2 + var5), (double) var3, (double) ((float) var4 + var5), (double) ((float) (var2 + 1) - var5), (double) ((float) (var3 + 1) - var5), (double) ((float) (var4 + 1) - var5));
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture); return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture);
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return !super.canPlaceBlockAt(var1, var2, var3, var4) ? false : this.canBlockStay(var1, var2, var3, var4); return !super.canPlaceBlockAt(var1, var2, var3, var4) ? false : this.canBlockStay(var1, var2, var3, var4);
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!this.canBlockStay(var1, var2, var3, var4)) { if (!this.canBlockStay(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public boolean canBlockStay(World var1, int var2, int var3, int var4) { public boolean canBlockStay(World var1, int var2, int var3, int var4) {
if(var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) { if (var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) {
return false; return false;
} else if(var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) { } else if (var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) {
return false; return false;
} else if(var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) { } else if (var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) {
return false; return false;
} else if(var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) { } else if (var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) {
return false; return false;
} else { } else {
int var5 = var1.getBlockId(var2, var3 - 1, var4); int var5 = var1.getBlockId(var2, var3 - 1, var4);
return var5 == Block.cactus.blockID || var5 == Block.sand.blockID; return var5 == Block.cactus.blockID || var5 == Block.sand.blockID;
} }
} }
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
var5.attackEntityFrom((Entity)null, 1); var5.attackEntityFrom((Entity) null, 1);
} }
} }

View file

@ -1,94 +1,95 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockCake extends Block { public class BlockCake extends Block {
protected BlockCake(int var1, int var2) { protected BlockCake(int var1, int var2) {
super(var1, var2, Material.cakeMaterial); super(var1, var2, Material.cakeMaterial);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
float var6 = 1.0F / 16.0F; float var6 = 1.0F / 16.0F;
float var7 = (float)(1 + var5 * 2) / 16.0F; float var7 = (float) (1 + var5 * 2) / 16.0F;
float var8 = 0.5F; float var8 = 0.5F;
this.setBlockBounds(var7, 0.0F, var6, 1.0F - var6, var8, 1.0F - var6); this.setBlockBounds(var7, 0.0F, var6, 1.0F - var6, var8, 1.0F - var6);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
float var6 = 1.0F / 16.0F; float var6 = 1.0F / 16.0F;
float var7 = (float)(1 + var5 * 2) / 16.0F; float var7 = (float) (1 + var5 * 2) / 16.0F;
float var8 = 0.5F; float var8 = 0.5F;
return AxisAlignedBB.getBoundingBoxFromPool((double)((float)var2 + var7), (double)var3, (double)((float)var4 + var6), (double)((float)(var2 + 1) - var6), (double)((float)var3 + var8 - var6), (double)((float)(var4 + 1) - var6)); return AxisAlignedBB.getBoundingBoxFromPool((double) ((float) var2 + var7), (double) var3, (double) ((float) var4 + var6), (double) ((float) (var2 + 1) - var6), (double) ((float) var3 + var8 - var6), (double) ((float) (var4 + 1) - var6));
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture + 3 : (var2 > 0 && var1 == 4 ? this.blockIndexInTexture + 2 : this.blockIndexInTexture + 1)); return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture + 3 : (var2 > 0 && var1 == 4 ? this.blockIndexInTexture + 2 : this.blockIndexInTexture + 1));
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture + 3 : this.blockIndexInTexture + 1); return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture + 3 : this.blockIndexInTexture + 1);
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.eatCakeSlice(var1, var2, var3, var4, var5); this.eatCakeSlice(var1, var2, var3, var4, var5);
return true; return true;
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.eatCakeSlice(var1, var2, var3, var4, var5); this.eatCakeSlice(var1, var2, var3, var4, var5);
} }
private void eatCakeSlice(World var1, int var2, int var3, int var4, EntityPlayer var5) { private void eatCakeSlice(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var5.health < 20) { if (var5.health < 20) {
var5.heal(3); var5.heal(3);
int var6 = var1.getBlockMetadata(var2, var3, var4) + 1; int var6 = var1.getBlockMetadata(var2, var3, var4) + 1;
if(var6 >= 6) { if (var6 >= 6) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
var1.markBlockAsNeedsUpdate(var2, var3, var4); var1.markBlockAsNeedsUpdate(var2, var3, var4);
} }
} }
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return !super.canPlaceBlockAt(var1, var2, var3, var4) ? false : this.canBlockStay(var1, var2, var3, var4); return !super.canPlaceBlockAt(var1, var2, var3, var4) ? false : this.canBlockStay(var1, var2, var3, var4);
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!this.canBlockStay(var1, var2, var3, var4)) { if (!this.canBlockStay(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public boolean canBlockStay(World var1, int var2, int var3, int var4) { public boolean canBlockStay(World var1, int var2, int var3, int var4) {
return var1.getBlockMaterial(var2, var3 - 1, var4).isSolid(); return var1.getBlockMaterial(var2, var3 - 1, var4).isSolid();
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return 0; return 0;
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityChest; import net.minecraft.block.tile.TileEntityChest;
@ -11,112 +10,114 @@ import net.minecraft.entity.EntityPlayer;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockChest extends BlockContainer { public class BlockChest extends BlockContainer {
private Random random = new Random(); private Random random = new Random();
protected BlockChest(int var1) { protected BlockChest(int var1) {
super(var1, Material.wood); super(var1, Material.wood);
this.blockIndexInTexture = 26; this.blockIndexInTexture = 26;
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture)); 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) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
int var5 = 0; int var5 = 0;
if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID) { if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID) {
++var5; ++var5;
} }
if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID) { if (var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
++var5; ++var5;
} }
if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID) { if (var1.getBlockId(var2, var3, var4 - 1) == this.blockID) {
++var5; ++var5;
} }
if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID) { if (var1.getBlockId(var2, var3, var4 + 1) == this.blockID) {
++var5; ++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)))); 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) { 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))); 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) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
TileEntityChest var5 = (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4); TileEntityChest var5 = (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4);
for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) { for (int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
ItemStack var7 = var5.getStackInSlot(var6); ItemStack var7 = var5.getStackInSlot(var6);
if(var7 != null) { if (var7 != null) {
float var8 = this.random.nextFloat() * 0.8F + 0.1F; float var8 = this.random.nextFloat() * 0.8F + 0.1F;
float var9 = 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; float var10 = this.random.nextFloat() * 0.8F + 0.1F;
while(var7.stackSize > 0) { while (var7.stackSize > 0) {
int var11 = this.random.nextInt(21) + 10; int var11 = this.random.nextInt(21) + 10;
if(var11 > var7.stackSize) { if (var11 > var7.stackSize) {
var11 = var7.stackSize; var11 = var7.stackSize;
} }
var7.stackSize -= var11; 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.getItemDamage())); EntityItem var12 = new EntityItem(var1, (double) ((float) var2 + var8), (double) ((float) var3 + var9), (double) ((float) var4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
float var13 = 0.05F; float var13 = 0.05F;
var12.motionX = (double)((float)this.random.nextGaussian() * var13); var12.motionX = (double) ((float) this.random.nextGaussian() * var13);
var12.motionY = (double)((float)this.random.nextGaussian() * var13 + 0.2F); var12.motionY = (double) ((float) this.random.nextGaussian() * var13 + 0.2F);
var12.motionZ = (double)((float)this.random.nextGaussian() * var13); var12.motionZ = (double) ((float) this.random.nextGaussian() * var13);
var1.entityJoinedWorld(var12); var1.entityJoinedWorld(var12);
} }
} }
} }
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
Object var6 = (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4); Object var6 = (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4);
if(var1.isBlockNormalCube(var2, var3 + 1, var4)) { if (var1.isBlockNormalCube(var2, var3 + 1, var4)) {
return true; return true;
} else if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 - 1, var3 + 1, var4)) { } else if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 - 1, var3 + 1, var4)) {
return true; return true;
} else if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 + 1, var3 + 1, var4)) { } else if (var1.getBlockId(var2 + 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 + 1, var3 + 1, var4)) {
return true; return true;
} else if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 - 1)) { } else if (var1.getBlockId(var2, var3, var4 - 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 - 1)) {
return true; return true;
} else if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 + 1)) { } else if (var1.getBlockId(var2, var3, var4 + 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 + 1)) {
return true; return true;
} else { } else {
if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID) { if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID) {
var6 = new InventoryLargeChest("Large chest", (TileEntityChest)var1.getBlockTileEntity(var2 - 1, var3, var4), (IInventory)var6); var6 = new InventoryLargeChest("Large chest", (TileEntityChest) var1.getBlockTileEntity(var2 - 1, var3, var4), (IInventory) var6);
} }
if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID) { if (var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
var6 = new InventoryLargeChest("Large chest", (IInventory)var6, (TileEntityChest)var1.getBlockTileEntity(var2 + 1, var3, var4)); var6 = new InventoryLargeChest("Large chest", (IInventory) var6, (TileEntityChest) var1.getBlockTileEntity(var2 + 1, var3, var4));
} }
if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID) { if (var1.getBlockId(var2, var3, var4 - 1) == this.blockID) {
var6 = new InventoryLargeChest("Large chest", (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4 - 1), (IInventory)var6); var6 = new InventoryLargeChest("Large chest", (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4 - 1), (IInventory) var6);
} }
if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID) { if (var1.getBlockId(var2, var3, var4 + 1) == this.blockID) {
var6 = new InventoryLargeChest("Large chest", (IInventory)var6, (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4 + 1)); var6 = new InventoryLargeChest("Large chest", (IInventory) var6, (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4 + 1));
} }
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
var5.displayGUIChest((IInventory)var6); var5.displayGUIChest((IInventory) var6);
return true; return true;
} }
} }
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return new TileEntityChest(); return new TileEntityChest();
} }
} }

View file

@ -1,19 +1,20 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import java.util.Random;
public class BlockClay extends Block { public class BlockClay extends Block {
public BlockClay(int var1, int var2) { public BlockClay(int var1, int var2) {
super(var1, var2, Material.clay); super(var1, var2, Material.clay);
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.clay.shiftedIndex; return Item.clay.shiftedIndex;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 4; return 4;
} }
} }

View file

@ -3,28 +3,28 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockCloth extends Block { public class BlockCloth extends Block {
public BlockCloth() { public BlockCloth() {
super(35, 64, Material.cloth); super(35, 64, Material.cloth);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
if(var2 == 0) { if (var2 == 0) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} else { } else {
var2 = ~(var2 & 15); var2 = ~(var2 & 15);
return 113 + ((var2 & 8) >> 3) + (var2 & 7) * 16; return 113 + ((var2 & 8) >> 3) + (var2 & 7) * 16;
} }
} }
protected int damageDropped(int var1) { protected int damageDropped(int var1) {
return var1; return var1;
} }
public static int func_21033_c(int var0) { public static int func_21033_c(int var0) {
return ~var0 & 15; return ~var0 & 15;
} }
public static int func_21034_d(int var0) { public static int func_21034_d(int var0) {
return ~var0 & 15; return ~var0 & 15;
} }
} }

View file

@ -5,25 +5,25 @@ import net.minecraft.block.tile.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
public abstract class BlockContainer extends Block { public abstract class BlockContainer extends Block {
protected BlockContainer(int var1, Material var2) { protected BlockContainer(int var1, Material var2) {
super(var1, var2); super(var1, var2);
isBlockContainer[var1] = true; isBlockContainer[var1] = true;
} }
protected BlockContainer(int var1, int var2, Material var3) { protected BlockContainer(int var1, int var2, Material var3) {
super(var1, var2, var3); super(var1, var2, var3);
isBlockContainer[var1] = true; isBlockContainer[var1] = true;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
var1.setBlockTileEntity(var2, var3, var4, this.getBlockEntity()); var1.setBlockTileEntity(var2, var3, var4, this.getBlockEntity());
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
var1.removeBlockTileEntity(var2, var3, var4); var1.removeBlockTileEntity(var2, var3, var4);
} }
protected abstract TileEntity getBlockEntity(); protected abstract TileEntity getBlockEntity();
} }

View file

@ -1,114 +1,115 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.entity.EntityItem; import net.minecraft.entity.EntityItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockCrops extends BlockFlower { public class BlockCrops extends BlockFlower {
protected BlockCrops(int var1, int var2) { protected BlockCrops(int var1, int var2) {
super(var1, var2); super(var1, var2);
this.blockIndexInTexture = var2; this.blockIndexInTexture = var2;
this.setTickOnLoad(true); this.setTickOnLoad(true);
float var3 = 0.5F; float var3 = 0.5F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.25F, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.25F, 0.5F + var3);
} }
protected boolean canThisPlantGrowOnThisBlockID(int var1) { protected boolean canThisPlantGrowOnThisBlockID(int var1) {
return var1 == Block.tilledField.blockID; return var1 == Block.tilledField.blockID;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
super.updateTick(var1, var2, var3, var4, var5); super.updateTick(var1, var2, var3, var4, var5);
if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) { if (var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if(var6 < 7) { if (var6 < 7) {
float var7 = this.getGrowthRate(var1, var2, var3, var4); float var7 = this.getGrowthRate(var1, var2, var3, var4);
if(var5.nextInt((int)(100.0F / var7)) == 0) { if (var5.nextInt((int) (100.0F / var7)) == 0) {
++var6; ++var6;
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
} }
} }
} }
} }
public void fertilize(World var1, int var2, int var3, int var4) { public void fertilize(World var1, int var2, int var3, int var4) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 7); var1.setBlockMetadataWithNotify(var2, var3, var4, 7);
} }
private float getGrowthRate(World var1, int var2, int var3, int var4) { private float getGrowthRate(World var1, int var2, int var3, int var4) {
float var5 = 1.0F; float var5 = 1.0F;
int var6 = var1.getBlockId(var2, var3, var4 - 1); int var6 = var1.getBlockId(var2, var3, var4 - 1);
int var7 = var1.getBlockId(var2, var3, var4 + 1); int var7 = var1.getBlockId(var2, var3, var4 + 1);
int var8 = var1.getBlockId(var2 - 1, var3, var4); int var8 = var1.getBlockId(var2 - 1, var3, var4);
int var9 = var1.getBlockId(var2 + 1, var3, var4); int var9 = var1.getBlockId(var2 + 1, var3, var4);
int var10 = var1.getBlockId(var2 - 1, var3, var4 - 1); int var10 = var1.getBlockId(var2 - 1, var3, var4 - 1);
int var11 = 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 var12 = var1.getBlockId(var2 + 1, var3, var4 + 1);
int var13 = 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 var14 = var8 == this.blockID || var9 == this.blockID;
boolean var15 = var6 == this.blockID || var7 == this.blockID; boolean var15 = var6 == this.blockID || var7 == this.blockID;
boolean var16 = var10 == this.blockID || var11 == this.blockID || var12 == this.blockID || var13 == 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 var17 = var2 - 1; var17 <= var2 + 1; ++var17) {
for(int var18 = var4 - 1; var18 <= var4 + 1; ++var18) { for (int var18 = var4 - 1; var18 <= var4 + 1; ++var18) {
int var19 = var1.getBlockId(var17, var3 - 1, var18); int var19 = var1.getBlockId(var17, var3 - 1, var18);
float var20 = 0.0F; float var20 = 0.0F;
if(var19 == Block.tilledField.blockID) { if (var19 == Block.tilledField.blockID) {
var20 = 1.0F; var20 = 1.0F;
if(var1.getBlockMetadata(var17, var3 - 1, var18) > 0) { if (var1.getBlockMetadata(var17, var3 - 1, var18) > 0) {
var20 = 3.0F; var20 = 3.0F;
} }
} }
if(var17 != var2 || var18 != var4) { if (var17 != var2 || var18 != var4) {
var20 /= 4.0F; var20 /= 4.0F;
} }
var5 += var20; var5 += var20;
} }
} }
if(var16 || var14 && var15) { if (var16 || var14 && var15) {
var5 /= 2.0F; var5 /= 2.0F;
} }
return var5; return var5;
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
if(var2 < 0) { if (var2 < 0) {
var2 = 7; var2 = 7;
} }
return this.blockIndexInTexture + var2; return this.blockIndexInTexture + var2;
} }
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6); super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
for(int var7 = 0; var7 < 3; ++var7) { for (int var7 = 0; var7 < 3; ++var7) {
if(var1.rand.nextInt(15) <= var5) { if (var1.rand.nextInt(15) <= var5) {
float var8 = 0.7F; float var8 = 0.7F;
float var9 = var1.rand.nextFloat() * var8 + (1.0F - var8) * 0.5F; float var9 = var1.rand.nextFloat() * var8 + (1.0F - var8) * 0.5F;
float var10 = var1.rand.nextFloat() * var8 + (1.0F - var8) * 0.5F; float var10 = var1.rand.nextFloat() * var8 + (1.0F - var8) * 0.5F;
float var11 = var1.rand.nextFloat() * var8 + (1.0F - var8) * 0.5F; float var11 = var1.rand.nextFloat() * var8 + (1.0F - var8) * 0.5F;
EntityItem var12 = new EntityItem(var1, (double)((float)var2 + var9), (double)((float)var3 + var10), (double)((float)var4 + var11), new ItemStack(Item.seeds)); EntityItem var12 = new EntityItem(var1, (double) ((float) var2 + var9), (double) ((float) var3 + var10), (double) ((float) var4 + var11), new ItemStack(Item.seeds));
var12.delayBeforeCanPickup = 10; var12.delayBeforeCanPickup = 10;
var1.entityJoinedWorld(var12); var1.entityJoinedWorld(var12);
} }
} }
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return var1 == 7 ? Item.wheat.shiftedIndex : -1; return var1 == 7 ? Item.wheat.shiftedIndex : -1;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 1; return 1;
} }
} }

View file

@ -3,21 +3,21 @@ package net.minecraft.block;
import java.util.Random; import java.util.Random;
public class BlockDeadBush extends BlockFlower { public class BlockDeadBush extends BlockFlower {
protected BlockDeadBush(int var1, int var2) { protected BlockDeadBush(int var1, int var2) {
super(var1, var2); super(var1, var2);
float var3 = 0.4F; float var3 = 0.4F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3);
} }
protected boolean canThisPlantGrowOnThisBlockID(int var1) { protected boolean canThisPlantGrowOnThisBlockID(int var1) {
return var1 == Block.sand.blockID; return var1 == Block.sand.blockID;
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return -1; return -1;
} }
} }

View file

@ -1,79 +1,80 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.List;
import java.util.Random;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityMinecart; import net.minecraft.entity.EntityMinecart;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
import java.util.Random;
public class BlockDetectorRail extends BlockRail { public class BlockDetectorRail extends BlockRail {
public BlockDetectorRail(int var1, int var2) { public BlockDetectorRail(int var1, int var2) {
super(var1, var2, true); super(var1, var2, true);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public int tickRate() { public int tickRate() {
return 20; return 20;
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return true; return true;
} }
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) == 0) { if ((var6 & 8) == 0) {
this.func_27035_f(var1, var2, var3, var4, var6); this.func_27035_f(var1, var2, var3, var4, var6);
} }
} }
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) != 0) { if ((var6 & 8) != 0) {
this.func_27035_f(var1, var2, var3, var4, var6); this.func_27035_f(var1, var2, var3, var4, var6);
} }
} }
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
return (var1.getBlockMetadata(var2, var3, var4) & 8) != 0; return (var1.getBlockMetadata(var2, var3, var4) & 8) != 0;
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
return (var1.getBlockMetadata(var2, var3, var4) & 8) == 0 ? false : var5 == 1; return (var1.getBlockMetadata(var2, var3, var4) & 8) == 0 ? false : var5 == 1;
} }
private void func_27035_f(World var1, int var2, int var3, int var4, int var5) { private void func_27035_f(World var1, int var2, int var3, int var4, int var5) {
boolean var6 = (var5 & 8) != 0; boolean var6 = (var5 & 8) != 0;
boolean var7 = false; boolean var7 = false;
float var8 = 2.0F / 16.0F; float var8 = 2.0F / 16.0F;
List var9 = var1.getEntitiesWithinAABB(EntityMinecart.class, AxisAlignedBB.getBoundingBoxFromPool((double)((float)var2 + var8), (double)var3, (double)((float)var4 + var8), (double)((float)(var2 + 1) - var8), (double)var3 + 0.25D, (double)((float)(var4 + 1) - var8))); List var9 = var1.getEntitiesWithinAABB(EntityMinecart.class, AxisAlignedBB.getBoundingBoxFromPool((double) ((float) var2 + var8), (double) var3, (double) ((float) var4 + var8), (double) ((float) (var2 + 1) - var8), (double) var3 + 0.25D, (double) ((float) (var4 + 1) - var8)));
if(var9.size() > 0) { if (var9.size() > 0) {
var7 = true; var7 = true;
} }
if(var7 && !var6) { if (var7 && !var6) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var5 | 8); var1.setBlockMetadataWithNotify(var2, var3, var4, var5 | 8);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
} }
if(!var7 && var6) { if (!var7 && var6) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var5 & 7); var1.setBlockMetadataWithNotify(var2, var3, var4, var5 & 7);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
} }
if(var7) { if (var7) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
} }
} }

View file

@ -3,7 +3,7 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockDirt extends Block { public class BlockDirt extends Block {
protected BlockDirt(int var1, int var2) { protected BlockDirt(int var1, int var2) {
super(var1, var2, Material.ground); super(var1, var2, Material.ground);
} }
} }

View file

@ -1,206 +1,202 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityDispenser; import net.minecraft.block.tile.TileEntityDispenser;
import net.minecraft.entity.EntityArrow; import net.minecraft.entity.*;
import net.minecraft.entity.EntityEgg;
import net.minecraft.entity.EntityItem;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityPlayer;
import net.minecraft.entity.EntitySnowball;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
import net.minecraft.math.MathHelper; import net.minecraft.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockDispenser extends BlockContainer { public class BlockDispenser extends BlockContainer {
private Random field_28032_a = new Random(); private Random field_28032_a = new Random();
protected BlockDispenser(int var1) { protected BlockDispenser(int var1) {
super(var1, Material.rock); super(var1, Material.rock);
this.blockIndexInTexture = 45; this.blockIndexInTexture = 45;
} }
public int tickRate() { public int tickRate() {
return 4; return 4;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.dispenser.blockID; return Block.dispenser.blockID;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
this.setDispenserDefaultDirection(var1, var2, var3, var4); this.setDispenserDefaultDirection(var1, var2, var3, var4);
} }
private void setDispenserDefaultDirection(World var1, int var2, int var3, int var4) { private void setDispenserDefaultDirection(World var1, int var2, int var3, int var4) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var5 = var1.getBlockId(var2, var3, var4 - 1); int var5 = var1.getBlockId(var2, var3, var4 - 1);
int var6 = var1.getBlockId(var2, var3, var4 + 1); int var6 = var1.getBlockId(var2, var3, var4 + 1);
int var7 = var1.getBlockId(var2 - 1, var3, var4); int var7 = var1.getBlockId(var2 - 1, var3, var4);
int var8 = var1.getBlockId(var2 + 1, var3, var4); int var8 = var1.getBlockId(var2 + 1, var3, var4);
byte var9 = 3; byte var9 = 3;
if(Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) { if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) {
var9 = 3; var9 = 3;
} }
if(Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) { if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) {
var9 = 2; var9 = 2;
} }
if(Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) { if (Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) {
var9 = 5; var9 = 5;
} }
if(Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) { if (Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) {
var9 = 4; var9 = 4;
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var9); var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
} }
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture + 17 : (var1 == 0 ? this.blockIndexInTexture + 17 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture)); return var1 == 1 ? this.blockIndexInTexture + 17 : (var1 == 0 ? this.blockIndexInTexture + 17 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture));
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
TileEntityDispenser var6 = (TileEntityDispenser)var1.getBlockTileEntity(var2, var3, var4); TileEntityDispenser var6 = (TileEntityDispenser) var1.getBlockTileEntity(var2, var3, var4);
var5.displayGUIDispenser(var6); var5.displayGUIDispenser(var6);
return true; return true;
} }
} }
private void dispenseItem(World var1, int var2, int var3, int var4, Random var5) { private void dispenseItem(World var1, int var2, int var3, int var4, Random var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
byte var9 = 0; byte var9 = 0;
byte var10 = 0; byte var10 = 0;
if(var6 == 3) { if (var6 == 3) {
var10 = 1; var10 = 1;
} else if(var6 == 2) { } else if (var6 == 2) {
var10 = -1; var10 = -1;
} else if(var6 == 5) { } else if (var6 == 5) {
var9 = 1; var9 = 1;
} else { } else {
var9 = -1; var9 = -1;
} }
TileEntityDispenser var11 = (TileEntityDispenser)var1.getBlockTileEntity(var2, var3, var4); TileEntityDispenser var11 = (TileEntityDispenser) var1.getBlockTileEntity(var2, var3, var4);
ItemStack var12 = var11.getRandomStackFromInventory(); ItemStack var12 = var11.getRandomStackFromInventory();
double var13 = (double)var2 + (double)var9 * 0.6D + 0.5D; double var13 = (double) var2 + (double) var9 * 0.6D + 0.5D;
double var15 = (double)var3 + 0.5D; double var15 = (double) var3 + 0.5D;
double var17 = (double)var4 + (double)var10 * 0.6D + 0.5D; double var17 = (double) var4 + (double) var10 * 0.6D + 0.5D;
if(var12 == null) { if (var12 == null) {
var1.func_28097_e(1001, var2, var3, var4, 0); var1.func_28097_e(1001, var2, var3, var4, 0);
} else { } else {
if(var12.itemID == Item.arrow.shiftedIndex) { if (var12.itemID == Item.arrow.shiftedIndex) {
EntityArrow var19 = new EntityArrow(var1, var13, var15, var17); EntityArrow var19 = new EntityArrow(var1, var13, var15, var17);
var19.setArrowHeading((double)var9, (double)0.1F, (double)var10, 1.1F, 6.0F); var19.setArrowHeading((double) var9, (double) 0.1F, (double) var10, 1.1F, 6.0F);
var19.field_28012_a = true; var19.field_28012_a = true;
var1.entityJoinedWorld(var19); var1.entityJoinedWorld(var19);
var1.func_28097_e(1002, var2, var3, var4, 0); var1.func_28097_e(1002, var2, var3, var4, 0);
} else if(var12.itemID == Item.egg.shiftedIndex) { } else if (var12.itemID == Item.egg.shiftedIndex) {
EntityEgg var22 = new EntityEgg(var1, var13, var15, var17); EntityEgg var22 = new EntityEgg(var1, var13, var15, var17);
var22.func_20078_a((double)var9, (double)0.1F, (double)var10, 1.1F, 6.0F); var22.func_20078_a((double) var9, (double) 0.1F, (double) var10, 1.1F, 6.0F);
var1.entityJoinedWorld(var22); var1.entityJoinedWorld(var22);
var1.func_28097_e(1002, var2, var3, var4, 0); var1.func_28097_e(1002, var2, var3, var4, 0);
} else if(var12.itemID == Item.snowball.shiftedIndex) { } else if (var12.itemID == Item.snowball.shiftedIndex) {
EntitySnowball var23 = new EntitySnowball(var1, var13, var15, var17); EntitySnowball var23 = new EntitySnowball(var1, var13, var15, var17);
var23.func_6141_a((double)var9, (double)0.1F, (double)var10, 1.1F, 6.0F); var23.func_6141_a((double) var9, (double) 0.1F, (double) var10, 1.1F, 6.0F);
var1.entityJoinedWorld(var23); var1.entityJoinedWorld(var23);
var1.func_28097_e(1002, var2, var3, var4, 0); var1.func_28097_e(1002, var2, var3, var4, 0);
} else { } else {
EntityItem var24 = new EntityItem(var1, var13, var15 - 0.3D, var17, var12); EntityItem var24 = new EntityItem(var1, var13, var15 - 0.3D, var17, var12);
double var20 = var5.nextDouble() * 0.1D + 0.2D; double var20 = var5.nextDouble() * 0.1D + 0.2D;
var24.motionX = (double)var9 * var20; var24.motionX = (double) var9 * var20;
var24.motionY = (double)0.2F; var24.motionY = (double) 0.2F;
var24.motionZ = (double)var10 * var20; var24.motionZ = (double) var10 * var20;
var24.motionX += var5.nextGaussian() * (double)0.0075F * 6.0D; var24.motionX += var5.nextGaussian() * (double) 0.0075F * 6.0D;
var24.motionY += var5.nextGaussian() * (double)0.0075F * 6.0D; var24.motionY += var5.nextGaussian() * (double) 0.0075F * 6.0D;
var24.motionZ += var5.nextGaussian() * (double)0.0075F * 6.0D; var24.motionZ += var5.nextGaussian() * (double) 0.0075F * 6.0D;
var1.entityJoinedWorld(var24); var1.entityJoinedWorld(var24);
var1.func_28097_e(1000, var2, var3, var4, 0); var1.func_28097_e(1000, var2, var3, var4, 0);
} }
var1.func_28097_e(2000, var2, var3, var4, var9 + 1 + (var10 + 1) * 3); var1.func_28097_e(2000, var2, var3, var4, var9 + 1 + (var10 + 1) * 3);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) { if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
boolean var6 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4); boolean var6 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
if(var6) { if (var6) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
} }
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4)) { if (var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4)) {
this.dispenseItem(var1, var2, var3, var4, var5); this.dispenseItem(var1, var2, var3, var4, var5);
} }
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return new TileEntityDispenser(); return new TileEntityDispenser();
} }
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) { public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
int var6 = MathHelper.floor_double((double)(var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; int var6 = MathHelper.floor_double((double) (var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var6 == 0) { if (var6 == 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 2); var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
} }
if(var6 == 1) { if (var6 == 1) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 5); var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
} }
if(var6 == 2) { if (var6 == 2) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 3); var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
} }
if(var6 == 3) { if (var6 == 3) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 4); var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
TileEntityDispenser var5 = (TileEntityDispenser)var1.getBlockTileEntity(var2, var3, var4); TileEntityDispenser var5 = (TileEntityDispenser) var1.getBlockTileEntity(var2, var3, var4);
for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) { for (int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
ItemStack var7 = var5.getStackInSlot(var6); ItemStack var7 = var5.getStackInSlot(var6);
if(var7 != null) { if (var7 != null) {
float var8 = this.field_28032_a.nextFloat() * 0.8F + 0.1F; float var8 = this.field_28032_a.nextFloat() * 0.8F + 0.1F;
float var9 = this.field_28032_a.nextFloat() * 0.8F + 0.1F; float var9 = this.field_28032_a.nextFloat() * 0.8F + 0.1F;
float var10 = this.field_28032_a.nextFloat() * 0.8F + 0.1F; float var10 = this.field_28032_a.nextFloat() * 0.8F + 0.1F;
while(var7.stackSize > 0) { while (var7.stackSize > 0) {
int var11 = this.field_28032_a.nextInt(21) + 10; int var11 = this.field_28032_a.nextInt(21) + 10;
if(var11 > var7.stackSize) { if (var11 > var7.stackSize) {
var11 = var7.stackSize; var11 = var7.stackSize;
} }
var7.stackSize -= var11; 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.getItemDamage())); EntityItem var12 = new EntityItem(var1, (double) ((float) var2 + var8), (double) ((float) var3 + var9), (double) ((float) var4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
float var13 = 0.05F; float var13 = 0.05F;
var12.motionX = (double)((float)this.field_28032_a.nextGaussian() * var13); var12.motionX = (double) ((float) this.field_28032_a.nextGaussian() * var13);
var12.motionY = (double)((float)this.field_28032_a.nextGaussian() * var13 + 0.2F); var12.motionY = (double) ((float) this.field_28032_a.nextGaussian() * var13 + 0.2F);
var12.motionZ = (double)((float)this.field_28032_a.nextGaussian() * var13); var12.motionZ = (double) ((float) this.field_28032_a.nextGaussian() * var13);
var1.entityJoinedWorld(var12); var1.entityJoinedWorld(var12);
} }
} }
} }
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -10,185 +9,187 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockDoor extends Block { public class BlockDoor extends Block {
protected BlockDoor(int var1, Material var2) { protected BlockDoor(int var1, Material var2) {
super(var1, var2); super(var1, var2);
this.blockIndexInTexture = 97; this.blockIndexInTexture = 97;
if(var2 == Material.iron) { if (var2 == Material.iron) {
++this.blockIndexInTexture; ++this.blockIndexInTexture;
} }
float var3 = 0.5F; float var3 = 0.5F;
float var4 = 1.0F; float var4 = 1.0F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
if(var1 != 0 && var1 != 1) { if (var1 != 0 && var1 != 1) {
int var3 = this.func_271_d(var2); int var3 = this.func_271_d(var2);
if((var3 == 0 || var3 == 2) ^ var1 <= 3) { if ((var3 == 0 || var3 == 2) ^ var1 <= 3) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} else { } else {
int var4 = var3 / 2 + (var1 & 1 ^ var3); int var4 = var3 / 2 + (var1 & 1 ^ var3);
var4 += (var2 & 4) / 4; var4 += (var2 & 4) / 4;
int var5 = this.blockIndexInTexture - (var2 & 8) * 2; int var5 = this.blockIndexInTexture - (var2 & 8) * 2;
if((var4 & 1) != 0) { if ((var4 & 1) != 0) {
var5 = -var5; var5 = -var5;
} }
return var5; return var5;
} }
} else { } else {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
this.setBlockBoundsBasedOnState(var1, var2, var3, var4); this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
this.func_273_b(this.func_271_d(var1.getBlockMetadata(var2, var3, var4))); this.func_273_b(this.func_271_d(var1.getBlockMetadata(var2, var3, var4)));
} }
public void func_273_b(int var1) { public void func_273_b(int var1) {
float var2 = 3.0F / 16.0F; float var2 = 3.0F / 16.0F;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F);
if(var1 == 0) { if (var1 == 0) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2);
} }
if(var1 == 1) { if (var1 == 1) {
this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
if(var1 == 2) { if (var1 == 2) {
this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F);
} }
if(var1 == 3) { if (var1 == 3) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F); 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) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.blockActivated(var1, var2, var3, var4, var5); this.blockActivated(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(this.blockMaterial == Material.iron) { if (this.blockMaterial == Material.iron) {
return true; return true;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) != 0) { if ((var6 & 8) != 0) {
if(var1.getBlockId(var2, var3 - 1, var4) == this.blockID) { if (var1.getBlockId(var2, var3 - 1, var4) == this.blockID) {
this.blockActivated(var1, var2, var3 - 1, var4, var5); this.blockActivated(var1, var2, var3 - 1, var4, var5);
} }
return true; return true;
} else { } else {
if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) { if (var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8); var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8);
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4);
var1.func_28101_a(var5, 1003, var2, var3, var4, 0); var1.func_28101_a(var5, 1003, var2, var3, var4, 0);
return true; return true;
} }
} }
} }
public void func_272_a(World var1, int var2, int var3, int var4, boolean var5) { public void func_272_a(World var1, int var2, int var3, int var4, boolean var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) != 0) { if ((var6 & 8) != 0) {
if(var1.getBlockId(var2, var3 - 1, var4) == this.blockID) { if (var1.getBlockId(var2, var3 - 1, var4) == this.blockID) {
this.func_272_a(var1, var2, var3 - 1, var4, var5); this.func_272_a(var1, var2, var3 - 1, var4, var5);
} }
} else { } else {
boolean var7 = (var1.getBlockMetadata(var2, var3, var4) & 4) > 0; boolean var7 = (var1.getBlockMetadata(var2, var3, var4) & 4) > 0;
if(var7 != var5) { if (var7 != var5) {
if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) { if (var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8); var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8);
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4);
var1.func_28101_a((EntityPlayer)null, 1003, var2, var3, var4, 0); var1.func_28101_a((EntityPlayer) null, 1003, var2, var3, var4, 0);
} }
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) != 0) { if ((var6 & 8) != 0) {
if(var1.getBlockId(var2, var3 - 1, var4) != this.blockID) { if (var1.getBlockId(var2, var3 - 1, var4) != this.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) { if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
this.onNeighborBlockChange(var1, var2, var3 - 1, var4, var5); this.onNeighborBlockChange(var1, var2, var3 - 1, var4, var5);
} }
} else { } else {
boolean var7 = false; boolean var7 = false;
if(var1.getBlockId(var2, var3 + 1, var4) != this.blockID) { if (var1.getBlockId(var2, var3 + 1, var4) != this.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
var7 = true; var7 = true;
if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) { if (var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
var1.setBlockWithNotify(var2, var3 + 1, var4, 0); var1.setBlockWithNotify(var2, var3 + 1, var4, 0);
} }
} }
if(var7) { if (var7) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
this.dropBlockAsItem(var1, var2, var3, var4, var6); this.dropBlockAsItem(var1, var2, var3, var4, var6);
} }
} else if(var5 > 0 && Block.blocksList[var5].canProvidePower()) { } else if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
boolean var8 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4); boolean var8 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
this.func_272_a(var1, var2, var3, var4, var8); this.func_272_a(var1, var2, var3, var4, var8);
} }
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return (var1 & 8) != 0 ? 0 : (this.blockMaterial == Material.iron ? Item.doorSteel.shiftedIndex : Item.doorWood.shiftedIndex); return (var1 & 8) != 0 ? 0 : (this.blockMaterial == Material.iron ? Item.doorSteel.shiftedIndex : Item.doorWood.shiftedIndex);
} }
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
this.setBlockBoundsBasedOnState(var1, var2, var3, var4); this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6); return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
} }
public int func_271_d(int var1) { public int func_271_d(int var1) {
return (var1 & 4) == 0 ? var1 - 1 & 3 : var1 & 3; return (var1 & 4) == 0 ? var1 - 1 & 3 : var1 & 3;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { 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); return var3 >= 127 ? false : var1.isBlockNormalCube(var2, var3 - 1, var4) && super.canPlaceBlockAt(var1, var2, var3, var4) && super.canPlaceBlockAt(var1, var2, var3 + 1, var4);
} }
public static boolean func_27036_e(int var0) { public static boolean func_27036_e(int var0) {
return (var0 & 4) != 0; return (var0 & 4) != 0;
} }
public int getMobilityFlag() { public int getMobilityFlag() {
return 1; return 1;
} }
} }

View file

@ -1,97 +1,98 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockFarmland extends Block { public class BlockFarmland extends Block {
protected BlockFarmland(int var1) { protected BlockFarmland(int var1) {
super(var1, Material.ground); super(var1, Material.ground);
this.blockIndexInTexture = 87; this.blockIndexInTexture = 87;
this.setTickOnLoad(true); this.setTickOnLoad(true);
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 15.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 15.0F / 16.0F, 1.0F);
this.setLightOpacity(255); this.setLightOpacity(255);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { 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)); return AxisAlignedBB.getBoundingBoxFromPool((double) (var2 + 0), (double) (var3 + 0), (double) (var4 + 0), (double) (var2 + 1), (double) (var3 + 1), (double) (var4 + 1));
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var1 == 1 && var2 > 0 ? this.blockIndexInTexture - 1 : (var1 == 1 ? this.blockIndexInTexture : 2); 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) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var5.nextInt(5) == 0) { if (var5.nextInt(5) == 0) {
if(!this.isWaterNearby(var1, var2, var3, var4) && !var1.canLightningStrikeAt(var2, var3 + 1, var4)) { if (!this.isWaterNearby(var1, var2, var3, var4) && !var1.canLightningStrikeAt(var2, var3 + 1, var4)) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if(var6 > 0) { if (var6 > 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 - 1); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 - 1);
} else if(!this.isCropsNearby(var1, var2, var3, var4)) { } else if (!this.isCropsNearby(var1, var2, var3, var4)) {
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
} }
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, 7); var1.setBlockMetadataWithNotify(var2, var3, var4, 7);
} }
} }
} }
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
if(var1.rand.nextInt(4) == 0) { if (var1.rand.nextInt(4) == 0) {
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
} }
} }
private boolean isCropsNearby(World var1, int var2, int var3, int var4) { private boolean isCropsNearby(World var1, int var2, int var3, int var4) {
byte var5 = 0; byte var5 = 0;
for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) { for (int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
for(int var7 = var4 - var5; var7 <= var4 + var5; ++var7) { for (int var7 = var4 - var5; var7 <= var4 + var5; ++var7) {
if(var1.getBlockId(var6, var3 + 1, var7) == Block.crops.blockID) { if (var1.getBlockId(var6, var3 + 1, var7) == Block.crops.blockID) {
return true; return true;
} }
} }
} }
return false; return false;
} }
private boolean isWaterNearby(World var1, int var2, int var3, int var4) { private boolean isWaterNearby(World var1, int var2, int var3, int var4) {
for(int var5 = var2 - 4; var5 <= var2 + 4; ++var5) { for (int var5 = var2 - 4; var5 <= var2 + 4; ++var5) {
for(int var6 = var3; var6 <= var3 + 1; ++var6) { for (int var6 = var3; var6 <= var3 + 1; ++var6) {
for(int var7 = var4 - 4; var7 <= var4 + 4; ++var7) { for (int var7 = var4 - 4; var7 <= var4 + 4; ++var7) {
if(var1.getBlockMaterial(var5, var6, var7) == Material.water) { if (var1.getBlockMaterial(var5, var6, var7) == Material.water) {
return true; return true;
} }
} }
} }
} }
return false; return false;
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
Material var6 = var1.getBlockMaterial(var2, var3 + 1, var4); Material var6 = var1.getBlockMaterial(var2, var3 + 1, var4);
if(var6.isSolid()) { if (var6.isSolid()) {
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.dirt.idDropped(0, var2); return Block.dirt.idDropped(0, var2);
} }
} }

View file

@ -5,23 +5,23 @@ import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockFence extends Block { public class BlockFence extends Block {
public BlockFence(int var1, int var2) { public BlockFence(int var1, int var2) {
super(var1, var2, Material.wood); super(var1, var2, Material.wood);
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return var1.getBlockId(var2, var3 - 1, var4) == this.blockID ? true : (!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid() ? false : super.canPlaceBlockAt(var1, var2, var3, var4)); return var1.getBlockId(var2, var3 - 1, var4) == this.blockID ? true : (!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid() ? false : super.canPlaceBlockAt(var1, var2, var3, var4));
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return AxisAlignedBB.getBoundingBoxFromPool((double)var2, (double)var3, (double)var4, (double)(var2 + 1), (double)((float)var3 + 1.5F), (double)(var4 + 1)); return AxisAlignedBB.getBoundingBoxFromPool((double) var2, (double) var3, (double) var4, (double) (var2 + 1), (double) ((float) var3 + 1.5F), (double) (var4 + 1));
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
} }

View file

@ -1,188 +1,189 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockFire extends Block { public class BlockFire extends Block {
private int[] chanceToEncourageFire = new int[256]; private int[] chanceToEncourageFire = new int[256];
private int[] abilityToCatchFire = new int[256]; private int[] abilityToCatchFire = new int[256];
protected BlockFire(int var1, int var2) { protected BlockFire(int var1, int var2) {
super(var1, var2, Material.fire); super(var1, var2, Material.fire);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void setFireBurnRates() { public void setFireBurnRates() {
this.setBurnRate(Block.planks.blockID, 5, 20); this.setBurnRate(Block.planks.blockID, 5, 20);
this.setBurnRate(Block.fence.blockID, 5, 20); this.setBurnRate(Block.fence.blockID, 5, 20);
this.setBurnRate(Block.stairCompactPlanks.blockID, 5, 20); this.setBurnRate(Block.stairCompactPlanks.blockID, 5, 20);
this.setBurnRate(Block.wood.blockID, 5, 5); this.setBurnRate(Block.wood.blockID, 5, 5);
this.setBurnRate(Block.leaves.blockID, 30, 60); this.setBurnRate(Block.leaves.blockID, 30, 60);
this.setBurnRate(Block.bookShelf.blockID, 30, 20); this.setBurnRate(Block.bookShelf.blockID, 30, 20);
this.setBurnRate(Block.tnt.blockID, 15, 100); this.setBurnRate(Block.tnt.blockID, 15, 100);
this.setBurnRate(Block.tallGrass.blockID, 60, 100); this.setBurnRate(Block.tallGrass.blockID, 60, 100);
this.setBurnRate(Block.cloth.blockID, 30, 60); this.setBurnRate(Block.cloth.blockID, 30, 60);
} }
private void setBurnRate(int var1, int var2, int var3) { private void setBurnRate(int var1, int var2, int var3) {
this.chanceToEncourageFire[var1] = var2; this.chanceToEncourageFire[var1] = var2;
this.abilityToCatchFire[var1] = var3; this.abilityToCatchFire[var1] = var3;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public int tickRate() { public int tickRate() {
return 40; return 40;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
boolean var6 = var1.getBlockId(var2, var3 - 1, var4) == Block.bloodStone.blockID; boolean var6 = var1.getBlockId(var2, var3 - 1, var4) == Block.bloodStone.blockID;
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) { if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
if(var6 || !var1.func_27068_v() || !var1.canLightningStrikeAt(var2, var3, var4) && !var1.canLightningStrikeAt(var2 - 1, var3, var4) && !var1.canLightningStrikeAt(var2 + 1, var3, var4) && !var1.canLightningStrikeAt(var2, var3, var4 - 1) && !var1.canLightningStrikeAt(var2, var3, var4 + 1)) { if (var6 || !var1.func_27068_v() || !var1.canLightningStrikeAt(var2, var3, var4) && !var1.canLightningStrikeAt(var2 - 1, var3, var4) && !var1.canLightningStrikeAt(var2 + 1, var3, var4) && !var1.canLightningStrikeAt(var2, var3, var4 - 1) && !var1.canLightningStrikeAt(var2, var3, var4 + 1)) {
int var7 = var1.getBlockMetadata(var2, var3, var4); int var7 = var1.getBlockMetadata(var2, var3, var4);
if(var7 < 15) { if (var7 < 15) {
var1.setBlockMetadata(var2, var3, var4, var7 + var5.nextInt(3) / 2); var1.setBlockMetadata(var2, var3, var4, var7 + var5.nextInt(3) / 2);
} }
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
if(!var6 && !this.func_268_g(var1, var2, var3, var4)) { if (!var6 && !this.func_268_g(var1, var2, var3, var4)) {
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) || var7 > 3) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4) || var7 > 3) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} else if(!var6 && !this.canBlockCatchFire(var1, var2, var3 - 1, var4) && var7 == 15 && var5.nextInt(4) == 0) { } else if (!var6 && !this.canBlockCatchFire(var1, var2, var3 - 1, var4) && var7 == 15 && var5.nextInt(4) == 0) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
this.tryToCatchBlockOnFire(var1, var2 + 1, var3, var4, 300, var5, var7); this.tryToCatchBlockOnFire(var1, var2 + 1, var3, var4, 300, var5, var7);
this.tryToCatchBlockOnFire(var1, var2 - 1, var3, var4, 300, var5, var7); this.tryToCatchBlockOnFire(var1, var2 - 1, var3, var4, 300, var5, var7);
this.tryToCatchBlockOnFire(var1, var2, var3 - 1, var4, 250, var5, var7); this.tryToCatchBlockOnFire(var1, var2, var3 - 1, var4, 250, var5, var7);
this.tryToCatchBlockOnFire(var1, var2, var3 + 1, var4, 250, var5, var7); this.tryToCatchBlockOnFire(var1, var2, var3 + 1, var4, 250, var5, var7);
this.tryToCatchBlockOnFire(var1, var2, var3, var4 - 1, 300, var5, var7); this.tryToCatchBlockOnFire(var1, var2, var3, var4 - 1, 300, var5, var7);
this.tryToCatchBlockOnFire(var1, var2, var3, var4 + 1, 300, var5, var7); this.tryToCatchBlockOnFire(var1, var2, var3, var4 + 1, 300, var5, var7);
for(int var8 = var2 - 1; var8 <= var2 + 1; ++var8) { for (int var8 = var2 - 1; var8 <= var2 + 1; ++var8) {
for(int var9 = var4 - 1; var9 <= var4 + 1; ++var9) { for (int var9 = var4 - 1; var9 <= var4 + 1; ++var9) {
for(int var10 = var3 - 1; var10 <= var3 + 4; ++var10) { for (int var10 = var3 - 1; var10 <= var3 + 4; ++var10) {
if(var8 != var2 || var10 != var3 || var9 != var4) { if (var8 != var2 || var10 != var3 || var9 != var4) {
int var11 = 100; int var11 = 100;
if(var10 > var3 + 1) { if (var10 > var3 + 1) {
var11 += (var10 - (var3 + 1)) * 100; var11 += (var10 - (var3 + 1)) * 100;
} }
int var12 = this.getChanceOfNeighborsEncouragingFire(var1, var8, var10, var9); int var12 = this.getChanceOfNeighborsEncouragingFire(var1, var8, var10, var9);
if(var12 > 0) { if (var12 > 0) {
int var13 = (var12 + 40) / (var7 + 30); int var13 = (var12 + 40) / (var7 + 30);
if(var13 > 0 && var5.nextInt(var11) <= var13 && (!var1.func_27068_v() || !var1.canLightningStrikeAt(var8, var10, var9)) && !var1.canLightningStrikeAt(var8 - 1, var10, var4) && !var1.canLightningStrikeAt(var8 + 1, var10, var9) && !var1.canLightningStrikeAt(var8, var10, var9 - 1) && !var1.canLightningStrikeAt(var8, var10, var9 + 1)) { if (var13 > 0 && var5.nextInt(var11) <= var13 && (!var1.func_27068_v() || !var1.canLightningStrikeAt(var8, var10, var9)) && !var1.canLightningStrikeAt(var8 - 1, var10, var4) && !var1.canLightningStrikeAt(var8 + 1, var10, var9) && !var1.canLightningStrikeAt(var8, var10, var9 - 1) && !var1.canLightningStrikeAt(var8, var10, var9 + 1)) {
int var14 = var7 + var5.nextInt(5) / 4; int var14 = var7 + var5.nextInt(5) / 4;
if(var14 > 15) { if (var14 > 15) {
var14 = 15; var14 = 15;
} }
var1.setBlockAndMetadataWithNotify(var8, var10, var9, this.blockID, var14); var1.setBlockAndMetadataWithNotify(var8, var10, var9, this.blockID, var14);
} }
} }
} }
} }
} }
} }
} }
} else { } else {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
private void tryToCatchBlockOnFire(World var1, int var2, int var3, int var4, int var5, Random var6, int var7) { private void tryToCatchBlockOnFire(World var1, int var2, int var3, int var4, int var5, Random var6, int var7) {
int var8 = this.abilityToCatchFire[var1.getBlockId(var2, var3, var4)]; int var8 = this.abilityToCatchFire[var1.getBlockId(var2, var3, var4)];
if(var6.nextInt(var5) < var8) { if (var6.nextInt(var5) < var8) {
boolean var9 = var1.getBlockId(var2, var3, var4) == Block.tnt.blockID; boolean var9 = var1.getBlockId(var2, var3, var4) == Block.tnt.blockID;
if(var6.nextInt(var7 + 10) < 5 && !var1.canLightningStrikeAt(var2, var3, var4)) { if (var6.nextInt(var7 + 10) < 5 && !var1.canLightningStrikeAt(var2, var3, var4)) {
int var10 = var7 + var6.nextInt(5) / 4; int var10 = var7 + var6.nextInt(5) / 4;
if(var10 > 15) { if (var10 > 15) {
var10 = 15; var10 = 15;
} }
var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var10); var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var10);
} else { } else {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
if(var9) { if (var9) {
Block.tnt.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1); Block.tnt.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
} }
} }
} }
private boolean func_268_g(World var1, int var2, int var3, int var4) { private boolean func_268_g(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))))); 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) { private int getChanceOfNeighborsEncouragingFire(World var1, int var2, int var3, int var4) {
byte var5 = 0; byte var5 = 0;
if(!var1.isAirBlock(var2, var3, var4)) { if (!var1.isAirBlock(var2, var3, var4)) {
return 0; return 0;
} else { } else {
int var6 = this.getChanceToEncourageFire(var1, var2 + 1, var3, var4, var5); int var6 = this.getChanceToEncourageFire(var1, var2 + 1, var3, var4, var5);
var6 = this.getChanceToEncourageFire(var1, var2 - 1, var3, var4, var6); 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 + 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);
var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 + 1, var6); var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 + 1, var6);
return var6; return var6;
} }
} }
public boolean isCollidable() { public boolean isCollidable() {
return false; return false;
} }
public boolean canBlockCatchFire(IBlockAccess var1, int var2, int var3, int var4) { public boolean canBlockCatchFire(IBlockAccess var1, int var2, int var3, int var4) {
return this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)] > 0; return this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)] > 0;
} }
public int getChanceToEncourageFire(World var1, int var2, int var3, int var4, int var5) { public int getChanceToEncourageFire(World var1, int var2, int var3, int var4, int var5) {
int var6 = this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)]; int var6 = this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)];
return var6 > var5 ? var6 : var5; return var6 > var5 ? var6 : var5;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return var1.isBlockNormalCube(var2, var3 - 1, var4) || this.func_268_g(var1, var2, var3, var4); return var1.isBlockNormalCube(var2, var3 - 1, var4) || this.func_268_g(var1, var2, var3, var4);
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && !this.func_268_g(var1, var2, var3, var4)) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4) && !this.func_268_g(var1, var2, var3, var4)) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
if(var1.getBlockId(var2, var3 - 1, var4) != Block.obsidian.blockID || !Block.portal.tryToCreatePortal(var1, var2, var3, var4)) { if (var1.getBlockId(var2, var3 - 1, var4) != Block.obsidian.blockID || !Block.portal.tryToCreatePortal(var1, var2, var3, var4)) {
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && !this.func_268_g(var1, var2, var3, var4)) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4) && !this.func_268_g(var1, var2, var3, var4)) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
} }
} }
} }

View file

@ -1,57 +1,58 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockFlower extends Block { public class BlockFlower extends Block {
protected BlockFlower(int var1, int var2) { protected BlockFlower(int var1, int var2) {
super(var1, Material.plants); super(var1, Material.plants);
this.blockIndexInTexture = var2; this.blockIndexInTexture = var2;
this.setTickOnLoad(true); this.setTickOnLoad(true);
float var3 = 0.2F; float var3 = 0.2F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 3.0F, 0.5F + var3); 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) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return super.canPlaceBlockAt(var1, var2, var3, var4) && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)); return super.canPlaceBlockAt(var1, var2, var3, var4) && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4));
} }
protected boolean canThisPlantGrowOnThisBlockID(int var1) { protected boolean canThisPlantGrowOnThisBlockID(int var1) {
return var1 == Block.grass.blockID || var1 == Block.dirt.blockID || var1 == Block.tilledField.blockID; 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) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
this.func_276_g(var1, var2, var3, var4); this.func_276_g(var1, var2, var3, var4);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
this.func_276_g(var1, var2, var3, var4); this.func_276_g(var1, var2, var3, var4);
} }
protected final void func_276_g(World var1, int var2, int var3, int var4) { protected final void func_276_g(World var1, int var2, int var3, int var4) {
if(!this.canBlockStay(var1, var2, var3, var4)) { if (!this.canBlockStay(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public boolean canBlockStay(World var1, int var2, int var3, int var4) { public boolean canBlockStay(World var1, int var2, int var3, int var4) {
return (var1.getBlockLightValueNoChecks(var2, var3, var4) >= 8 || var1.canBlockSeeTheSky(var2, var3, var4)) && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)); return (var1.getBlockLightValueNoChecks(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) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
} }

View file

@ -1,265 +1,266 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockFlowing extends BlockFluid { public class BlockFlowing extends BlockFluid {
int field_659_a = 0; int field_659_a = 0;
boolean[] field_658_b = new boolean[4]; boolean[] field_658_b = new boolean[4];
int[] field_660_c = new int[4]; int[] field_660_c = new int[4];
protected BlockFlowing(int var1, Material var2) { protected BlockFlowing(int var1, Material var2) {
super(var1, var2); super(var1, var2);
} }
private void func_30004_i(World var1, int var2, int var3, int var4) { private void func_30004_i(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
var1.setBlockAndMetadata(var2, var3, var4, this.blockID + 1, var5); var1.setBlockAndMetadata(var2, var3, var4, this.blockID + 1, var5);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.markBlockNeedsUpdate(var2, var3, var4); var1.markBlockNeedsUpdate(var2, var3, var4);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
int var6 = this.func_301_g(var1, var2, var3, var4); int var6 = this.func_301_g(var1, var2, var3, var4);
byte var7 = 1; byte var7 = 1;
if(this.blockMaterial == Material.lava && !var1.worldProvider.isHellWorld) { if (this.blockMaterial == Material.lava && !var1.worldProvider.isHellWorld) {
var7 = 2; var7 = 2;
} }
boolean var8 = true; boolean var8 = true;
int var10; int var10;
if(var6 > 0) { if (var6 > 0) {
byte var9 = -100; byte var9 = -100;
this.field_659_a = 0; this.field_659_a = 0;
int var12 = this.func_307_e(var1, var2 - 1, var3, var4, var9); int var12 = this.func_307_e(var1, var2 - 1, var3, var4, var9);
var12 = this.func_307_e(var1, var2 + 1, var3, var4, var12); var12 = this.func_307_e(var1, var2 + 1, var3, var4, var12);
var12 = this.func_307_e(var1, var2, var3, var4 - 1, var12); var12 = this.func_307_e(var1, var2, var3, var4 - 1, var12);
var12 = this.func_307_e(var1, var2, var3, var4 + 1, var12); var12 = this.func_307_e(var1, var2, var3, var4 + 1, var12);
var10 = var12 + var7; var10 = var12 + var7;
if(var10 >= 8 || var12 < 0) { if (var10 >= 8 || var12 < 0) {
var10 = -1; var10 = -1;
} }
if(this.func_301_g(var1, var2, var3 + 1, var4) >= 0) { if (this.func_301_g(var1, var2, var3 + 1, var4) >= 0) {
int var11 = this.func_301_g(var1, var2, var3 + 1, var4); int var11 = this.func_301_g(var1, var2, var3 + 1, var4);
if(var11 >= 8) { if (var11 >= 8) {
var10 = var11; var10 = var11;
} else { } else {
var10 = var11 + 8; var10 = var11 + 8;
} }
} }
if(this.field_659_a >= 2 && this.blockMaterial == Material.water) { if (this.field_659_a >= 2 && this.blockMaterial == Material.water) {
if(var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) { if (var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) {
var10 = 0; var10 = 0;
} else if(var1.getBlockMaterial(var2, var3 - 1, var4) == this.blockMaterial && var1.getBlockMetadata(var2, var3, var4) == 0) { } else if (var1.getBlockMaterial(var2, var3 - 1, var4) == this.blockMaterial && var1.getBlockMetadata(var2, var3, var4) == 0) {
var10 = 0; var10 = 0;
} }
} }
if(this.blockMaterial == Material.lava && var6 < 8 && var10 < 8 && var10 > var6 && var5.nextInt(4) != 0) { if (this.blockMaterial == Material.lava && var6 < 8 && var10 < 8 && var10 > var6 && var5.nextInt(4) != 0) {
var10 = var6; var10 = var6;
var8 = false; var8 = false;
} }
if(var10 != var6) { if (var10 != var6) {
var6 = var10; var6 = var10;
if(var10 < 0) { if (var10 < 0) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, var10); var1.setBlockMetadataWithNotify(var2, var3, var4, var10);
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
} }
} else if(var8) { } else if (var8) {
this.func_30004_i(var1, var2, var3, var4); this.func_30004_i(var1, var2, var3, var4);
} }
} else { } else {
this.func_30004_i(var1, var2, var3, var4); this.func_30004_i(var1, var2, var3, var4);
} }
if(this.func_312_l(var1, var2, var3 - 1, var4)) { if (this.func_312_l(var1, var2, var3 - 1, var4)) {
if(var6 >= 8) { if (var6 >= 8) {
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6); var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6);
} else { } else {
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6 + 8); var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6 + 8);
} }
} else if(var6 >= 0 && (var6 == 0 || this.func_309_k(var1, var2, var3 - 1, var4))) { } else if (var6 >= 0 && (var6 == 0 || this.func_309_k(var1, var2, var3 - 1, var4))) {
boolean[] var13 = this.func_4035_j(var1, var2, var3, var4); boolean[] var13 = this.func_4035_j(var1, var2, var3, var4);
var10 = var6 + var7; var10 = var6 + var7;
if(var6 >= 8) { if (var6 >= 8) {
var10 = 1; var10 = 1;
} }
if(var10 >= 8) { if (var10 >= 8) {
return; return;
} }
if(var13[0]) { if (var13[0]) {
this.func_311_f(var1, var2 - 1, var3, var4, var10); this.func_311_f(var1, var2 - 1, var3, var4, var10);
} }
if(var13[1]) { if (var13[1]) {
this.func_311_f(var1, var2 + 1, var3, var4, var10); this.func_311_f(var1, var2 + 1, var3, var4, var10);
} }
if(var13[2]) { if (var13[2]) {
this.func_311_f(var1, var2, var3, var4 - 1, var10); this.func_311_f(var1, var2, var3, var4 - 1, var10);
} }
if(var13[3]) { if (var13[3]) {
this.func_311_f(var1, var2, var3, var4 + 1, var10); this.func_311_f(var1, var2, var3, var4 + 1, var10);
} }
} }
} }
private void func_311_f(World var1, int var2, int var3, int var4, int var5) { private void func_311_f(World var1, int var2, int var3, int var4, int var5) {
if(this.func_312_l(var1, var2, var3, var4)) { if (this.func_312_l(var1, var2, var3, var4)) {
int var6 = var1.getBlockId(var2, var3, var4); int var6 = var1.getBlockId(var2, var3, var4);
if(var6 > 0) { if (var6 > 0) {
if(this.blockMaterial == Material.lava) { if (this.blockMaterial == Material.lava) {
this.func_300_h(var1, var2, var3, var4); this.func_300_h(var1, var2, var3, var4);
} else { } else {
Block.blocksList[var6].dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); Block.blocksList[var6].dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
} }
} }
var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var5); var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var5);
} }
} }
private int func_4034_a(World var1, int var2, int var3, int var4, int var5, int var6) { private int func_4034_a(World var1, int var2, int var3, int var4, int var5, int var6) {
int var7 = 1000; int var7 = 1000;
for(int var8 = 0; var8 < 4; ++var8) { for (int var8 = 0; var8 < 4; ++var8) {
if((var8 != 0 || var6 != 1) && (var8 != 1 || var6 != 0) && (var8 != 2 || var6 != 3) && (var8 != 3 || var6 != 2)) { if ((var8 != 0 || var6 != 1) && (var8 != 1 || var6 != 0) && (var8 != 2 || var6 != 3) && (var8 != 3 || var6 != 2)) {
int var9 = var2; int var9 = var2;
int var11 = var4; int var11 = var4;
if(var8 == 0) { if (var8 == 0) {
var9 = var2 - 1; var9 = var2 - 1;
} }
if(var8 == 1) { if (var8 == 1) {
++var9; ++var9;
} }
if(var8 == 2) { if (var8 == 2) {
var11 = var4 - 1; var11 = var4 - 1;
} }
if(var8 == 3) { if (var8 == 3) {
++var11; ++var11;
} }
if(!this.func_309_k(var1, var9, var3, var11) && (var1.getBlockMaterial(var9, var3, var11) != this.blockMaterial || var1.getBlockMetadata(var9, var3, var11) != 0)) { if (!this.func_309_k(var1, var9, var3, var11) && (var1.getBlockMaterial(var9, var3, var11) != this.blockMaterial || var1.getBlockMetadata(var9, var3, var11) != 0)) {
if(!this.func_309_k(var1, var9, var3 - 1, var11)) { if (!this.func_309_k(var1, var9, var3 - 1, var11)) {
return var5; return var5;
} }
if(var5 < 4) { if (var5 < 4) {
int var12 = this.func_4034_a(var1, var9, var3, var11, var5 + 1, var8); int var12 = this.func_4034_a(var1, var9, var3, var11, var5 + 1, var8);
if(var12 < var7) { if (var12 < var7) {
var7 = var12; var7 = var12;
} }
} }
} }
} }
} }
return var7; return var7;
} }
private boolean[] func_4035_j(World var1, int var2, int var3, int var4) { private boolean[] func_4035_j(World var1, int var2, int var3, int var4) {
int var5; int var5;
int var6; int var6;
for(var5 = 0; var5 < 4; ++var5) { for (var5 = 0; var5 < 4; ++var5) {
this.field_660_c[var5] = 1000; this.field_660_c[var5] = 1000;
var6 = var2; var6 = var2;
int var8 = var4; int var8 = var4;
if(var5 == 0) { if (var5 == 0) {
var6 = var2 - 1; var6 = var2 - 1;
} }
if(var5 == 1) { if (var5 == 1) {
++var6; ++var6;
} }
if(var5 == 2) { if (var5 == 2) {
var8 = var4 - 1; var8 = var4 - 1;
} }
if(var5 == 3) { if (var5 == 3) {
++var8; ++var8;
} }
if(!this.func_309_k(var1, var6, var3, var8) && (var1.getBlockMaterial(var6, var3, var8) != this.blockMaterial || var1.getBlockMetadata(var6, var3, var8) != 0)) { if (!this.func_309_k(var1, var6, var3, var8) && (var1.getBlockMaterial(var6, var3, var8) != this.blockMaterial || var1.getBlockMetadata(var6, var3, var8) != 0)) {
if(!this.func_309_k(var1, var6, var3 - 1, var8)) { if (!this.func_309_k(var1, var6, var3 - 1, var8)) {
this.field_660_c[var5] = 0; this.field_660_c[var5] = 0;
} else { } else {
this.field_660_c[var5] = this.func_4034_a(var1, var6, var3, var8, 1, var5); this.field_660_c[var5] = this.func_4034_a(var1, var6, var3, var8, 1, var5);
} }
} }
} }
var5 = this.field_660_c[0]; var5 = this.field_660_c[0];
for(var6 = 1; var6 < 4; ++var6) { for (var6 = 1; var6 < 4; ++var6) {
if(this.field_660_c[var6] < var5) { if (this.field_660_c[var6] < var5) {
var5 = this.field_660_c[var6]; var5 = this.field_660_c[var6];
} }
} }
for(var6 = 0; var6 < 4; ++var6) { for (var6 = 0; var6 < 4; ++var6) {
this.field_658_b[var6] = this.field_660_c[var6] == var5; this.field_658_b[var6] = this.field_660_c[var6] == var5;
} }
return this.field_658_b; return this.field_658_b;
} }
private boolean func_309_k(World var1, int var2, int var3, int var4) { private boolean func_309_k(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockId(var2, var3, var4); int var5 = var1.getBlockId(var2, var3, var4);
if(var5 != Block.doorWood.blockID && var5 != Block.doorSteel.blockID && var5 != Block.signPost.blockID && var5 != Block.ladder.blockID && var5 != Block.reed.blockID) { if (var5 != Block.doorWood.blockID && var5 != Block.doorSteel.blockID && var5 != Block.signPost.blockID && var5 != Block.ladder.blockID && var5 != Block.reed.blockID) {
if(var5 == 0) { if (var5 == 0) {
return false; return false;
} else { } else {
Material var6 = Block.blocksList[var5].blockMaterial; Material var6 = Block.blocksList[var5].blockMaterial;
return var6.getIsSolid(); return var6.getIsSolid();
} }
} else { } else {
return true; return true;
} }
} }
protected int func_307_e(World var1, int var2, int var3, int var4, int var5) { protected int func_307_e(World var1, int var2, int var3, int var4, int var5) {
int var6 = this.func_301_g(var1, var2, var3, var4); int var6 = this.func_301_g(var1, var2, var3, var4);
if(var6 < 0) { if (var6 < 0) {
return var5; return var5;
} else { } else {
if(var6 == 0) { if (var6 == 0) {
++this.field_659_a; ++this.field_659_a;
} }
if(var6 >= 8) { if (var6 >= 8) {
var6 = 0; var6 = 0;
} }
return var5 >= 0 && var6 >= var5 ? var5 : var6; return var5 >= 0 && var6 >= var5 ? var5 : var6;
} }
} }
private boolean func_312_l(World var1, int var2, int var3, int var4) { private boolean func_312_l(World var1, int var2, int var3, int var4) {
Material var5 = var1.getBlockMaterial(var2, var3, var4); Material var5 = var1.getBlockMaterial(var2, var3, var4);
return var5 == this.blockMaterial ? false : (var5 == Material.lava ? false : !this.func_309_k(var1, var2, var3, var4)); return var5 == this.blockMaterial ? false : (var5 == Material.lava ? false : !this.func_309_k(var1, var2, var3, var4));
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
if(var1.getBlockId(var2, var3, var4) == this.blockID) { if (var1.getBlockId(var2, var3, var4) == this.blockID) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
@ -8,224 +7,226 @@ import net.minecraft.math.Vec3D;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public abstract class BlockFluid extends Block { public abstract class BlockFluid extends Block {
protected BlockFluid(int var1, Material var2) { protected BlockFluid(int var1, Material var2) {
super(var1, (var2 == Material.lava ? 14 : 12) * 16 + 13, var2); super(var1, (var2 == Material.lava ? 14 : 12) * 16 + 13, var2);
float var3 = 0.0F; float var3 = 0.0F;
float var4 = 0.0F; float var4 = 0.0F;
this.setBlockBounds(0.0F + var4, 0.0F + var3, 0.0F + var4, 1.0F + var4, 1.0F + var3, 1.0F + var4); this.setBlockBounds(0.0F + var4, 0.0F + var3, 0.0F + var4, 1.0F + var4, 1.0F + var3, 1.0F + var4);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public static float setFluidHeight(int var0) { public static float setFluidHeight(int var0) {
if(var0 >= 8) { if (var0 >= 8) {
var0 = 0; var0 = 0;
} }
float var1 = (float)(var0 + 1) / 9.0F; float var1 = (float) (var0 + 1) / 9.0F;
return var1; return var1;
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 != 0 && var1 != 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture; return var1 != 0 && var1 != 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture;
} }
protected int func_301_g(World var1, int var2, int var3, int var4) { protected int func_301_g(World var1, int var2, int var3, int var4) {
return var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial ? -1 : var1.getBlockMetadata(var2, var3, var4); return var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial ? -1 : var1.getBlockMetadata(var2, var3, var4);
} }
protected int func_303_b(IBlockAccess var1, int var2, int var3, int var4) { protected int func_303_b(IBlockAccess var1, int var2, int var3, int var4) {
if(var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial) { if (var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial) {
return -1; return -1;
} else { } else {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
if(var5 >= 8) { if (var5 >= 8) {
var5 = 0; var5 = 0;
} }
return var5; return var5;
} }
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean canCollideCheck(int var1, boolean var2) { public boolean canCollideCheck(int var1, boolean var2) {
return var2 && var1 == 0; return var2 && var1 == 0;
} }
public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) {
Material var6 = var1.getBlockMaterial(var2, var3, var4); Material var6 = var1.getBlockMaterial(var2, var3, var4);
return var6 == this.blockMaterial ? false : (var6 == Material.ice ? false : (var5 == 1 ? true : super.shouldSideBeRendered(var1, var2, var3, var4, var5))); return var6 == this.blockMaterial ? false : (var6 == Material.ice ? false : (var5 == 1 ? true : super.shouldSideBeRendered(var1, var2, var3, var4, var5)));
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return 0; return 0;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
private Vec3D func_298_c(IBlockAccess var1, int var2, int var3, int var4) { private Vec3D func_298_c(IBlockAccess var1, int var2, int var3, int var4) {
Vec3D var5 = Vec3D.createVector(0.0D, 0.0D, 0.0D); Vec3D var5 = Vec3D.createVector(0.0D, 0.0D, 0.0D);
int var6 = this.func_303_b(var1, var2, var3, var4); int var6 = this.func_303_b(var1, var2, var3, var4);
for(int var7 = 0; var7 < 4; ++var7) { for (int var7 = 0; var7 < 4; ++var7) {
int var8 = var2; int var8 = var2;
int var10 = var4; int var10 = var4;
if(var7 == 0) { if (var7 == 0) {
var8 = var2 - 1; var8 = var2 - 1;
} }
if(var7 == 1) { if (var7 == 1) {
var10 = var4 - 1; var10 = var4 - 1;
} }
if(var7 == 2) { if (var7 == 2) {
++var8; ++var8;
} }
if(var7 == 3) { if (var7 == 3) {
++var10; ++var10;
} }
int var11 = this.func_303_b(var1, var8, var3, var10); int var11 = this.func_303_b(var1, var8, var3, var10);
int var12; int var12;
if(var11 < 0) { if (var11 < 0) {
if(!var1.getBlockMaterial(var8, var3, var10).getIsSolid()) { if (!var1.getBlockMaterial(var8, var3, var10).getIsSolid()) {
var11 = this.func_303_b(var1, var8, var3 - 1, var10); var11 = this.func_303_b(var1, var8, var3 - 1, var10);
if(var11 >= 0) { if (var11 >= 0) {
var12 = var11 - (var6 - 8); var12 = var11 - (var6 - 8);
var5 = var5.addVector((double)((var8 - var2) * var12), (double)((var3 - var3) * var12), (double)((var10 - var4) * var12)); var5 = var5.addVector((double) ((var8 - var2) * var12), (double) ((var3 - var3) * var12), (double) ((var10 - var4) * var12));
} }
} }
} else if(var11 >= 0) { } else if (var11 >= 0) {
var12 = var11 - var6; var12 = var11 - var6;
var5 = var5.addVector((double)((var8 - var2) * var12), (double)((var3 - var3) * var12), (double)((var10 - var4) * var12)); var5 = var5.addVector((double) ((var8 - var2) * var12), (double) ((var3 - var3) * var12), (double) ((var10 - var4) * var12));
} }
} }
if(var1.getBlockMetadata(var2, var3, var4) >= 8) { if (var1.getBlockMetadata(var2, var3, var4) >= 8) {
boolean var13 = false; boolean var13 = false;
if(var13 || this.shouldSideBeRendered(var1, var2, var3, var4 - 1, 2)) { if (var13 || this.shouldSideBeRendered(var1, var2, var3, var4 - 1, 2)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2, var3, var4 + 1, 3)) { if (var13 || this.shouldSideBeRendered(var1, var2, var3, var4 + 1, 3)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2 - 1, var3, var4, 4)) { if (var13 || this.shouldSideBeRendered(var1, var2 - 1, var3, var4, 4)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2 + 1, var3, var4, 5)) { if (var13 || this.shouldSideBeRendered(var1, var2 + 1, var3, var4, 5)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 - 1, 2)) { if (var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 - 1, 2)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 + 1, 3)) { if (var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 + 1, 3)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2 - 1, var3 + 1, var4, 4)) { if (var13 || this.shouldSideBeRendered(var1, var2 - 1, var3 + 1, var4, 4)) {
var13 = true; var13 = true;
} }
if(var13 || this.shouldSideBeRendered(var1, var2 + 1, var3 + 1, var4, 5)) { if (var13 || this.shouldSideBeRendered(var1, var2 + 1, var3 + 1, var4, 5)) {
var13 = true; var13 = true;
} }
if(var13) { if (var13) {
var5 = var5.normalize().addVector(0.0D, -6.0D, 0.0D); var5 = var5.normalize().addVector(0.0D, -6.0D, 0.0D);
} }
} }
var5 = var5.normalize(); var5 = var5.normalize();
return var5; return var5;
} }
public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) { public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) {
Vec3D var7 = this.func_298_c(var1, var2, var3, var4); Vec3D var7 = this.func_298_c(var1, var2, var3, var4);
var6.xCoord += var7.xCoord; var6.xCoord += var7.xCoord;
var6.yCoord += var7.yCoord; var6.yCoord += var7.yCoord;
var6.zCoord += var7.zCoord; var6.zCoord += var7.zCoord;
} }
public int tickRate() { public int tickRate() {
return this.blockMaterial == Material.water ? 5 : (this.blockMaterial == Material.lava ? 30 : 0); return this.blockMaterial == Material.water ? 5 : (this.blockMaterial == Material.lava ? 30 : 0);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
super.updateTick(var1, var2, var3, var4, var5); super.updateTick(var1, var2, var3, var4, var5);
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
this.checkForHarden(var1, var2, var3, var4); this.checkForHarden(var1, var2, var3, var4);
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
this.checkForHarden(var1, var2, var3, var4); this.checkForHarden(var1, var2, var3, var4);
} }
private void checkForHarden(World var1, int var2, int var3, int var4) { private void checkForHarden(World var1, int var2, int var3, int var4) {
if(var1.getBlockId(var2, var3, var4) == this.blockID) { if (var1.getBlockId(var2, var3, var4) == this.blockID) {
if(this.blockMaterial == Material.lava) { if (this.blockMaterial == Material.lava) {
boolean var5 = false; boolean var5 = false;
if(var5 || var1.getBlockMaterial(var2, var3, var4 - 1) == Material.water) { if (var5 || var1.getBlockMaterial(var2, var3, var4 - 1) == Material.water) {
var5 = true; var5 = true;
} }
if(var5 || var1.getBlockMaterial(var2, var3, var4 + 1) == Material.water) { if (var5 || var1.getBlockMaterial(var2, var3, var4 + 1) == Material.water) {
var5 = true; var5 = true;
} }
if(var5 || var1.getBlockMaterial(var2 - 1, var3, var4) == Material.water) { if (var5 || var1.getBlockMaterial(var2 - 1, var3, var4) == Material.water) {
var5 = true; var5 = true;
} }
if(var5 || var1.getBlockMaterial(var2 + 1, var3, var4) == Material.water) { if (var5 || var1.getBlockMaterial(var2 + 1, var3, var4) == Material.water) {
var5 = true; var5 = true;
} }
if(var5 || var1.getBlockMaterial(var2, var3 + 1, var4) == Material.water) { if (var5 || var1.getBlockMaterial(var2, var3 + 1, var4) == Material.water) {
var5 = true; var5 = true;
} }
if(var5) { if (var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if(var6 == 0) { if (var6 == 0) {
var1.setBlockWithNotify(var2, var3, var4, Block.obsidian.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.obsidian.blockID);
} else if(var6 <= 4) { } else if (var6 <= 4) {
var1.setBlockWithNotify(var2, var3, var4, Block.cobblestone.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.cobblestone.blockID);
} }
this.func_300_h(var1, var2, var3, var4); this.func_300_h(var1, var2, var3, var4);
} }
} }
} }
} }
protected void func_300_h(World var1, int var2, int var3, int var4) { protected void func_300_h(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); 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) { 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); var1.spawnParticle("largesmoke", (double) var2 + Math.random(), (double) var3 + 1.2D, (double) var4 + Math.random(), 0.0D, 0.0D, 0.0D);
} }
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityFurnace; import net.minecraft.block.tile.TileEntityFurnace;
@ -11,136 +10,138 @@ import net.minecraft.item.crafting.ItemStack;
import net.minecraft.math.MathHelper; import net.minecraft.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockFurnace extends BlockContainer { public class BlockFurnace extends BlockContainer {
private Random field_28033_a = new Random(); private Random field_28033_a = new Random();
private final boolean isActive; private final boolean isActive;
private static boolean field_28034_c = false; private static boolean field_28034_c = false;
protected BlockFurnace(int var1, boolean var2) { protected BlockFurnace(int var1, boolean var2) {
super(var1, Material.rock); super(var1, Material.rock);
this.isActive = var2; this.isActive = var2;
this.blockIndexInTexture = 45; this.blockIndexInTexture = 45;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.stoneOvenIdle.blockID; return Block.stoneOvenIdle.blockID;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
this.setDefaultDirection(var1, var2, var3, var4); this.setDefaultDirection(var1, var2, var3, var4);
} }
private void setDefaultDirection(World var1, int var2, int var3, int var4) { private void setDefaultDirection(World var1, int var2, int var3, int var4) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var5 = var1.getBlockId(var2, var3, var4 - 1); int var5 = var1.getBlockId(var2, var3, var4 - 1);
int var6 = var1.getBlockId(var2, var3, var4 + 1); int var6 = var1.getBlockId(var2, var3, var4 + 1);
int var7 = var1.getBlockId(var2 - 1, var3, var4); int var7 = var1.getBlockId(var2 - 1, var3, var4);
int var8 = var1.getBlockId(var2 + 1, var3, var4); int var8 = var1.getBlockId(var2 + 1, var3, var4);
byte var9 = 3; byte var9 = 3;
if(Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) { if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) {
var9 = 3; var9 = 3;
} }
if(Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) { if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) {
var9 = 2; var9 = 2;
} }
if(Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) { if (Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) {
var9 = 5; var9 = 5;
} }
if(Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) { if (Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) {
var9 = 4; var9 = 4;
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var9); var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
} }
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture + 17 : (var1 == 0 ? this.blockIndexInTexture + 17 : (var1 == 3 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture)); return var1 == 1 ? this.blockIndexInTexture + 17 : (var1 == 0 ? this.blockIndexInTexture + 17 : (var1 == 3 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture));
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
TileEntityFurnace var6 = (TileEntityFurnace)var1.getBlockTileEntity(var2, var3, var4); TileEntityFurnace var6 = (TileEntityFurnace) var1.getBlockTileEntity(var2, var3, var4);
var5.displayGUIFurnace(var6); var5.displayGUIFurnace(var6);
return true; return true;
} }
} }
public static void updateFurnaceBlockState(boolean var0, World var1, int var2, int var3, int var4) { public static void updateFurnaceBlockState(boolean var0, World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4); TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
field_28034_c = true; field_28034_c = true;
if(var0) { if (var0) {
var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenActive.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenActive.blockID);
} else { } else {
var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenIdle.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenIdle.blockID);
} }
field_28034_c = false; field_28034_c = false;
var1.setBlockMetadataWithNotify(var2, var3, var4, var5); var1.setBlockMetadataWithNotify(var2, var3, var4, var5);
var6.validate(); var6.validate();
var1.setBlockTileEntity(var2, var3, var4, var6); var1.setBlockTileEntity(var2, var3, var4, var6);
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return new TileEntityFurnace(); return new TileEntityFurnace();
} }
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) { public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
int var6 = MathHelper.floor_double((double)(var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; int var6 = MathHelper.floor_double((double) (var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var6 == 0) { if (var6 == 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 2); var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
} }
if(var6 == 1) { if (var6 == 1) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 5); var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
} }
if(var6 == 2) { if (var6 == 2) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 3); var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
} }
if(var6 == 3) { if (var6 == 3) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 4); var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
if(!field_28034_c) { if (!field_28034_c) {
TileEntityFurnace var5 = (TileEntityFurnace)var1.getBlockTileEntity(var2, var3, var4); TileEntityFurnace var5 = (TileEntityFurnace) var1.getBlockTileEntity(var2, var3, var4);
for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) { for (int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
ItemStack var7 = var5.getStackInSlot(var6); ItemStack var7 = var5.getStackInSlot(var6);
if(var7 != null) { if (var7 != null) {
float var8 = this.field_28033_a.nextFloat() * 0.8F + 0.1F; float var8 = this.field_28033_a.nextFloat() * 0.8F + 0.1F;
float var9 = this.field_28033_a.nextFloat() * 0.8F + 0.1F; float var9 = this.field_28033_a.nextFloat() * 0.8F + 0.1F;
float var10 = this.field_28033_a.nextFloat() * 0.8F + 0.1F; float var10 = this.field_28033_a.nextFloat() * 0.8F + 0.1F;
while(var7.stackSize > 0) { while (var7.stackSize > 0) {
int var11 = this.field_28033_a.nextInt(21) + 10; int var11 = this.field_28033_a.nextInt(21) + 10;
if(var11 > var7.stackSize) { if (var11 > var7.stackSize) {
var11 = var7.stackSize; var11 = var7.stackSize;
} }
var7.stackSize -= var11; 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.getItemDamage())); EntityItem var12 = new EntityItem(var1, (double) ((float) var2 + var8), (double) ((float) var3 + var9), (double) ((float) var4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
float var13 = 0.05F; float var13 = 0.05F;
var12.motionX = (double)((float)this.field_28033_a.nextGaussian() * var13); var12.motionX = (double) ((float) this.field_28033_a.nextGaussian() * var13);
var12.motionY = (double)((float)this.field_28033_a.nextGaussian() * var13 + 0.2F); var12.motionY = (double) ((float) this.field_28033_a.nextGaussian() * var13 + 0.2F);
var12.motionZ = (double)((float)this.field_28033_a.nextGaussian() * var13); var12.motionZ = (double) ((float) this.field_28033_a.nextGaussian() * var13);
var1.entityJoinedWorld(var12); var1.entityJoinedWorld(var12);
} }
} }
} }
} }
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
} }

View file

@ -1,14 +1,15 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockGlass extends BlockBreakable { import java.util.Random;
public BlockGlass(int var1, int var2, Material var3, boolean var4) {
super(var1, var2, var3, var4);
}
public int quantityDropped(Random var1) { public class BlockGlass extends BlockBreakable {
return 0; public BlockGlass(int var1, int var2, Material var3, boolean var4) {
} super(var1, var2, var3, var4);
}
public int quantityDropped(Random var1) {
return 0;
}
} }

View file

@ -1,19 +1,20 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import java.util.Random;
public class BlockGlowStone extends Block { public class BlockGlowStone extends Block {
public BlockGlowStone(int var1, int var2, Material var3) { public BlockGlowStone(int var1, int var2, Material var3) {
super(var1, var2, var3); super(var1, var2, var3);
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 2 + var1.nextInt(3); return 2 + var1.nextInt(3);
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.lightStoneDust.shiftedIndex; return Item.lightStoneDust.shiftedIndex;
} }
} }

View file

@ -1,38 +1,39 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockGrass extends Block { public class BlockGrass extends Block {
protected BlockGrass(int var1) { protected BlockGrass(int var1) {
super(var1, Material.grass); super(var1, Material.grass);
this.blockIndexInTexture = 3; this.blockIndexInTexture = 3;
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
if(var1.getBlockLightValue(var2, var3 + 1, var4) < 4 && Block.lightOpacity[var1.getBlockId(var2, var3 + 1, var4)] > 2) { if (var1.getBlockLightValue(var2, var3 + 1, var4) < 4 && Block.lightOpacity[var1.getBlockId(var2, var3 + 1, var4)] > 2) {
if(var5.nextInt(4) != 0) { if (var5.nextInt(4) != 0) {
return; return;
} }
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
} else if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) { } else if (var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) {
int var6 = var2 + var5.nextInt(3) - 1; int var6 = var2 + var5.nextInt(3) - 1;
int var7 = var3 + var5.nextInt(5) - 3; int var7 = var3 + var5.nextInt(5) - 3;
int var8 = var4 + var5.nextInt(3) - 1; int var8 = var4 + var5.nextInt(3) - 1;
int var9 = var1.getBlockId(var6, var7 + 1, var8); int var9 = var1.getBlockId(var6, var7 + 1, var8);
if(var1.getBlockId(var6, var7, var8) == Block.dirt.blockID && var1.getBlockLightValue(var6, var7 + 1, var8) >= 4 && Block.lightOpacity[var9] <= 2) { if (var1.getBlockId(var6, var7, var8) == Block.dirt.blockID && var1.getBlockLightValue(var6, var7 + 1, var8) >= 4 && Block.lightOpacity[var9] <= 2) {
var1.setBlockWithNotify(var6, var7, var8, Block.grass.blockID); var1.setBlockWithNotify(var6, var7, var8, Block.grass.blockID);
} }
} }
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.dirt.idDropped(0, var2); return Block.dirt.idDropped(0, var2);
} }
} }

View file

@ -1,14 +1,15 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.item.Item; import net.minecraft.item.Item;
public class BlockGravel extends BlockSand { import java.util.Random;
public BlockGravel(int var1, int var2) {
super(var1, var2);
}
public int idDropped(int var1, Random var2) { public class BlockGravel extends BlockSand {
return var2.nextInt(10) == 0 ? Item.flint.shiftedIndex : this.blockID; 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;
}
} }

View file

@ -1,40 +1,41 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.world.EnumLightSource; import net.minecraft.world.EnumLightSource;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockIce extends BlockBreakable { public class BlockIce extends BlockBreakable {
public BlockIce(int var1, int var2) { public BlockIce(int var1, int var2) {
super(var1, var2, Material.ice, false); super(var1, var2, Material.ice, false);
this.slipperiness = 0.98F; this.slipperiness = 0.98F;
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) { public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
super.harvestBlock(var1, var2, var3, var4, var5, var6); super.harvestBlock(var1, var2, var3, var4, var5, var6);
Material var7 = var1.getBlockMaterial(var3, var4 - 1, var5); Material var7 = var1.getBlockMaterial(var3, var4 - 1, var5);
if(var7.getIsSolid() || var7.getIsLiquid()) { if (var7.getIsSolid() || var7.getIsLiquid()) {
var1.setBlockWithNotify(var3, var4, var5, Block.waterMoving.blockID); var1.setBlockWithNotify(var3, var4, var5, Block.waterMoving.blockID);
} }
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11 - Block.lightOpacity[this.blockID]) { if (var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11 - Block.lightOpacity[this.blockID]) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, Block.waterStill.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.waterStill.blockID);
} }
} }
public int getMobilityFlag() { public int getMobilityFlag() {
return 0; return 0;
} }
} }

View file

@ -9,65 +9,65 @@ import net.minecraft.item.crafting.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockJukeBox extends BlockContainer { public class BlockJukeBox extends BlockContainer {
protected BlockJukeBox(int var1, int var2) { protected BlockJukeBox(int var1, int var2) {
super(var1, var2, Material.wood); super(var1, var2, Material.wood);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return this.blockIndexInTexture + (var1 == 1 ? 1 : 0); return this.blockIndexInTexture + (var1 == 1 ? 1 : 0);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.getBlockMetadata(var2, var3, var4) == 0) { if (var1.getBlockMetadata(var2, var3, var4) == 0) {
return false; return false;
} else { } else {
this.func_28035_b_(var1, var2, var3, var4); this.func_28035_b_(var1, var2, var3, var4);
return true; return true;
} }
} }
public void ejectRecord(World var1, int var2, int var3, int var4, int var5) { public void ejectRecord(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
TileEntityRecordPlayer var6 = (TileEntityRecordPlayer)var1.getBlockTileEntity(var2, var3, var4); TileEntityRecordPlayer var6 = (TileEntityRecordPlayer) var1.getBlockTileEntity(var2, var3, var4);
var6.field_28009_a = var5; var6.field_28009_a = var5;
var6.onInventoryChanged(); var6.onInventoryChanged();
var1.setBlockMetadataWithNotify(var2, var3, var4, 1); var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
} }
} }
public void func_28035_b_(World var1, int var2, int var3, int var4) { public void func_28035_b_(World var1, int var2, int var3, int var4) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
TileEntityRecordPlayer var5 = (TileEntityRecordPlayer)var1.getBlockTileEntity(var2, var3, var4); TileEntityRecordPlayer var5 = (TileEntityRecordPlayer) var1.getBlockTileEntity(var2, var3, var4);
int var6 = var5.field_28009_a; int var6 = var5.field_28009_a;
if(var6 != 0) { if (var6 != 0) {
var1.func_28097_e(1005, var2, var3, var4, 0); var1.func_28097_e(1005, var2, var3, var4, 0);
var1.playRecord((String)null, var2, var3, var4); var1.playRecord((String) null, var2, var3, var4);
var5.field_28009_a = 0; var5.field_28009_a = 0;
var5.onInventoryChanged(); var5.onInventoryChanged();
var1.setBlockMetadataWithNotify(var2, var3, var4, 0); var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
float var8 = 0.7F; float var8 = 0.7F;
double var9 = (double)(var1.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var9 = (double) (var1.rand.nextFloat() * var8) + (double) (1.0F - var8) * 0.5D;
double var11 = (double)(var1.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.2D + 0.6D; double var11 = (double) (var1.rand.nextFloat() * var8) + (double) (1.0F - var8) * 0.2D + 0.6D;
double var13 = (double)(var1.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var13 = (double) (var1.rand.nextFloat() * var8) + (double) (1.0F - var8) * 0.5D;
EntityItem var15 = new EntityItem(var1, (double)var2 + var9, (double)var3 + var11, (double)var4 + var13, new ItemStack(var6, 1, 0)); EntityItem var15 = new EntityItem(var1, (double) var2 + var9, (double) var3 + var11, (double) var4 + var13, new ItemStack(var6, 1, 0));
var15.delayBeforeCanPickup = 10; var15.delayBeforeCanPickup = 10;
var1.entityJoinedWorld(var15); var1.entityJoinedWorld(var15);
} }
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
this.func_28035_b_(var1, var2, var3, var4); this.func_28035_b_(var1, var2, var3, var4);
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6); super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
} }
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return new TileEntityRecordPlayer(); return new TileEntityRecordPlayer();
} }
} }

View file

@ -1,98 +1,99 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockLadder extends Block { public class BlockLadder extends Block {
protected BlockLadder(int var1, int var2) { protected BlockLadder(int var1, int var2) {
super(var1, var2, Material.circuits); super(var1, var2, Material.circuits);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
float var6 = 2.0F / 16.0F; float var6 = 2.0F / 16.0F;
if(var5 == 2) { if (var5 == 2) {
this.setBlockBounds(0.0F, 0.0F, 1.0F - var6, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 1.0F - var6, 1.0F, 1.0F, 1.0F);
} }
if(var5 == 3) { if (var5 == 3) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var6); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var6);
} }
if(var5 == 4) { if (var5 == 4) {
this.setBlockBounds(1.0F - var6, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(1.0F - var6, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
if(var5 == 5) { if (var5 == 5) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, var6, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, var6, 1.0F, 1.0F);
} }
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { 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))); 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) { public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 == 0 || var5 == 2) && var1.isBlockNormalCube(var2, var3, var4 + 1)) { if ((var6 == 0 || var5 == 2) && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var6 = 2; var6 = 2;
} }
if((var6 == 0 || var5 == 3) && var1.isBlockNormalCube(var2, var3, var4 - 1)) { if ((var6 == 0 || var5 == 3) && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var6 = 3; var6 = 3;
} }
if((var6 == 0 || var5 == 4) && var1.isBlockNormalCube(var2 + 1, var3, var4)) { if ((var6 == 0 || var5 == 4) && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var6 = 4; var6 = 4;
} }
if((var6 == 0 || var5 == 5) && var1.isBlockNormalCube(var2 - 1, var3, var4)) { if ((var6 == 0 || var5 == 5) && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var6 = 5; var6 = 5;
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
boolean var7 = false; boolean var7 = false;
if(var6 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var6 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var7 = true; var7 = true;
} }
if(var6 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) { if (var6 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var7 = true; var7 = true;
} }
if(var6 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) { if (var6 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var7 = true; var7 = true;
} }
if(var6 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var6 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var7 = true; var7 = true;
} }
if(!var7) { if (!var7) {
this.dropBlockAsItem(var1, var2, var3, var4, var6); this.dropBlockAsItem(var1, var2, var3, var4, var6);
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 1; return 1;
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
@ -9,165 +8,167 @@ import net.minecraft.item.crafting.ItemStack;
import net.minecraft.statistics.StatList; import net.minecraft.statistics.StatList;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockLeaves extends BlockLeavesBase { public class BlockLeaves extends BlockLeavesBase {
private int baseIndexInPNG; private int baseIndexInPNG;
int[] adjacentTreeBlocks; int[] adjacentTreeBlocks;
protected BlockLeaves(int var1, int var2) { protected BlockLeaves(int var1, int var2) {
super(var1, var2, Material.leaves, false); super(var1, var2, Material.leaves, false);
this.baseIndexInPNG = var2; this.baseIndexInPNG = var2;
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
byte var5 = 1; byte var5 = 1;
int var6 = var5 + 1; int var6 = var5 + 1;
if(var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) { if (var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) {
for(int var7 = -var5; var7 <= var5; ++var7) { for (int var7 = -var5; var7 <= var5; ++var7) {
for(int var8 = -var5; var8 <= var5; ++var8) { for (int var8 = -var5; var8 <= var5; ++var8) {
for(int var9 = -var5; var9 <= var5; ++var9) { for (int var9 = -var5; var9 <= var5; ++var9) {
int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9); int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9);
if(var10 == Block.leaves.blockID) { if (var10 == Block.leaves.blockID) {
int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9); int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9);
var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8); var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8);
} }
} }
} }
} }
} }
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) != 0) { if ((var6 & 8) != 0) {
byte var7 = 4; byte var7 = 4;
int var8 = var7 + 1; int var8 = var7 + 1;
byte var9 = 32; byte var9 = 32;
int var10 = var9 * var9; int var10 = var9 * var9;
int var11 = var9 / 2; int var11 = var9 / 2;
if(this.adjacentTreeBlocks == null) { if (this.adjacentTreeBlocks == null) {
this.adjacentTreeBlocks = new int[var9 * var9 * var9]; this.adjacentTreeBlocks = new int[var9 * var9 * var9];
} }
int var12; int var12;
if(var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) { if (var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) {
var12 = -var7; var12 = -var7;
label111: label111:
while(true) { while (true) {
int var13; int var13;
int var14; int var14;
int var15; int var15;
if(var12 > var7) { if (var12 > var7) {
var12 = 1; var12 = 1;
while(true) { while (true) {
if(var12 > 4) { if (var12 > 4) {
break label111; break label111;
} }
for(var13 = -var7; var13 <= var7; ++var13) { for (var13 = -var7; var13 <= var7; ++var13) {
for(var14 = -var7; var14 <= var7; ++var14) { for (var14 = -var7; var14 <= var7; ++var14) {
for(var15 = -var7; var15 <= var7; ++var15) { for (var15 = -var7; var15 <= var7; ++var15) {
if(this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11] == var12 - 1) { if (this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11] == var12 - 1) {
if(this.adjacentTreeBlocks[(var13 + var11 - 1) * var10 + (var14 + var11) * var9 + var15 + var11] == -2) { if (this.adjacentTreeBlocks[(var13 + var11 - 1) * var10 + (var14 + var11) * var9 + var15 + var11] == -2) {
this.adjacentTreeBlocks[(var13 + var11 - 1) * var10 + (var14 + var11) * var9 + var15 + var11] = var12; this.adjacentTreeBlocks[(var13 + var11 - 1) * var10 + (var14 + var11) * var9 + var15 + var11] = var12;
} }
if(this.adjacentTreeBlocks[(var13 + var11 + 1) * var10 + (var14 + var11) * var9 + var15 + var11] == -2) { if (this.adjacentTreeBlocks[(var13 + var11 + 1) * var10 + (var14 + var11) * var9 + var15 + var11] == -2) {
this.adjacentTreeBlocks[(var13 + var11 + 1) * var10 + (var14 + var11) * var9 + var15 + var11] = var12; this.adjacentTreeBlocks[(var13 + var11 + 1) * var10 + (var14 + var11) * var9 + var15 + var11] = var12;
} }
if(this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 - 1) * var9 + var15 + var11] == -2) { if (this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 - 1) * var9 + var15 + var11] == -2) {
this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 - 1) * var9 + var15 + var11] = var12; this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 - 1) * var9 + var15 + var11] = var12;
} }
if(this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 + 1) * var9 + var15 + var11] == -2) { if (this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 + 1) * var9 + var15 + var11] == -2) {
this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 + 1) * var9 + var15 + var11] = var12; this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11 + 1) * var9 + var15 + var11] = var12;
} }
if(this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + (var15 + var11 - 1)] == -2) { if (this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + (var15 + var11 - 1)] == -2) {
this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + (var15 + var11 - 1)] = var12; this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + (var15 + var11 - 1)] = var12;
} }
if(this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11 + 1] == -2) { if (this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11 + 1] == -2) {
this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11 + 1] = var12; this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11 + 1] = var12;
} }
} }
} }
} }
} }
++var12; ++var12;
} }
} }
for(var13 = -var7; var13 <= var7; ++var13) { for (var13 = -var7; var13 <= var7; ++var13) {
for(var14 = -var7; var14 <= var7; ++var14) { for (var14 = -var7; var14 <= var7; ++var14) {
var15 = var1.getBlockId(var2 + var12, var3 + var13, var4 + var14); var15 = var1.getBlockId(var2 + var12, var3 + var13, var4 + var14);
if(var15 == Block.wood.blockID) { if (var15 == Block.wood.blockID) {
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = 0; this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = 0;
} else if(var15 == Block.leaves.blockID) { } else if (var15 == Block.leaves.blockID) {
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -2; this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -2;
} else { } else {
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -1; this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -1;
} }
} }
} }
++var12; ++var12;
} }
} }
var12 = this.adjacentTreeBlocks[var11 * var10 + var11 * var9 + var11]; var12 = this.adjacentTreeBlocks[var11 * var10 + var11 * var9 + var11];
if(var12 >= 0) { if (var12 >= 0) {
var1.setBlockMetadata(var2, var3, var4, var6 & -9); var1.setBlockMetadata(var2, var3, var4, var6 & -9);
} else { } else {
this.removeLeaves(var1, var2, var3, var4); this.removeLeaves(var1, var2, var3, var4);
} }
} }
} }
} }
private void removeLeaves(World var1, int var2, int var3, int var4) { private void removeLeaves(World var1, int var2, int var3, int var4) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return var1.nextInt(20) == 0 ? 1 : 0; return var1.nextInt(20) == 0 ? 1 : 0;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.sapling.blockID; return Block.sapling.blockID;
} }
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) { public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
if(!var1.singleplayerWorld && var2.getCurrentEquippedItem() != null && var2.getCurrentEquippedItem().itemID == Item.field_31022_bc.shiftedIndex) { if (!var1.singleplayerWorld && var2.getCurrentEquippedItem() != null && var2.getCurrentEquippedItem().itemID == Item.field_31022_bc.shiftedIndex) {
var2.addStat(StatList.mineBlockStatArray[this.blockID], 1); var2.addStat(StatList.mineBlockStatArray[this.blockID], 1);
this.dropBlockAsItem_do(var1, var3, var4, var5, new ItemStack(Block.leaves.blockID, 1, var6 & 3)); this.dropBlockAsItem_do(var1, var3, var4, var5, new ItemStack(Block.leaves.blockID, 1, var6 & 3));
} else { } else {
super.harvestBlock(var1, var2, var3, var4, var5, var6); super.harvestBlock(var1, var2, var3, var4, var5, var6);
} }
} }
protected int damageDropped(int var1) { protected int damageDropped(int var1) {
return var1 & 3; return var1 & 3;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return !this.graphicsLevel; return !this.graphicsLevel;
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return (var2 & 3) == 1 ? this.blockIndexInTexture + 80 : this.blockIndexInTexture; return (var2 & 3) == 1 ? this.blockIndexInTexture + 80 : this.blockIndexInTexture;
} }
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
super.onEntityWalking(var1, var2, var3, var4, var5); super.onEntityWalking(var1, var2, var3, var4, var5);
} }
} }

View file

@ -3,14 +3,14 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockLeavesBase extends Block { public class BlockLeavesBase extends Block {
protected boolean graphicsLevel; protected boolean graphicsLevel;
protected BlockLeavesBase(int var1, int var2, Material var3, boolean var4) { protected BlockLeavesBase(int var1, int var2, Material var3, boolean var4) {
super(var1, var2, var3); super(var1, var2, var3);
this.graphicsLevel = var4; this.graphicsLevel = var4;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
} }

View file

@ -7,194 +7,194 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockLever extends Block { public class BlockLever extends Block {
protected BlockLever(int var1, int var2) { protected BlockLever(int var1, int var2) {
super(var1, var2, Material.circuits); super(var1, var2, Material.circuits);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) { public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
return var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4) ? true : (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)))); return var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4) ? true : (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4))));
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { 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)))); 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) { public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var6 & 8; int var7 = var6 & 8;
var6 &= 7; var6 &= 7;
var6 = -1; var6 = -1;
if(var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4)) { if (var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4)) {
var6 = 5 + var1.rand.nextInt(2); var6 = 5 + var1.rand.nextInt(2);
} }
if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var6 = 4; var6 = 4;
} }
if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) { if (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var6 = 3; var6 = 3;
} }
if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) { if (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var6 = 2; var6 = 2;
} }
if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var6 = 1; var6 = 1;
} }
if(var6 == -1) { if (var6 == -1) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + var7); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + var7);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(this.checkIfAttachedToBlock(var1, var2, var3, var4)) { if (this.checkIfAttachedToBlock(var1, var2, var3, var4)) {
int var6 = var1.getBlockMetadata(var2, var3, var4) & 7; int var6 = var1.getBlockMetadata(var2, var3, var4) & 7;
boolean var7 = false; boolean var7 = false;
if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) { if (!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) { if (!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) { if (!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) { if (!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 5) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 5) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 6) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 6) {
var7 = true; var7 = true;
} }
if(var7) { if (var7) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }
private boolean checkIfAttachedToBlock(World var1, int var2, int var3, int var4) { private boolean checkIfAttachedToBlock(World var1, int var2, int var3, int var4) {
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) { if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
return false; return false;
} else { } else {
return true; return true;
} }
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7; int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
float var6 = 3.0F / 16.0F; float var6 = 3.0F / 16.0F;
if(var5 == 1) { if (var5 == 1) {
this.setBlockBounds(0.0F, 0.2F, 0.5F - var6, var6 * 2.0F, 0.8F, 0.5F + var6); this.setBlockBounds(0.0F, 0.2F, 0.5F - var6, var6 * 2.0F, 0.8F, 0.5F + var6);
} else if(var5 == 2) { } else if (var5 == 2) {
this.setBlockBounds(1.0F - var6 * 2.0F, 0.2F, 0.5F - var6, 1.0F, 0.8F, 0.5F + var6); this.setBlockBounds(1.0F - var6 * 2.0F, 0.2F, 0.5F - var6, 1.0F, 0.8F, 0.5F + var6);
} else if(var5 == 3) { } else if (var5 == 3) {
this.setBlockBounds(0.5F - var6, 0.2F, 0.0F, 0.5F + var6, 0.8F, var6 * 2.0F); this.setBlockBounds(0.5F - var6, 0.2F, 0.0F, 0.5F + var6, 0.8F, var6 * 2.0F);
} else if(var5 == 4) { } else if (var5 == 4) {
this.setBlockBounds(0.5F - var6, 0.2F, 1.0F - var6 * 2.0F, 0.5F + var6, 0.8F, 1.0F); this.setBlockBounds(0.5F - var6, 0.2F, 1.0F - var6 * 2.0F, 0.5F + var6, 0.8F, 1.0F);
} else { } else {
var6 = 0.25F; var6 = 0.25F;
this.setBlockBounds(0.5F - var6, 0.0F, 0.5F - var6, 0.5F + var6, 0.6F, 0.5F + var6); this.setBlockBounds(0.5F - var6, 0.0F, 0.5F - var6, 0.5F + var6, 0.6F, 0.5F + var6);
} }
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.blockActivated(var1, var2, var3, var4, var5); this.blockActivated(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var6 & 7; int var7 = var6 & 7;
int var8 = 8 - (var6 & 8); int var8 = 8 - (var6 & 8);
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8); var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "random.click", 0.3F, var8 > 0 ? 0.6F : 0.5F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "random.click", 0.3F, var8 > 0 ? 0.6F : 0.5F);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
if(var7 == 1) { if (var7 == 1) {
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
} else if(var7 == 2) { } else if (var7 == 2) {
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
} else if(var7 == 3) { } else if (var7 == 3) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
} else if(var7 == 4) { } else if (var7 == 4) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} else { } else {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
} }
return true; return true;
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
if((var5 & 8) > 0) { if ((var5 & 8) > 0) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
int var6 = var5 & 7; int var6 = var5 & 7;
if(var6 == 1) { if (var6 == 1) {
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
} else if(var6 == 2) { } else if (var6 == 2) {
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
} else if(var6 == 3) { } else if (var6 == 3) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
} else if(var6 == 4) { } else if (var6 == 4) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} else { } else {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
} }
} }
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0; return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0;
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) == 0) { if ((var6 & 8) == 0) {
return false; return false;
} else { } else {
int var7 = var6 & 7; int var7 = var6 & 7;
return var7 == 6 && var5 == 1 ? true : (var7 == 5 && var5 == 1 ? true : (var7 == 4 && var5 == 2 ? true : (var7 == 3 && var5 == 3 ? true : (var7 == 2 && var5 == 4 ? true : var7 == 1 && var5 == 5)))); return var7 == 6 && var5 == 1 ? true : (var7 == 5 && var5 == 1 ? true : (var7 == 4 && var5 == 2 ? true : (var7 == 3 && var5 == 3 ? true : (var7 == 2 && var5 == 4 ? true : var7 == 1 && var5 == 5))));
} }
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return true; return true;
} }
} }

View file

@ -1,24 +1,25 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockLockedChest extends Block { public class BlockLockedChest extends Block {
protected BlockLockedChest(int var1) { protected BlockLockedChest(int var1) {
super(var1, Material.wood); super(var1, Material.wood);
this.blockIndexInTexture = 26; this.blockIndexInTexture = 26;
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture)); 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) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return true; return true;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }

View file

@ -1,54 +1,55 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockLog extends Block { public class BlockLog extends Block {
protected BlockLog(int var1) { protected BlockLog(int var1) {
super(var1, Material.wood); super(var1, Material.wood);
this.blockIndexInTexture = 20; this.blockIndexInTexture = 20;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 1; return 1;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.wood.blockID; return Block.wood.blockID;
} }
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) { public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
super.harvestBlock(var1, var2, var3, var4, var5, var6); super.harvestBlock(var1, var2, var3, var4, var5, var6);
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
byte var5 = 4; byte var5 = 4;
int var6 = var5 + 1; int var6 = var5 + 1;
if(var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) { if (var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) {
for(int var7 = -var5; var7 <= var5; ++var7) { for (int var7 = -var5; var7 <= var5; ++var7) {
for(int var8 = -var5; var8 <= var5; ++var8) { for (int var8 = -var5; var8 <= var5; ++var8) {
for(int var9 = -var5; var9 <= var5; ++var9) { for (int var9 = -var5; var9 <= var5; ++var9) {
int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9); int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9);
if(var10 == Block.leaves.blockID) { if (var10 == Block.leaves.blockID) {
int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9); int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9);
if((var11 & 8) == 0) { if ((var11 & 8) == 0) {
var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8); var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8);
} }
} }
} }
} }
} }
} }
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var1 == 1 ? 21 : (var1 == 0 ? 21 : (var2 == 1 ? 116 : (var2 == 2 ? 117 : 20))); return var1 == 1 ? 21 : (var1 == 0 ? 21 : (var2 == 1 ? 116 : (var2 == 2 ? 117 : 20)));
} }
protected int damageDropped(int var1) { protected int damageDropped(int var1) {
return var1; return var1;
} }
} }

View file

@ -1,28 +1,29 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityMobSpawner; import net.minecraft.block.tile.TileEntityMobSpawner;
import java.util.Random;
public class BlockMobSpawner extends BlockContainer { public class BlockMobSpawner extends BlockContainer {
protected BlockMobSpawner(int var1, int var2) { protected BlockMobSpawner(int var1, int var2) {
super(var1, var2, Material.rock); super(var1, var2, Material.rock);
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return new TileEntityMobSpawner(); return new TileEntityMobSpawner();
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return 0; return 0;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
} }

View file

@ -1,37 +1,38 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockMushroom extends BlockFlower { public class BlockMushroom extends BlockFlower {
protected BlockMushroom(int var1, int var2) { protected BlockMushroom(int var1, int var2) {
super(var1, var2); super(var1, var2);
float var3 = 0.2F; float var3 = 0.2F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var5.nextInt(100) == 0) { if (var5.nextInt(100) == 0) {
int var6 = var2 + var5.nextInt(3) - 1; int var6 = var2 + var5.nextInt(3) - 1;
int var7 = var3 + var5.nextInt(2) - var5.nextInt(2); int var7 = var3 + var5.nextInt(2) - var5.nextInt(2);
int var8 = var4 + var5.nextInt(3) - 1; int var8 = var4 + var5.nextInt(3) - 1;
if(var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) { if (var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) {
int var10000 = var2 + (var5.nextInt(3) - 1); int var10000 = var2 + (var5.nextInt(3) - 1);
var10000 = var4 + (var5.nextInt(3) - 1); var10000 = var4 + (var5.nextInt(3) - 1);
if(var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) { if (var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) {
var1.setBlockWithNotify(var6, var7, var8, this.blockID); var1.setBlockWithNotify(var6, var7, var8, this.blockID);
} }
} }
} }
} }
protected boolean canThisPlantGrowOnThisBlockID(int var1) { protected boolean canThisPlantGrowOnThisBlockID(int var1) {
return Block.opaqueCubeLookup[var1]; return Block.opaqueCubeLookup[var1];
} }
public boolean canBlockStay(World var1, int var2, int var3, int var4) { public boolean canBlockStay(World var1, int var2, int var3, int var4) {
return var3 >= 0 && var3 < 128 ? var1.getBlockLightValueNoChecks(var2, var3, var4) < 13 && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)) : false; return var3 >= 0 && var3 < 128 ? var1.getBlockLightValueNoChecks(var2, var3, var4) < 13 && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, var4)) : false;
} }
} }

View file

@ -3,7 +3,7 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockNetherrack extends Block { public class BlockNetherrack extends Block {
public BlockNetherrack(int var1, int var2) { public BlockNetherrack(int var1, int var2) {
super(var1, var2, Material.rock); super(var1, var2, Material.rock);
} }
} }

View file

@ -7,71 +7,71 @@ import net.minecraft.entity.EntityPlayer;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockNote extends BlockContainer { public class BlockNote extends BlockContainer {
public BlockNote(int var1) { public BlockNote(int var1) {
super(var1, 74, Material.wood); super(var1, 74, Material.wood);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) { if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
boolean var6 = var1.isBlockGettingPowered(var2, var3, var4); boolean var6 = var1.isBlockGettingPowered(var2, var3, var4);
TileEntityNote var7 = (TileEntityNote)var1.getBlockTileEntity(var2, var3, var4); TileEntityNote var7 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
if(var7.previousRedstoneState != var6) { if (var7.previousRedstoneState != var6) {
if(var6) { if (var6) {
var7.triggerNote(var1, var2, var3, var4); var7.triggerNote(var1, var2, var3, var4);
} }
var7.previousRedstoneState = var6; var7.previousRedstoneState = var6;
} }
} }
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
TileEntityNote var6 = (TileEntityNote)var1.getBlockTileEntity(var2, var3, var4); TileEntityNote var6 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
var6.changePitch(); var6.changePitch();
var6.triggerNote(var1, var2, var3, var4); var6.triggerNote(var1, var2, var3, var4);
return true; return true;
} }
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
TileEntityNote var6 = (TileEntityNote)var1.getBlockTileEntity(var2, var3, var4); TileEntityNote var6 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
var6.triggerNote(var1, var2, var3, var4); var6.triggerNote(var1, var2, var3, var4);
} }
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return new TileEntityNote(); return new TileEntityNote();
} }
public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) { public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) {
float var7 = (float)Math.pow(2.0D, (double)(var6 - 12) / 12.0D); float var7 = (float) Math.pow(2.0D, (double) (var6 - 12) / 12.0D);
String var8 = "harp"; String var8 = "harp";
if(var5 == 1) { if (var5 == 1) {
var8 = "bd"; var8 = "bd";
} }
if(var5 == 2) { if (var5 == 2) {
var8 = "snare"; var8 = "snare";
} }
if(var5 == 3) { if (var5 == 3) {
var8 = "hat"; var8 = "hat";
} }
if(var5 == 4) { if (var5 == 4) {
var8 = "bassattack"; var8 = "bassattack";
} }
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "note." + var8, 3.0F, var7); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "note." + var8, 3.0F, var7);
var1.spawnParticle("note", (double)var2 + 0.5D, (double)var3 + 1.2D, (double)var4 + 0.5D, (double)var6 / 24.0D, 0.0D, 0.0D); var1.spawnParticle("note", (double) var2 + 0.5D, (double) var3 + 1.2D, (double) var4 + 0.5D, (double) var6 / 24.0D, 0.0D, 0.0D);
} }
} }

View file

@ -3,15 +3,15 @@ package net.minecraft.block;
import java.util.Random; import java.util.Random;
public class BlockObsidian extends BlockStone { public class BlockObsidian extends BlockStone {
public BlockObsidian(int var1, int var2) { public BlockObsidian(int var1, int var2) {
super(var1, var2); super(var1, var2);
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 1; return 1;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.obsidian.blockID; return Block.obsidian.blockID;
} }
} }

View file

@ -1,23 +1,24 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import java.util.Random;
public class BlockOre extends Block { public class BlockOre extends Block {
public BlockOre(int var1, int var2) { public BlockOre(int var1, int var2) {
super(var1, var2, Material.rock); super(var1, var2, Material.rock);
} }
public int idDropped(int var1, Random var2) { 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 == Block.oreLapis.blockID ? Item.dyePowder.shiftedIndex : this.blockID)); return this.blockID == Block.oreCoal.blockID ? Item.coal.shiftedIndex : (this.blockID == Block.oreDiamond.blockID ? Item.diamond.shiftedIndex : (this.blockID == Block.oreLapis.blockID ? Item.dyePowder.shiftedIndex : this.blockID));
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return this.blockID == Block.oreLapis.blockID ? 4 + var1.nextInt(5) : 1; return this.blockID == Block.oreLapis.blockID ? 4 + var1.nextInt(5) : 1;
} }
protected int damageDropped(int var1) { protected int damageDropped(int var1) {
return this.blockID == Block.oreLapis.blockID ? 4 : 0; return this.blockID == Block.oreLapis.blockID ? 4 : 0;
} }
} }

View file

@ -3,12 +3,12 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockOreStorage extends Block { public class BlockOreStorage extends Block {
public BlockOreStorage(int var1, int var2) { public BlockOreStorage(int var1, int var2) {
super(var1, Material.iron); super(var1, Material.iron);
this.blockIndexInTexture = var2; this.blockIndexInTexture = var2;
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.ArrayList;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityPiston; import net.minecraft.block.tile.TileEntityPiston;
@ -12,316 +11,318 @@ import net.minecraft.util.PistonBlockTextures;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList;
public class BlockPistonBase extends Block { public class BlockPistonBase extends Block {
private boolean isSticky; private boolean isSticky;
private boolean ignoreUpdates; private boolean ignoreUpdates;
public BlockPistonBase(int var1, int var2, boolean var3) { public BlockPistonBase(int var1, int var2, boolean var3) {
super(var1, var2, Material.piston); super(var1, var2, Material.piston);
this.isSticky = var3; this.isSticky = var3;
this.setStepSound(soundStoneFootstep); this.setStepSound(soundStoneFootstep);
this.setHardness(0.5F); this.setHardness(0.5F);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
int var3 = getOrientation(var2); int var3 = getOrientation(var2);
return var3 > 5 ? this.blockIndexInTexture : (var1 == var3 ? (!isExtended(var2) && this.minX <= 0.0D && this.minY <= 0.0D && this.minZ <= 0.0D && this.maxX >= 1.0D && this.maxY >= 1.0D && this.maxZ >= 1.0D ? this.blockIndexInTexture : 110) : (var1 == PistonBlockTextures.field_31052_a[var3] ? 109 : 108)); return var3 > 5 ? this.blockIndexInTexture : (var1 == var3 ? (!isExtended(var2) && this.minX <= 0.0D && this.minY <= 0.0D && this.minZ <= 0.0D && this.maxX >= 1.0D && this.maxY >= 1.0D && this.maxZ >= 1.0D ? this.blockIndexInTexture : 110) : (var1 == PistonBlockTextures.field_31052_a[var3] ? 109 : 108));
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
return false; return false;
} }
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) { public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
int var6 = determineOrientation(var1, var2, var3, var4, (EntityPlayer)var5); int var6 = determineOrientation(var1, var2, var3, var4, (EntityPlayer) var5);
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
this.updatePistonState(var1, var2, var3, var4); this.updatePistonState(var1, var2, var3, var4);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld && !this.ignoreUpdates) { if (!var1.singleplayerWorld && !this.ignoreUpdates) {
this.updatePistonState(var1, var2, var3, var4); this.updatePistonState(var1, var2, var3, var4);
} }
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
if(!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) { if (!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
this.updatePistonState(var1, var2, var3, var4); this.updatePistonState(var1, var2, var3, var4);
} }
} }
private void updatePistonState(World var1, int var2, int var3, int var4) { private void updatePistonState(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
int var6 = getOrientation(var5); int var6 = getOrientation(var5);
boolean var7 = this.isPowered(var1, var2, var3, var4, var6); boolean var7 = this.isPowered(var1, var2, var3, var4, var6);
if(var5 != 7) { if (var5 != 7) {
if(var7 && !isExtended(var5)) { if (var7 && !isExtended(var5)) {
if(canExtend(var1, var2, var3, var4, var6)) { if (canExtend(var1, var2, var3, var4, var6)) {
var1.setBlockMetadata(var2, var3, var4, var6 | 8); var1.setBlockMetadata(var2, var3, var4, var6 | 8);
var1.playNoteAt(var2, var3, var4, 0, var6); var1.playNoteAt(var2, var3, var4, 0, var6);
} }
} else if(!var7 && isExtended(var5)) { } else if (!var7 && isExtended(var5)) {
var1.setBlockMetadata(var2, var3, var4, var6); var1.setBlockMetadata(var2, var3, var4, var6);
var1.playNoteAt(var2, var3, var4, 1, var6); var1.playNoteAt(var2, var3, var4, 1, var6);
} }
} }
} }
private boolean isPowered(World var1, int var2, int var3, int var4, int var5) { private boolean isPowered(World var1, int var2, int var3, int var4, int var5) {
return var5 != 0 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3 - 1, var4, 0) ? true : (var5 != 1 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 1, var4, 1) ? true : (var5 != 2 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 - 1, 2) ? true : (var5 != 3 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 + 1, 3) ? true : (var5 != 5 && var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3, var4, 5) ? true : (var5 != 4 && var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3, var4, 4) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4, 0) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 2, var4, 1) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 1, var4 - 1, 2) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 1, var4 + 1, 3) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3 + 1, var4, 4) ? true : var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3 + 1, var4, 5))))))))))); return var5 != 0 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3 - 1, var4, 0) ? true : (var5 != 1 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 1, var4, 1) ? true : (var5 != 2 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 - 1, 2) ? true : (var5 != 3 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 + 1, 3) ? true : (var5 != 5 && var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3, var4, 5) ? true : (var5 != 4 && var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3, var4, 4) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4, 0) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 2, var4, 1) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 1, var4 - 1, 2) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2, var3 + 1, var4 + 1, 3) ? true : (var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3 + 1, var4, 4) ? true : var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3 + 1, var4, 5)))))))))));
} }
public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) { public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) {
this.ignoreUpdates = true; this.ignoreUpdates = true;
if(var5 == 0) { if (var5 == 0) {
if(this.tryExtend(var1, var2, var3, var4, var6)) { if (this.tryExtend(var1, var2, var3, var4, var6)) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 | 8); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 | 8);
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "tile.piston.out", 0.5F, var1.rand.nextFloat() * 0.25F + 0.6F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "tile.piston.out", 0.5F, var1.rand.nextFloat() * 0.25F + 0.6F);
} }
} else if(var5 == 1) { } else if (var5 == 1) {
TileEntity var8 = var1.getBlockTileEntity(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6]); TileEntity var8 = var1.getBlockTileEntity(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6]);
if(var8 != null && var8 instanceof TileEntityPiston) { if (var8 != null && var8 instanceof TileEntityPiston) {
((TileEntityPiston)var8).clearPistonTileEntity(); ((TileEntityPiston) var8).clearPistonTileEntity();
} }
var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var6); var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var6);
var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(this.blockID, var6, var6, false, true)); var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(this.blockID, var6, var6, false, true));
if(this.isSticky) { if (this.isSticky) {
int var9 = var2 + PistonBlockTextures.field_31051_b[var6] * 2; int var9 = var2 + PistonBlockTextures.field_31051_b[var6] * 2;
int var10 = var3 + PistonBlockTextures.field_31054_c[var6] * 2; int var10 = var3 + PistonBlockTextures.field_31054_c[var6] * 2;
int var11 = var4 + PistonBlockTextures.field_31053_d[var6] * 2; int var11 = var4 + PistonBlockTextures.field_31053_d[var6] * 2;
int var12 = var1.getBlockId(var9, var10, var11); int var12 = var1.getBlockId(var9, var10, var11);
int var13 = var1.getBlockMetadata(var9, var10, var11); int var13 = var1.getBlockMetadata(var9, var10, var11);
boolean var14 = false; boolean var14 = false;
if(var12 == Block.pistonMoving.blockID) { if (var12 == Block.pistonMoving.blockID) {
TileEntity var15 = var1.getBlockTileEntity(var9, var10, var11); TileEntity var15 = var1.getBlockTileEntity(var9, var10, var11);
if(var15 != null && var15 instanceof TileEntityPiston) { if (var15 != null && var15 instanceof TileEntityPiston) {
TileEntityPiston var16 = (TileEntityPiston)var15; TileEntityPiston var16 = (TileEntityPiston) var15;
if(var16.func_31008_d() == var6 && var16.func_31010_c()) { if (var16.func_31008_d() == var6 && var16.func_31010_c()) {
var16.clearPistonTileEntity(); var16.clearPistonTileEntity();
var12 = var16.getStoredBlockID(); var12 = var16.getStoredBlockID();
var13 = var16.func_31005_e(); var13 = var16.func_31005_e();
var14 = true; var14 = true;
} }
} }
} }
if(var14 || var12 <= 0 || !canPushBlock(var12, var1, var9, var10, var11, false) || Block.blocksList[var12].getMobilityFlag() != 0 && var12 != Block.pistonBase.blockID && var12 != Block.pistonStickyBase.blockID) { if (var14 || var12 <= 0 || !canPushBlock(var12, var1, var9, var10, var11, false) || Block.blocksList[var12].getMobilityFlag() != 0 && var12 != Block.pistonBase.blockID && var12 != Block.pistonStickyBase.blockID) {
if(!var14) { if (!var14) {
this.ignoreUpdates = false; this.ignoreUpdates = false;
var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0); var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0);
this.ignoreUpdates = true; this.ignoreUpdates = true;
} }
} else { } else {
this.ignoreUpdates = false; this.ignoreUpdates = false;
var1.setBlockWithNotify(var9, var10, var11, 0); var1.setBlockWithNotify(var9, var10, var11, 0);
this.ignoreUpdates = true; this.ignoreUpdates = true;
var2 += PistonBlockTextures.field_31051_b[var6]; var2 += PistonBlockTextures.field_31051_b[var6];
var3 += PistonBlockTextures.field_31054_c[var6]; var3 += PistonBlockTextures.field_31054_c[var6];
var4 += PistonBlockTextures.field_31053_d[var6]; var4 += PistonBlockTextures.field_31053_d[var6];
var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var13); var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var13);
var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(var12, var13, var6, false, false)); var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(var12, var13, var6, false, false));
} }
} else { } else {
this.ignoreUpdates = false; this.ignoreUpdates = false;
var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0); var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0);
this.ignoreUpdates = true; this.ignoreUpdates = true;
} }
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.5D, (double)var4 + 0.5D, "tile.piston.in", 0.5F, var1.rand.nextFloat() * 0.15F + 0.6F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.5D, (double) var4 + 0.5D, "tile.piston.in", 0.5F, var1.rand.nextFloat() * 0.15F + 0.6F);
} }
this.ignoreUpdates = false; this.ignoreUpdates = false;
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
if(isExtended(var5)) { if (isExtended(var5)) {
switch(getOrientation(var5)) { switch (getOrientation(var5)) {
case 0: case 0:
this.setBlockBounds(0.0F, 0.25F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.25F, 0.0F, 1.0F, 1.0F, 1.0F);
break; break;
case 1: case 1:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 12.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 12.0F / 16.0F, 1.0F);
break; break;
case 2: case 2:
this.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 1.0F, 1.0F);
break; break;
case 3: case 3:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 12.0F / 16.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 12.0F / 16.0F);
break; break;
case 4: case 4:
this.setBlockBounds(0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break; break;
case 5: case 5:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F);
} }
} else { } else {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
} }
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) { public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public static int getOrientation(int var0) { public static int getOrientation(int var0) {
return var0 & 7; return var0 & 7;
} }
public static boolean isExtended(int var0) { public static boolean isExtended(int var0) {
return (var0 & 8) != 0; return (var0 & 8) != 0;
} }
private static int determineOrientation(World var0, int var1, int var2, int var3, EntityPlayer var4) { private static int determineOrientation(World var0, int var1, int var2, int var3, EntityPlayer var4) {
if(MathHelper.abs((float)var4.posX - (float)var1) < 2.0F && MathHelper.abs((float)var4.posZ - (float)var3) < 2.0F) { if (MathHelper.abs((float) var4.posX - (float) var1) < 2.0F && MathHelper.abs((float) var4.posZ - (float) var3) < 2.0F) {
double var5 = var4.posY + 1.82D - (double)var4.yOffset; double var5 = var4.posY + 1.82D - (double) var4.yOffset;
if(var5 - (double)var2 > 2.0D) { if (var5 - (double) var2 > 2.0D) {
return 1; return 1;
} }
if((double)var2 - var5 > 0.0D) { if ((double) var2 - var5 > 0.0D) {
return 0; return 0;
} }
} }
int var7 = MathHelper.floor_double((double)(var4.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; int var7 = MathHelper.floor_double((double) (var4.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
return var7 == 0 ? 2 : (var7 == 1 ? 5 : (var7 == 2 ? 3 : (var7 == 3 ? 4 : 0))); return var7 == 0 ? 2 : (var7 == 1 ? 5 : (var7 == 2 ? 3 : (var7 == 3 ? 4 : 0)));
} }
private static boolean canPushBlock(int var0, World var1, int var2, int var3, int var4, boolean var5) { private static boolean canPushBlock(int var0, World var1, int var2, int var3, int var4, boolean var5) {
if(var0 == Block.obsidian.blockID) { if (var0 == Block.obsidian.blockID) {
return false; return false;
} else { } else {
if(var0 != Block.pistonBase.blockID && var0 != Block.pistonStickyBase.blockID) { if (var0 != Block.pistonBase.blockID && var0 != Block.pistonStickyBase.blockID) {
if(Block.blocksList[var0].getHardness() == -1.0F) { if (Block.blocksList[var0].getHardness() == -1.0F) {
return false; return false;
} }
if(Block.blocksList[var0].getMobilityFlag() == 2) { if (Block.blocksList[var0].getMobilityFlag() == 2) {
return false; return false;
} }
if(!var5 && Block.blocksList[var0].getMobilityFlag() == 1) { if (!var5 && Block.blocksList[var0].getMobilityFlag() == 1) {
return false; return false;
} }
} else if(isExtended(var1.getBlockMetadata(var2, var3, var4))) { } else if (isExtended(var1.getBlockMetadata(var2, var3, var4))) {
return false; return false;
} }
TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4); TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
return var6 == null; return var6 == null;
} }
} }
private static boolean canExtend(World var0, int var1, int var2, int var3, int var4) { private static boolean canExtend(World var0, int var1, int var2, int var3, int var4) {
int var5 = var1 + PistonBlockTextures.field_31051_b[var4]; int var5 = var1 + PistonBlockTextures.field_31051_b[var4];
int var6 = var2 + PistonBlockTextures.field_31054_c[var4]; int var6 = var2 + PistonBlockTextures.field_31054_c[var4];
int var7 = var3 + PistonBlockTextures.field_31053_d[var4]; int var7 = var3 + PistonBlockTextures.field_31053_d[var4];
int var8 = 0; int var8 = 0;
while(true) { while (true) {
if(var8 < 13) { if (var8 < 13) {
if(var6 <= 0 || var6 >= 127) { if (var6 <= 0 || var6 >= 127) {
return false; return false;
} }
int var9 = var0.getBlockId(var5, var6, var7); int var9 = var0.getBlockId(var5, var6, var7);
if(var9 != 0) { if (var9 != 0) {
if(!canPushBlock(var9, var0, var5, var6, var7, true)) { if (!canPushBlock(var9, var0, var5, var6, var7, true)) {
return false; return false;
} }
if(Block.blocksList[var9].getMobilityFlag() != 1) { if (Block.blocksList[var9].getMobilityFlag() != 1) {
if(var8 == 12) { if (var8 == 12) {
return false; return false;
} }
var5 += PistonBlockTextures.field_31051_b[var4]; var5 += PistonBlockTextures.field_31051_b[var4];
var6 += PistonBlockTextures.field_31054_c[var4]; var6 += PistonBlockTextures.field_31054_c[var4];
var7 += PistonBlockTextures.field_31053_d[var4]; var7 += PistonBlockTextures.field_31053_d[var4];
++var8; ++var8;
continue; continue;
} }
} }
} }
return true; return true;
} }
} }
private boolean tryExtend(World var1, int var2, int var3, int var4, int var5) { private boolean tryExtend(World var1, int var2, int var3, int var4, int var5) {
int var6 = var2 + PistonBlockTextures.field_31051_b[var5]; int var6 = var2 + PistonBlockTextures.field_31051_b[var5];
int var7 = var3 + PistonBlockTextures.field_31054_c[var5]; int var7 = var3 + PistonBlockTextures.field_31054_c[var5];
int var8 = var4 + PistonBlockTextures.field_31053_d[var5]; int var8 = var4 + PistonBlockTextures.field_31053_d[var5];
int var9 = 0; int var9 = 0;
while(true) { while (true) {
int var10; int var10;
if(var9 < 13) { if (var9 < 13) {
if(var7 <= 0 || var7 >= 127) { if (var7 <= 0 || var7 >= 127) {
return false; return false;
} }
var10 = var1.getBlockId(var6, var7, var8); var10 = var1.getBlockId(var6, var7, var8);
if(var10 != 0) { if (var10 != 0) {
if(!canPushBlock(var10, var1, var6, var7, var8, true)) { if (!canPushBlock(var10, var1, var6, var7, var8, true)) {
return false; return false;
} }
if(Block.blocksList[var10].getMobilityFlag() != 1) { if (Block.blocksList[var10].getMobilityFlag() != 1) {
if(var9 == 12) { if (var9 == 12) {
return false; return false;
} }
var6 += PistonBlockTextures.field_31051_b[var5]; var6 += PistonBlockTextures.field_31051_b[var5];
var7 += PistonBlockTextures.field_31054_c[var5]; var7 += PistonBlockTextures.field_31054_c[var5];
var8 += PistonBlockTextures.field_31053_d[var5]; var8 += PistonBlockTextures.field_31053_d[var5];
++var9; ++var9;
continue; continue;
} }
Block.blocksList[var10].dropBlockAsItem(var1, var6, var7, var8, var1.getBlockMetadata(var6, var7, var8)); Block.blocksList[var10].dropBlockAsItem(var1, var6, var7, var8, var1.getBlockMetadata(var6, var7, var8));
var1.setBlockWithNotify(var6, var7, var8, 0); var1.setBlockWithNotify(var6, var7, var8, 0);
} }
} }
while(var6 != var2 || var7 != var3 || var8 != var4) { while (var6 != var2 || var7 != var3 || var8 != var4) {
var9 = var6 - PistonBlockTextures.field_31051_b[var5]; var9 = var6 - PistonBlockTextures.field_31051_b[var5];
var10 = var7 - PistonBlockTextures.field_31054_c[var5]; var10 = var7 - PistonBlockTextures.field_31054_c[var5];
int var11 = var8 - PistonBlockTextures.field_31053_d[var5]; int var11 = var8 - PistonBlockTextures.field_31053_d[var5];
int var12 = var1.getBlockId(var9, var10, var11); int var12 = var1.getBlockId(var9, var10, var11);
int var13 = var1.getBlockMetadata(var9, var10, var11); int var13 = var1.getBlockMetadata(var9, var10, var11);
if(var12 == this.blockID && var9 == var2 && var10 == var3 && var11 == var4) { if (var12 == this.blockID && var9 == var2 && var10 == var3 && var11 == var4) {
var1.setBlockAndMetadata(var6, var7, var8, Block.pistonMoving.blockID, var5 | (this.isSticky ? 8 : 0)); var1.setBlockAndMetadata(var6, var7, var8, Block.pistonMoving.blockID, var5 | (this.isSticky ? 8 : 0));
var1.setBlockTileEntity(var6, var7, var8, BlockPistonMoving.getTileEntity(Block.pistonExtension.blockID, var5 | (this.isSticky ? 8 : 0), var5, true, false)); var1.setBlockTileEntity(var6, var7, var8, BlockPistonMoving.getTileEntity(Block.pistonExtension.blockID, var5 | (this.isSticky ? 8 : 0), var5, true, false));
} else { } else {
var1.setBlockAndMetadata(var6, var7, var8, Block.pistonMoving.blockID, var13); var1.setBlockAndMetadata(var6, var7, var8, Block.pistonMoving.blockID, var13);
var1.setBlockTileEntity(var6, var7, var8, BlockPistonMoving.getTileEntity(var12, var13, var5, true, false)); var1.setBlockTileEntity(var6, var7, var8, BlockPistonMoving.getTileEntity(var12, var13, var5, true, false));
} }
var6 = var9; var6 = var9;
var7 = var10; var7 = var10;
var8 = var11; var8 = var11;
} }
return true; return true;
} }
} }
} }

View file

@ -1,144 +1,145 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.util.PistonBlockTextures; import net.minecraft.util.PistonBlockTextures;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.Random;
public class BlockPistonExtension extends Block { public class BlockPistonExtension extends Block {
private int field_31046_a = -1; private int field_31046_a = -1;
public BlockPistonExtension(int var1, int var2) { public BlockPistonExtension(int var1, int var2) {
super(var1, var2, Material.piston); super(var1, var2, Material.piston);
this.setStepSound(soundStoneFootstep); this.setStepSound(soundStoneFootstep);
this.setHardness(0.5F); this.setHardness(0.5F);
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
int var6 = PistonBlockTextures.field_31052_a[func_31045_b(var5)]; int var6 = PistonBlockTextures.field_31052_a[func_31045_b(var5)];
var2 += PistonBlockTextures.field_31051_b[var6]; var2 += PistonBlockTextures.field_31051_b[var6];
var3 += PistonBlockTextures.field_31054_c[var6]; var3 += PistonBlockTextures.field_31054_c[var6];
var4 += PistonBlockTextures.field_31053_d[var6]; var4 += PistonBlockTextures.field_31053_d[var6];
int var7 = var1.getBlockId(var2, var3, var4); int var7 = var1.getBlockId(var2, var3, var4);
if(var7 == Block.pistonBase.blockID || var7 == Block.pistonStickyBase.blockID) { if (var7 == Block.pistonBase.blockID || var7 == Block.pistonStickyBase.blockID) {
var5 = var1.getBlockMetadata(var2, var3, var4); var5 = var1.getBlockMetadata(var2, var3, var4);
if(BlockPistonBase.isExtended(var5)) { if (BlockPistonBase.isExtended(var5)) {
Block.blocksList[var7].dropBlockAsItem(var1, var2, var3, var4, var5); Block.blocksList[var7].dropBlockAsItem(var1, var2, var3, var4, var5);
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
int var3 = func_31045_b(var2); int var3 = func_31045_b(var2);
return var1 == var3 ? (this.field_31046_a >= 0 ? this.field_31046_a : ((var2 & 8) != 0 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture)) : (var1 == PistonBlockTextures.field_31052_a[var3] ? 107 : 108); return var1 == var3 ? (this.field_31046_a >= 0 ? this.field_31046_a : ((var2 & 8) != 0 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture)) : (var1 == PistonBlockTextures.field_31052_a[var3] ? 107 : 108);
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return false; return false;
} }
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) { public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
return false; return false;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) { public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
int var7 = var1.getBlockMetadata(var2, var3, var4); int var7 = var1.getBlockMetadata(var2, var3, var4);
switch(func_31045_b(var7)) { switch (func_31045_b(var7)) {
case 0: case 0:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(6.0F / 16.0F, 0.25F, 6.0F / 16.0F, 10.0F / 16.0F, 1.0F, 10.0F / 16.0F); this.setBlockBounds(6.0F / 16.0F, 0.25F, 6.0F / 16.0F, 10.0F / 16.0F, 1.0F, 10.0F / 16.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
break; break;
case 1: case 1:
this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(6.0F / 16.0F, 0.0F, 6.0F / 16.0F, 10.0F / 16.0F, 12.0F / 16.0F, 10.0F / 16.0F); this.setBlockBounds(6.0F / 16.0F, 0.0F, 6.0F / 16.0F, 10.0F / 16.0F, 12.0F / 16.0F, 10.0F / 16.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
break; break;
case 2: case 2:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.25F, 6.0F / 16.0F, 0.25F, 12.0F / 16.0F, 10.0F / 16.0F, 1.0F); this.setBlockBounds(0.25F, 6.0F / 16.0F, 0.25F, 12.0F / 16.0F, 10.0F / 16.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
break; break;
case 3: case 3:
this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.25F, 6.0F / 16.0F, 0.0F, 12.0F / 16.0F, 10.0F / 16.0F, 12.0F / 16.0F); this.setBlockBounds(0.25F, 6.0F / 16.0F, 0.0F, 12.0F / 16.0F, 10.0F / 16.0F, 12.0F / 16.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
break; break;
case 4: case 4:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(6.0F / 16.0F, 0.25F, 0.25F, 10.0F / 16.0F, 12.0F / 16.0F, 1.0F); this.setBlockBounds(6.0F / 16.0F, 0.25F, 0.25F, 10.0F / 16.0F, 12.0F / 16.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
break; break;
case 5: case 5:
this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.0F, 6.0F / 16.0F, 0.25F, 12.0F / 16.0F, 10.0F / 16.0F, 12.0F / 16.0F); this.setBlockBounds(0.0F, 6.0F / 16.0F, 0.25F, 12.0F / 16.0F, 10.0F / 16.0F, 12.0F / 16.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
} }
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
switch(func_31045_b(var5)) { switch (func_31045_b(var5)) {
case 0: case 0:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F);
break; break;
case 1: case 1:
this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break; break;
case 2: case 2:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F);
break; break;
case 3: case 3:
this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F);
break; break;
case 4: case 4:
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F);
break; break;
case 5: case 5:
this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
int var6 = func_31045_b(var1.getBlockMetadata(var2, var3, var4)); int var6 = func_31045_b(var1.getBlockMetadata(var2, var3, var4));
int var7 = var1.getBlockId(var2 - PistonBlockTextures.field_31051_b[var6], var3 - PistonBlockTextures.field_31054_c[var6], var4 - PistonBlockTextures.field_31053_d[var6]); int var7 = var1.getBlockId(var2 - PistonBlockTextures.field_31051_b[var6], var3 - PistonBlockTextures.field_31054_c[var6], var4 - PistonBlockTextures.field_31053_d[var6]);
if(var7 != Block.pistonBase.blockID && var7 != Block.pistonStickyBase.blockID) { if (var7 != Block.pistonBase.blockID && var7 != Block.pistonStickyBase.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
Block.blocksList[var7].onNeighborBlockChange(var1, var2 - PistonBlockTextures.field_31051_b[var6], var3 - PistonBlockTextures.field_31054_c[var6], var4 - PistonBlockTextures.field_31053_d[var6], var5); Block.blocksList[var7].onNeighborBlockChange(var1, var2 - PistonBlockTextures.field_31051_b[var6], var3 - PistonBlockTextures.field_31054_c[var6], var4 - PistonBlockTextures.field_31053_d[var6], var5);
} }
} }
public static int func_31045_b(int var0) { public static int func_31045_b(int var0) {
return var0 & 7; return var0 & 7;
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.block.tile.TileEntityPiston; import net.minecraft.block.tile.TileEntityPiston;
@ -10,137 +9,139 @@ import net.minecraft.util.PistonBlockTextures;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockPistonMoving extends BlockContainer { public class BlockPistonMoving extends BlockContainer {
public BlockPistonMoving(int var1) { public BlockPistonMoving(int var1) {
super(var1, Material.piston); super(var1, Material.piston);
this.setHardness(-1.0F); this.setHardness(-1.0F);
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
return null; return null;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4); TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4);
if(var5 != null && var5 instanceof TileEntityPiston) { if (var5 != null && var5 instanceof TileEntityPiston) {
((TileEntityPiston)var5).clearPistonTileEntity(); ((TileEntityPiston) var5).clearPistonTileEntity();
} else { } else {
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return false; return false;
} }
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) { public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
return false; return false;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) { if (!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
return true; return true;
} else { } else {
return false; return false;
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return 0; return 0;
} }
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
TileEntityPiston var7 = this.getTileEntityAtLocation(var1, var2, var3, var4); TileEntityPiston var7 = this.getTileEntityAtLocation(var1, var2, var3, var4);
if(var7 != null) { if (var7 != null) {
Block.blocksList[var7.getStoredBlockID()].dropBlockAsItem(var1, var2, var3, var4, var7.func_31005_e()); Block.blocksList[var7.getStoredBlockID()].dropBlockAsItem(var1, var2, var3, var4, var7.func_31005_e());
} }
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) { if (!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
} }
} }
public static TileEntity getTileEntity(int var0, int var1, int var2, boolean var3, boolean var4) { public static TileEntity getTileEntity(int var0, int var1, int var2, boolean var3, boolean var4) {
return new TileEntityPiston(var0, var1, var2, var3, var4); return new TileEntityPiston(var0, var1, var2, var3, var4);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4); TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4);
if(var5 == null) { if (var5 == null) {
return null; return null;
} else { } else {
float var6 = var5.func_31007_a(0.0F); float var6 = var5.func_31007_a(0.0F);
if(var5.func_31010_c()) { if (var5.func_31010_c()) {
var6 = 1.0F - var6; var6 = 1.0F - var6;
} }
return this.func_31032_a(var1, var2, var3, var4, var5.getStoredBlockID(), var6, var5.func_31008_d()); return this.func_31032_a(var1, var2, var3, var4, var5.getStoredBlockID(), var6, var5.func_31008_d());
} }
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4); TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4);
if(var5 != null) { if (var5 != null) {
Block var6 = Block.blocksList[var5.getStoredBlockID()]; Block var6 = Block.blocksList[var5.getStoredBlockID()];
if(var6 == null || var6 == this) { if (var6 == null || var6 == this) {
return; return;
} }
var6.setBlockBoundsBasedOnState(var1, var2, var3, var4); var6.setBlockBoundsBasedOnState(var1, var2, var3, var4);
float var7 = var5.func_31007_a(0.0F); float var7 = var5.func_31007_a(0.0F);
if(var5.func_31010_c()) { if (var5.func_31010_c()) {
var7 = 1.0F - var7; var7 = 1.0F - var7;
} }
int var8 = var5.func_31008_d(); int var8 = var5.func_31008_d();
this.minX = var6.minX - (double)((float)PistonBlockTextures.field_31051_b[var8] * var7); this.minX = var6.minX - (double) ((float) PistonBlockTextures.field_31051_b[var8] * var7);
this.minY = var6.minY - (double)((float)PistonBlockTextures.field_31054_c[var8] * var7); this.minY = var6.minY - (double) ((float) PistonBlockTextures.field_31054_c[var8] * var7);
this.minZ = var6.minZ - (double)((float)PistonBlockTextures.field_31053_d[var8] * var7); this.minZ = var6.minZ - (double) ((float) PistonBlockTextures.field_31053_d[var8] * var7);
this.maxX = var6.maxX - (double)((float)PistonBlockTextures.field_31051_b[var8] * var7); this.maxX = var6.maxX - (double) ((float) PistonBlockTextures.field_31051_b[var8] * var7);
this.maxY = var6.maxY - (double)((float)PistonBlockTextures.field_31054_c[var8] * var7); this.maxY = var6.maxY - (double) ((float) PistonBlockTextures.field_31054_c[var8] * var7);
this.maxZ = var6.maxZ - (double)((float)PistonBlockTextures.field_31053_d[var8] * var7); this.maxZ = var6.maxZ - (double) ((float) PistonBlockTextures.field_31053_d[var8] * var7);
} }
} }
public AxisAlignedBB func_31032_a(World var1, int var2, int var3, int var4, int var5, float var6, int var7) { public AxisAlignedBB func_31032_a(World var1, int var2, int var3, int var4, int var5, float var6, int var7) {
if(var5 != 0 && var5 != this.blockID) { if (var5 != 0 && var5 != this.blockID) {
AxisAlignedBB var8 = Block.blocksList[var5].getCollisionBoundingBoxFromPool(var1, var2, var3, var4); AxisAlignedBB var8 = Block.blocksList[var5].getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
if(var8 == null) { if (var8 == null) {
return null; return null;
} else { } else {
var8.minX -= (double)((float)PistonBlockTextures.field_31051_b[var7] * var6); var8.minX -= (double) ((float) PistonBlockTextures.field_31051_b[var7] * var6);
var8.maxX -= (double)((float)PistonBlockTextures.field_31051_b[var7] * var6); var8.maxX -= (double) ((float) PistonBlockTextures.field_31051_b[var7] * var6);
var8.minY -= (double)((float)PistonBlockTextures.field_31054_c[var7] * var6); var8.minY -= (double) ((float) PistonBlockTextures.field_31054_c[var7] * var6);
var8.maxY -= (double)((float)PistonBlockTextures.field_31054_c[var7] * var6); var8.maxY -= (double) ((float) PistonBlockTextures.field_31054_c[var7] * var6);
var8.minZ -= (double)((float)PistonBlockTextures.field_31053_d[var7] * var6); var8.minZ -= (double) ((float) PistonBlockTextures.field_31053_d[var7] * var6);
var8.maxZ -= (double)((float)PistonBlockTextures.field_31053_d[var7] * var6); var8.maxZ -= (double) ((float) PistonBlockTextures.field_31053_d[var7] * var6);
return var8; return var8;
} }
} else { } else {
return null; return null;
} }
} }
private TileEntityPiston getTileEntityAtLocation(IBlockAccess var1, int var2, int var3, int var4) { private TileEntityPiston getTileEntityAtLocation(IBlockAccess var1, int var2, int var3, int var4) {
TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4); TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4);
return var5 != null && var5 instanceof TileEntityPiston ? (TileEntityPiston)var5 : null; return var5 != null && var5 instanceof TileEntityPiston ? (TileEntityPiston) var5 : null;
} }
} }

View file

@ -1,135 +1,136 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockPortal extends BlockBreakable { public class BlockPortal extends BlockBreakable {
public BlockPortal(int var1, int var2) { public BlockPortal(int var1, int var2) {
super(var1, var2, Material.portal, false); super(var1, var2, Material.portal, false);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
float var5; float var5;
float var6; float var6;
if(var1.getBlockId(var2 - 1, var3, var4) != this.blockID && var1.getBlockId(var2 + 1, var3, var4) != this.blockID) { if (var1.getBlockId(var2 - 1, var3, var4) != this.blockID && var1.getBlockId(var2 + 1, var3, var4) != this.blockID) {
var5 = 2.0F / 16.0F; var5 = 2.0F / 16.0F;
var6 = 0.5F; var6 = 0.5F;
this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6); this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
} else { } else {
var5 = 0.5F; var5 = 0.5F;
var6 = 2.0F / 16.0F; var6 = 2.0F / 16.0F;
this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6); this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
} }
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean tryToCreatePortal(World var1, int var2, int var3, int var4) { public boolean tryToCreatePortal(World var1, int var2, int var3, int var4) {
byte var5 = 0; byte var5 = 0;
byte var6 = 0; byte var6 = 0;
if(var1.getBlockId(var2 - 1, var3, var4) == Block.obsidian.blockID || var1.getBlockId(var2 + 1, var3, var4) == Block.obsidian.blockID) { if (var1.getBlockId(var2 - 1, var3, var4) == Block.obsidian.blockID || var1.getBlockId(var2 + 1, var3, var4) == Block.obsidian.blockID) {
var5 = 1; var5 = 1;
} }
if(var1.getBlockId(var2, var3, var4 - 1) == Block.obsidian.blockID || var1.getBlockId(var2, var3, var4 + 1) == Block.obsidian.blockID) { if (var1.getBlockId(var2, var3, var4 - 1) == Block.obsidian.blockID || var1.getBlockId(var2, var3, var4 + 1) == Block.obsidian.blockID) {
var6 = 1; var6 = 1;
} }
if(var5 == var6) { if (var5 == var6) {
return false; return false;
} else { } else {
if(var1.getBlockId(var2 - var5, var3, var4 - var6) == 0) { if (var1.getBlockId(var2 - var5, var3, var4 - var6) == 0) {
var2 -= var5; var2 -= var5;
var4 -= var6; var4 -= var6;
} }
int var7; int var7;
int var8; int var8;
for(var7 = -1; var7 <= 2; ++var7) { for (var7 = -1; var7 <= 2; ++var7) {
for(var8 = -1; var8 <= 3; ++var8) { for (var8 = -1; var8 <= 3; ++var8) {
boolean var9 = var7 == -1 || var7 == 2 || var8 == -1 || var8 == 3; boolean var9 = var7 == -1 || var7 == 2 || var8 == -1 || var8 == 3;
if(var7 != -1 && var7 != 2 || var8 != -1 && var8 != 3) { if (var7 != -1 && var7 != 2 || var8 != -1 && var8 != 3) {
int var10 = var1.getBlockId(var2 + var5 * var7, var3 + var8, var4 + var6 * var7); int var10 = var1.getBlockId(var2 + var5 * var7, var3 + var8, var4 + var6 * var7);
if(var9) { if (var9) {
if(var10 != Block.obsidian.blockID) { if (var10 != Block.obsidian.blockID) {
return false; return false;
} }
} else if(var10 != 0 && var10 != Block.fire.blockID) { } else if (var10 != 0 && var10 != Block.fire.blockID) {
return false; return false;
} }
} }
} }
} }
var1.editingBlocks = true; var1.editingBlocks = true;
for(var7 = 0; var7 < 2; ++var7) { for (var7 = 0; var7 < 2; ++var7) {
for(var8 = 0; var8 < 3; ++var8) { for (var8 = 0; var8 < 3; ++var8) {
var1.setBlockWithNotify(var2 + var5 * var7, var3 + var8, var4 + var6 * var7, Block.portal.blockID); var1.setBlockWithNotify(var2 + var5 * var7, var3 + var8, var4 + var6 * var7, Block.portal.blockID);
} }
} }
var1.editingBlocks = false; var1.editingBlocks = false;
return true; return true;
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
byte var6 = 0; byte var6 = 0;
byte var7 = 1; byte var7 = 1;
if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID || var1.getBlockId(var2 + 1, var3, var4) == this.blockID) { if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID || var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
var6 = 1; var6 = 1;
var7 = 0; var7 = 0;
} }
int var8; int var8;
for(var8 = var3; var1.getBlockId(var2, var8 - 1, var4) == this.blockID; --var8) { for (var8 = var3; var1.getBlockId(var2, var8 - 1, var4) == this.blockID; --var8) {
} }
if(var1.getBlockId(var2, var8 - 1, var4) != Block.obsidian.blockID) { if (var1.getBlockId(var2, var8 - 1, var4) != Block.obsidian.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
int var9; int var9;
for(var9 = 1; var9 < 4 && var1.getBlockId(var2, var8 + var9, var4) == this.blockID; ++var9) { for (var9 = 1; var9 < 4 && var1.getBlockId(var2, var8 + var9, var4) == this.blockID; ++var9) {
} }
if(var9 == 3 && var1.getBlockId(var2, var8 + var9, var4) == Block.obsidian.blockID) { if (var9 == 3 && var1.getBlockId(var2, var8 + var9, var4) == Block.obsidian.blockID) {
boolean var10 = var1.getBlockId(var2 - 1, var3, var4) == this.blockID || var1.getBlockId(var2 + 1, var3, var4) == this.blockID; boolean var10 = var1.getBlockId(var2 - 1, var3, var4) == this.blockID || var1.getBlockId(var2 + 1, var3, var4) == this.blockID;
boolean var11 = var1.getBlockId(var2, var3, var4 - 1) == this.blockID || var1.getBlockId(var2, var3, var4 + 1) == this.blockID; boolean var11 = var1.getBlockId(var2, var3, var4 - 1) == this.blockID || var1.getBlockId(var2, var3, var4 + 1) == this.blockID;
if(var10 && var11) { if (var10 && var11) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else if((var1.getBlockId(var2 + var6, var3, var4 + var7) != Block.obsidian.blockID || var1.getBlockId(var2 - var6, var3, var4 - var7) != this.blockID) && (var1.getBlockId(var2 - var6, var3, var4 - var7) != Block.obsidian.blockID || var1.getBlockId(var2 + var6, var3, var4 + var7) != this.blockID)) { } else if ((var1.getBlockId(var2 + var6, var3, var4 + var7) != Block.obsidian.blockID || var1.getBlockId(var2 - var6, var3, var4 - var7) != this.blockID) && (var1.getBlockId(var2 - var6, var3, var4 - var7) != Block.obsidian.blockID || var1.getBlockId(var2 + var6, var3, var4 + var7) != this.blockID)) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} else { } else {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
if(var5.ridingEntity == null && var5.riddenByEntity == null) { if (var5.ridingEntity == null && var5.riddenByEntity == null) {
var5.setInPortal(); var5.setInPortal();
} }
} }
} }

View file

@ -1,7 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.List;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLiving;
@ -11,146 +9,149 @@ import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.List;
import java.util.Random;
public class BlockPressurePlate extends Block { public class BlockPressurePlate extends Block {
private EnumMobType triggerMobType; private EnumMobType triggerMobType;
protected BlockPressurePlate(int var1, int var2, EnumMobType var3, Material var4) { protected BlockPressurePlate(int var1, int var2, EnumMobType var3, Material var4) {
super(var1, var2, var4); super(var1, var2, var4);
this.triggerMobType = var3; this.triggerMobType = var3;
this.setTickOnLoad(true); this.setTickOnLoad(true);
float var5 = 1.0F / 16.0F; float var5 = 1.0F / 16.0F;
this.setBlockBounds(var5, 0.0F, var5, 1.0F - var5, 0.03125F, 1.0F - var5); this.setBlockBounds(var5, 0.0F, var5, 1.0F - var5, 0.03125F, 1.0F - var5);
} }
public int tickRate() { public int tickRate() {
return 20; return 20;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return var1.isBlockNormalCube(var2, var3 - 1, var4); return var1.isBlockNormalCube(var2, var3 - 1, var4);
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
boolean var6 = false; boolean var6 = false;
if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
var6 = true; var6 = true;
} }
if(var6) { if (var6) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
if(var1.getBlockMetadata(var2, var3, var4) != 0) { if (var1.getBlockMetadata(var2, var3, var4) != 0) {
this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4); this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4);
} }
} }
} }
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
if(var1.getBlockMetadata(var2, var3, var4) != 1) { if (var1.getBlockMetadata(var2, var3, var4) != 1) {
this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4); this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4);
} }
} }
} }
private void setStateIfMobInteractsWithPlate(World var1, int var2, int var3, int var4) { private void setStateIfMobInteractsWithPlate(World var1, int var2, int var3, int var4) {
boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1; boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1;
boolean var6 = false; boolean var6 = false;
float var7 = 2.0F / 16.0F; float var7 = 2.0F / 16.0F;
List var8 = null; List var8 = null;
if(this.triggerMobType == EnumMobType.everything) { if (this.triggerMobType == EnumMobType.everything) {
var8 = var1.getEntitiesWithinAABBExcludingEntity((Entity)null, AxisAlignedBB.getBoundingBoxFromPool((double)((float)var2 + var7), (double)var3, (double)((float)var4 + var7), (double)((float)(var2 + 1) - var7), (double)var3 + 0.25D, (double)((float)(var4 + 1) - var7))); var8 = var1.getEntitiesWithinAABBExcludingEntity((Entity) null, AxisAlignedBB.getBoundingBoxFromPool((double) ((float) var2 + var7), (double) var3, (double) ((float) var4 + var7), (double) ((float) (var2 + 1) - var7), (double) var3 + 0.25D, (double) ((float) (var4 + 1) - var7)));
} }
if(this.triggerMobType == EnumMobType.mobs) { if (this.triggerMobType == EnumMobType.mobs) {
var8 = var1.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getBoundingBoxFromPool((double)((float)var2 + var7), (double)var3, (double)((float)var4 + var7), (double)((float)(var2 + 1) - var7), (double)var3 + 0.25D, (double)((float)(var4 + 1) - var7))); var8 = var1.getEntitiesWithinAABB(EntityLiving.class, AxisAlignedBB.getBoundingBoxFromPool((double) ((float) var2 + var7), (double) var3, (double) ((float) var4 + var7), (double) ((float) (var2 + 1) - var7), (double) var3 + 0.25D, (double) ((float) (var4 + 1) - var7)));
} }
if(this.triggerMobType == EnumMobType.players) { if (this.triggerMobType == EnumMobType.players) {
var8 = var1.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBoxFromPool((double)((float)var2 + var7), (double)var3, (double)((float)var4 + var7), (double)((float)(var2 + 1) - var7), (double)var3 + 0.25D, (double)((float)(var4 + 1) - var7))); var8 = var1.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBoxFromPool((double) ((float) var2 + var7), (double) var3, (double) ((float) var4 + var7), (double) ((float) (var2 + 1) - var7), (double) var3 + 0.25D, (double) ((float) (var4 + 1) - var7)));
} }
if(var8.size() > 0) { if (var8.size() > 0) {
var6 = true; var6 = true;
} }
if(var6 && !var5) { if (var6 && !var5) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 1); var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.1D, (double)var4 + 0.5D, "random.click", 0.3F, 0.6F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.1D, (double) var4 + 0.5D, "random.click", 0.3F, 0.6F);
} }
if(!var6 && var5) { if (!var6 && var5) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 0); var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.playSoundEffect((double)var2 + 0.5D, (double)var3 + 0.1D, (double)var4 + 0.5D, "random.click", 0.3F, 0.5F); var1.playSoundEffect((double) var2 + 0.5D, (double) var3 + 0.1D, (double) var4 + 0.5D, "random.click", 0.3F, 0.5F);
} }
if(var6) { if (var6) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
if(var5 > 0) { if (var5 > 0) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
} }
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1; boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1;
float var6 = 1.0F / 16.0F; float var6 = 1.0F / 16.0F;
if(var5) { if (var5) {
this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 0.03125F, 1.0F - var6); this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 0.03125F, 1.0F - var6);
} else { } else {
this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 1.0F / 16.0F, 1.0F - var6); this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 1.0F / 16.0F, 1.0F - var6);
} }
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
return var1.getBlockMetadata(var2, var3, var4) > 0; return var1.getBlockMetadata(var2, var3, var4) > 0;
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
return var1.getBlockMetadata(var2, var3, var4) == 0 ? false : var5 == 1; return var1.getBlockMetadata(var2, var3, var4) == 0 ? false : var5 == 1;
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return true; return true;
} }
public int getMobilityFlag() { public int getMobilityFlag() {
return 1; return 1;
} }
} }

View file

@ -6,45 +6,45 @@ import net.minecraft.math.MathHelper;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockPumpkin extends Block { public class BlockPumpkin extends Block {
private boolean blockType; private boolean blockType;
protected BlockPumpkin(int var1, int var2, boolean var3) { protected BlockPumpkin(int var1, int var2, boolean var3) {
super(var1, Material.pumpkin); super(var1, Material.pumpkin);
this.blockIndexInTexture = var2; this.blockIndexInTexture = var2;
this.setTickOnLoad(true); this.setTickOnLoad(true);
this.blockType = var3; this.blockType = var3;
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
if(var1 == 1) { if (var1 == 1) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} else if(var1 == 0) { } else if (var1 == 0) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} else { } else {
int var3 = this.blockIndexInTexture + 1 + 16; int var3 = this.blockIndexInTexture + 1 + 16;
if(this.blockType) { if (this.blockType) {
++var3; ++var3;
} }
return var2 == 2 && var1 == 2 ? var3 : (var2 == 3 && var1 == 5 ? var3 : (var2 == 0 && var1 == 3 ? var3 : (var2 == 1 && var1 == 4 ? var3 : this.blockIndexInTexture + 16))); return var2 == 2 && var1 == 2 ? var3 : (var2 == 3 && var1 == 5 ? var3 : (var2 == 0 && var1 == 3 ? var3 : (var2 == 1 && var1 == 4 ? var3 : this.blockIndexInTexture + 16)));
} }
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture : (var1 == 3 ? this.blockIndexInTexture + 1 + 16 : this.blockIndexInTexture + 16)); return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture : (var1 == 3 ? this.blockIndexInTexture + 1 + 16 : this.blockIndexInTexture + 16));
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockId(var2, var3, var4); int var5 = var1.getBlockId(var2, var3, var4);
return (var5 == 0 || Block.blocksList[var5].blockMaterial.func_27090_g()) && var1.isBlockNormalCube(var2, var3 - 1, var4); return (var5 == 0 || Block.blocksList[var5].blockMaterial.func_27090_g()) && var1.isBlockNormalCube(var2, var3 - 1, var4);
} }
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) { public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
int var6 = MathHelper.floor_double((double)(var5.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; int var6 = MathHelper.floor_double((double) (var5.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.math.Vec3D; import net.minecraft.math.Vec3D;
@ -8,245 +7,247 @@ import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockRail extends Block { public class BlockRail extends Block {
private final boolean field_27034_a; private final boolean field_27034_a;
public static final boolean func_27029_g(World var0, int var1, int var2, int var3) { public static final boolean func_27029_g(World var0, int var1, int var2, int var3) {
int var4 = var0.getBlockId(var1, var2, var3); int var4 = var0.getBlockId(var1, var2, var3);
return var4 == Block.minecartTrack.blockID || var4 == Block.railPowered.blockID || var4 == Block.railDetector.blockID; return var4 == Block.minecartTrack.blockID || var4 == Block.railPowered.blockID || var4 == Block.railDetector.blockID;
} }
public static final boolean func_27030_c(int var0) { public static final boolean func_27030_c(int var0) {
return var0 == Block.minecartTrack.blockID || var0 == Block.railPowered.blockID || var0 == Block.railDetector.blockID; return var0 == Block.minecartTrack.blockID || var0 == Block.railPowered.blockID || var0 == Block.railDetector.blockID;
} }
protected BlockRail(int var1, int var2, boolean var3) { protected BlockRail(int var1, int var2, boolean var3) {
super(var1, var2, Material.circuits); super(var1, var2, Material.circuits);
this.field_27034_a = var3; this.field_27034_a = var3;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
} }
public boolean func_27028_d() { public boolean func_27028_d() {
return this.field_27034_a; return this.field_27034_a;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
this.setBlockBoundsBasedOnState(var1, var2, var3, var4); this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6); return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
if(var5 >= 2 && var5 <= 5) { if (var5 >= 2 && var5 <= 5) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 10.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 10.0F / 16.0F, 1.0F);
} else { } else {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
} }
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
if(this.field_27034_a) { if (this.field_27034_a) {
if(this.blockID == Block.railPowered.blockID && (var2 & 8) == 0) { if (this.blockID == Block.railPowered.blockID && (var2 & 8) == 0) {
return this.blockIndexInTexture - 16; return this.blockIndexInTexture - 16;
} }
} else if(var2 >= 6) { } else if (var2 >= 6) {
return this.blockIndexInTexture - 16; return this.blockIndexInTexture - 16;
} }
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 1; return 1;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return var1.isBlockNormalCube(var2, var3 - 1, var4); return var1.isBlockNormalCube(var2, var3 - 1, var4);
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
this.func_4038_g(var1, var2, var3, var4, true); this.func_4038_g(var1, var2, var3, var4, true);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var6; int var7 = var6;
if(this.field_27034_a) { if (this.field_27034_a) {
var7 = var6 & 7; var7 = var6 & 7;
} }
boolean var8 = false; boolean var8 = false;
if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) { if (!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
var8 = true; var8 = true;
} }
if(var7 == 2 && !var1.isBlockNormalCube(var2 + 1, var3, var4)) { if (var7 == 2 && !var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var8 = true; var8 = true;
} }
if(var7 == 3 && !var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var7 == 3 && !var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var8 = true; var8 = true;
} }
if(var7 == 4 && !var1.isBlockNormalCube(var2, var3, var4 - 1)) { if (var7 == 4 && !var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var8 = true; var8 = true;
} }
if(var7 == 5 && !var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var7 == 5 && !var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var8 = true; var8 = true;
} }
if(var8) { if (var8) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else if(this.blockID == Block.railPowered.blockID) { } else if (this.blockID == Block.railPowered.blockID) {
boolean var9 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4); boolean var9 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
var9 = var9 || this.func_27032_a(var1, var2, var3, var4, var6, true, 0) || this.func_27032_a(var1, var2, var3, var4, var6, false, 0); var9 = var9 || this.func_27032_a(var1, var2, var3, var4, var6, true, 0) || this.func_27032_a(var1, var2, var3, var4, var6, false, 0);
boolean var10 = false; boolean var10 = false;
if(var9 && (var6 & 8) == 0) { if (var9 && (var6 & 8) == 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | 8); var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | 8);
var10 = true; var10 = true;
} else if(!var9 && (var6 & 8) != 0) { } else if (!var9 && (var6 & 8) != 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var7); var1.setBlockMetadataWithNotify(var2, var3, var4, var7);
var10 = true; var10 = true;
} }
if(var10) { if (var10) {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
if(var7 == 2 || var7 == 3 || var7 == 4 || var7 == 5) { if (var7 == 2 || var7 == 3 || var7 == 4 || var7 == 5) {
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
} }
} }
} else if(var5 > 0 && Block.blocksList[var5].canProvidePower() && !this.field_27034_a && RailLogic.getNAdjacentTracks(new RailLogic(this, var1, var2, var3, var4)) == 3) { } else if (var5 > 0 && Block.blocksList[var5].canProvidePower() && !this.field_27034_a && RailLogic.getNAdjacentTracks(new RailLogic(this, var1, var2, var3, var4)) == 3) {
this.func_4038_g(var1, var2, var3, var4, false); this.func_4038_g(var1, var2, var3, var4, false);
} }
} }
} }
private void func_4038_g(World var1, int var2, int var3, int var4, boolean var5) { private void func_4038_g(World var1, int var2, int var3, int var4, boolean var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
(new RailLogic(this, var1, var2, var3, var4)).func_596_a(var1.isBlockIndirectlyGettingPowered(var2, var3, var4), var5); (new RailLogic(this, var1, var2, var3, var4)).func_596_a(var1.isBlockIndirectlyGettingPowered(var2, var3, var4), var5);
} }
} }
private boolean func_27032_a(World var1, int var2, int var3, int var4, int var5, boolean var6, int var7) { private boolean func_27032_a(World var1, int var2, int var3, int var4, int var5, boolean var6, int var7) {
if(var7 >= 8) { if (var7 >= 8) {
return false; return false;
} else { } else {
int var8 = var5 & 7; int var8 = var5 & 7;
boolean var9 = true; boolean var9 = true;
switch(var8) { switch (var8) {
case 0: case 0:
if(var6) { if (var6) {
++var4; ++var4;
} else { } else {
--var4; --var4;
} }
break; break;
case 1: case 1:
if(var6) { if (var6) {
--var2; --var2;
} else { } else {
++var2; ++var2;
} }
break; break;
case 2: case 2:
if(var6) { if (var6) {
--var2; --var2;
} else { } else {
++var2; ++var2;
++var3; ++var3;
var9 = false; var9 = false;
} }
var8 = 1; var8 = 1;
break; break;
case 3: case 3:
if(var6) { if (var6) {
--var2; --var2;
++var3; ++var3;
var9 = false; var9 = false;
} else { } else {
++var2; ++var2;
} }
var8 = 1; var8 = 1;
break; break;
case 4: case 4:
if(var6) { if (var6) {
++var4; ++var4;
} else { } else {
--var4; --var4;
++var3; ++var3;
var9 = false; var9 = false;
} }
var8 = 0; var8 = 0;
break; break;
case 5: case 5:
if(var6) { if (var6) {
++var4; ++var4;
++var3; ++var3;
var9 = false; var9 = false;
} else { } else {
--var4; --var4;
} }
var8 = 0; var8 = 0;
} }
return this.func_27031_a(var1, var2, var3, var4, var6, var7, var8) ? true : var9 && this.func_27031_a(var1, var2, var3 - 1, var4, var6, var7, var8); return this.func_27031_a(var1, var2, var3, var4, var6, var7, var8) ? true : var9 && this.func_27031_a(var1, var2, var3 - 1, var4, var6, var7, var8);
} }
} }
private boolean func_27031_a(World var1, int var2, int var3, int var4, boolean var5, int var6, int var7) { private boolean func_27031_a(World var1, int var2, int var3, int var4, boolean var5, int var6, int var7) {
int var8 = var1.getBlockId(var2, var3, var4); int var8 = var1.getBlockId(var2, var3, var4);
if(var8 == Block.railPowered.blockID) { if (var8 == Block.railPowered.blockID) {
int var9 = var1.getBlockMetadata(var2, var3, var4); int var9 = var1.getBlockMetadata(var2, var3, var4);
int var10 = var9 & 7; int var10 = var9 & 7;
if(var7 == 1 && (var10 == 0 || var10 == 4 || var10 == 5)) { if (var7 == 1 && (var10 == 0 || var10 == 4 || var10 == 5)) {
return false; return false;
} }
if(var7 == 0 && (var10 == 1 || var10 == 2 || var10 == 3)) { if (var7 == 0 && (var10 == 1 || var10 == 2 || var10 == 3)) {
return false; return false;
} }
if((var9 & 8) != 0) { if ((var9 & 8) != 0) {
if(!var1.isBlockIndirectlyGettingPowered(var2, var3, var4) && !var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4)) { if (!var1.isBlockIndirectlyGettingPowered(var2, var3, var4) && !var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4)) {
return this.func_27032_a(var1, var2, var3, var4, var9, var5, var6 + 1); return this.func_27032_a(var1, var2, var3, var4, var9, var5, var6 + 1);
} }
return true; return true;
} }
} }
return false; return false;
} }
public int getMobilityFlag() { public int getMobilityFlag() {
return 0; return 0;
} }
static boolean func_27033_a(BlockRail var0) { static boolean func_27033_a(BlockRail var0) {
return var0.field_27034_a; return var0.field_27034_a;
} }
} }

View file

@ -1,102 +1,103 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockRedstoneOre extends Block { public class BlockRedstoneOre extends Block {
private boolean field_665_a; private boolean field_665_a;
public BlockRedstoneOre(int var1, int var2, boolean var3) { public BlockRedstoneOre(int var1, int var2, boolean var3) {
super(var1, var2, Material.rock); super(var1, var2, Material.rock);
if(var3) { if (var3) {
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
this.field_665_a = var3; this.field_665_a = var3;
} }
public int tickRate() { public int tickRate() {
return 30; return 30;
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.func_321_g(var1, var2, var3, var4); this.func_321_g(var1, var2, var3, var4);
super.onBlockClicked(var1, var2, var3, var4, var5); super.onBlockClicked(var1, var2, var3, var4, var5);
} }
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
this.func_321_g(var1, var2, var3, var4); this.func_321_g(var1, var2, var3, var4);
super.onEntityWalking(var1, var2, var3, var4, var5); super.onEntityWalking(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.func_321_g(var1, var2, var3, var4); this.func_321_g(var1, var2, var3, var4);
return super.blockActivated(var1, var2, var3, var4, var5); return super.blockActivated(var1, var2, var3, var4, var5);
} }
private void func_321_g(World var1, int var2, int var3, int var4) { private void func_321_g(World var1, int var2, int var3, int var4) {
this.func_320_h(var1, var2, var3, var4); this.func_320_h(var1, var2, var3, var4);
if(this.blockID == Block.oreRedstone.blockID) { if (this.blockID == Block.oreRedstone.blockID) {
var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstoneGlowing.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstoneGlowing.blockID);
} }
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(this.blockID == Block.oreRedstoneGlowing.blockID) { if (this.blockID == Block.oreRedstoneGlowing.blockID) {
var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstone.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstone.blockID);
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.redstone.shiftedIndex; return Item.redstone.shiftedIndex;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 4 + var1.nextInt(2); return 4 + var1.nextInt(2);
} }
private void func_320_h(World var1, int var2, int var3, int var4) { private void func_320_h(World var1, int var2, int var3, int var4) {
Random var5 = var1.rand; Random var5 = var1.rand;
double var6 = 1.0D / 16.0D; double var6 = 1.0D / 16.0D;
for(int var8 = 0; var8 < 6; ++var8) { for (int var8 = 0; var8 < 6; ++var8) {
double var9 = (double)((float)var2 + var5.nextFloat()); double var9 = (double) ((float) var2 + var5.nextFloat());
double var11 = (double)((float)var3 + var5.nextFloat()); double var11 = (double) ((float) var3 + var5.nextFloat());
double var13 = (double)((float)var4 + var5.nextFloat()); double var13 = (double) ((float) var4 + var5.nextFloat());
if(var8 == 0 && !var1.isBlockOpaqueCube(var2, var3 + 1, var4)) { if (var8 == 0 && !var1.isBlockOpaqueCube(var2, var3 + 1, var4)) {
var11 = (double)(var3 + 1) + var6; var11 = (double) (var3 + 1) + var6;
} }
if(var8 == 1 && !var1.isBlockOpaqueCube(var2, var3 - 1, var4)) { if (var8 == 1 && !var1.isBlockOpaqueCube(var2, var3 - 1, var4)) {
var11 = (double)(var3 + 0) - var6; var11 = (double) (var3 + 0) - var6;
} }
if(var8 == 2 && !var1.isBlockOpaqueCube(var2, var3, var4 + 1)) { if (var8 == 2 && !var1.isBlockOpaqueCube(var2, var3, var4 + 1)) {
var13 = (double)(var4 + 1) + var6; var13 = (double) (var4 + 1) + var6;
} }
if(var8 == 3 && !var1.isBlockOpaqueCube(var2, var3, var4 - 1)) { if (var8 == 3 && !var1.isBlockOpaqueCube(var2, var3, var4 - 1)) {
var13 = (double)(var4 + 0) - var6; var13 = (double) (var4 + 0) - var6;
} }
if(var8 == 4 && !var1.isBlockOpaqueCube(var2 + 1, var3, var4)) { if (var8 == 4 && !var1.isBlockOpaqueCube(var2 + 1, var3, var4)) {
var9 = (double)(var2 + 1) + var6; var9 = (double) (var2 + 1) + var6;
} }
if(var8 == 5 && !var1.isBlockOpaqueCube(var2 - 1, var3, var4)) { if (var8 == 5 && !var1.isBlockOpaqueCube(var2 - 1, var3, var4)) {
var9 = (double)(var2 + 0) - var6; var9 = (double) (var2 + 0) - var6;
} }
if(var9 < (double)var2 || var9 > (double)(var2 + 1) || var11 < 0.0D || var11 > (double)(var3 + 1) || var13 < (double)var4 || var13 > (double)(var4 + 1)) { if (var9 < (double) var2 || var9 > (double) (var2 + 1) || var11 < 0.0D || var11 > (double) (var3 + 1) || var13 < (double) var4 || var13 > (double) (var4 + 1)) {
var1.spawnParticle("reddust", var9, var11, var13, 0.0D, 0.0D, 0.0D); var1.spawnParticle("reddust", var9, var11, var13, 0.0D, 0.0D, 0.0D);
} }
} }
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
@ -9,134 +8,136 @@ import net.minecraft.math.MathHelper;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockRedstoneRepeater extends Block { public class BlockRedstoneRepeater extends Block {
public static final double[] field_22014_a = new double[]{-0.0625D, 1.0D / 16.0D, 0.1875D, 0.3125D}; public static final double[] field_22014_a = new double[]{-0.0625D, 1.0D / 16.0D, 0.1875D, 0.3125D};
private static final int[] field_22013_b = new int[]{1, 2, 3, 4}; private static final int[] field_22013_b = new int[]{1, 2, 3, 4};
private final boolean field_22015_c; private final boolean field_22015_c;
protected BlockRedstoneRepeater(int var1, boolean var2) { protected BlockRedstoneRepeater(int var1, boolean var2) {
super(var1, 6, Material.circuits); super(var1, 6, Material.circuits);
this.field_22015_c = var2; this.field_22015_c = var2;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return !var1.isBlockNormalCube(var2, var3 - 1, var4) ? false : super.canPlaceBlockAt(var1, var2, var3, var4); return !var1.isBlockNormalCube(var2, var3 - 1, var4) ? false : super.canPlaceBlockAt(var1, var2, var3, var4);
} }
public boolean canBlockStay(World var1, int var2, int var3, int var4) { public boolean canBlockStay(World var1, int var2, int var3, int var4) {
return !var1.isBlockNormalCube(var2, var3 - 1, var4) ? false : super.canBlockStay(var1, var2, var3, var4); return !var1.isBlockNormalCube(var2, var3 - 1, var4) ? false : super.canBlockStay(var1, var2, var3, var4);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6); boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
if(this.field_22015_c && !var7) { if (this.field_22015_c && !var7) {
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterIdle.blockID, var6); var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterIdle.blockID, var6);
} else if(!this.field_22015_c) { } else if (!this.field_22015_c) {
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterActive.blockID, var6); var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterActive.blockID, var6);
if(!var7) { if (!var7) {
int var8 = (var6 & 12) >> 2; int var8 = (var6 & 12) >> 2;
var1.scheduleUpdateTick(var2, var3, var4, Block.redstoneRepeaterActive.blockID, field_22013_b[var8] * 2); var1.scheduleUpdateTick(var2, var3, var4, Block.redstoneRepeaterActive.blockID, field_22013_b[var8] * 2);
} }
} }
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var1 == 0 ? (this.field_22015_c ? 99 : 115) : (var1 == 1 ? (this.field_22015_c ? 147 : 131) : 5); return var1 == 0 ? (this.field_22015_c ? 99 : 115) : (var1 == 1 ? (this.field_22015_c ? 147 : 131) : 5);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return this.getBlockTextureFromSideAndMetadata(var1, 0); return this.getBlockTextureFromSideAndMetadata(var1, 0);
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
return this.isPoweringTo(var1, var2, var3, var4, var5); return this.isPoweringTo(var1, var2, var3, var4, var5);
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
if(!this.field_22015_c) { if (!this.field_22015_c) {
return false; return false;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4) & 3; int var6 = var1.getBlockMetadata(var2, var3, var4) & 3;
return var6 == 0 && var5 == 3 ? true : (var6 == 1 && var5 == 4 ? true : (var6 == 2 && var5 == 2 ? true : var6 == 3 && var5 == 5)); return var6 == 0 && var5 == 3 ? true : (var6 == 1 && var5 == 4 ? true : (var6 == 2 && var5 == 2 ? true : var6 == 3 && var5 == 5));
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!this.canBlockStay(var1, var2, var3, var4)) { if (!this.canBlockStay(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6); boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
int var8 = (var6 & 12) >> 2; int var8 = (var6 & 12) >> 2;
if(this.field_22015_c && !var7) { if (this.field_22015_c && !var7) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2);
} else if(!this.field_22015_c && var7) { } else if (!this.field_22015_c && var7) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2);
} }
} }
} }
private boolean func_22012_g(World var1, int var2, int var3, int var4, int var5) { private boolean func_22012_g(World var1, int var2, int var3, int var4, int var5) {
int var6 = var5 & 3; int var6 = var5 & 3;
switch(var6) { switch (var6) {
case 0: case 0:
return var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 + 1, 3) || var1.getBlockId(var2, var3, var4 + 1) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2, var3, var4 + 1) > 0; return var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 + 1, 3) || var1.getBlockId(var2, var3, var4 + 1) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2, var3, var4 + 1) > 0;
case 1: case 1:
return var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3, var4, 4) || var1.getBlockId(var2 - 1, var3, var4) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2 - 1, var3, var4) > 0; return var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3, var4, 4) || var1.getBlockId(var2 - 1, var3, var4) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2 - 1, var3, var4) > 0;
case 2: case 2:
return var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 - 1, 2) || var1.getBlockId(var2, var3, var4 - 1) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2, var3, var4 - 1) > 0; return var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 - 1, 2) || var1.getBlockId(var2, var3, var4 - 1) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2, var3, var4 - 1) > 0;
case 3: case 3:
return var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3, var4, 5) || var1.getBlockId(var2 + 1, var3, var4) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2 + 1, var3, var4) > 0; return var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3, var4, 5) || var1.getBlockId(var2 + 1, var3, var4) == Block.redstoneWire.blockID && var1.getBlockMetadata(var2 + 1, var3, var4) > 0;
default: default:
return false; return false;
} }
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = (var6 & 12) >> 2; int var7 = (var6 & 12) >> 2;
var7 = var7 + 1 << 2 & 12; var7 = var7 + 1 << 2 & 12;
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | var6 & 3); var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | var6 & 3);
return true; return true;
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return false; return false;
} }
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) { public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
int var6 = ((MathHelper.floor_double((double)(var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3) + 2) % 4; int var6 = ((MathHelper.floor_double((double) (var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3) + 2) % 4;
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6); boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
if(var7) { if (var7) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, 1); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, 1);
} }
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.redstoneRepeater.shiftedIndex; return Item.redstoneRepeater.shiftedIndex;
} }
} }

View file

@ -1,132 +1,133 @@
package net.minecraft.block; package net.minecraft.block;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
public class BlockRedstoneTorch extends BlockTorch { public class BlockRedstoneTorch extends BlockTorch {
private boolean torchActive = false; private boolean torchActive = false;
private static List torchUpdates = new ArrayList(); private static List torchUpdates = new ArrayList();
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var1 == 1 ? Block.redstoneWire.getBlockTextureFromSideAndMetadata(var1, var2) : super.getBlockTextureFromSideAndMetadata(var1, var2); return var1 == 1 ? Block.redstoneWire.getBlockTextureFromSideAndMetadata(var1, var2) : super.getBlockTextureFromSideAndMetadata(var1, var2);
} }
private boolean checkForBurnout(World var1, int var2, int var3, int var4, boolean var5) { private boolean checkForBurnout(World var1, int var2, int var3, int var4, boolean var5) {
if(var5) { if (var5) {
torchUpdates.add(new RedstoneUpdateInfo(var2, var3, var4, var1.getWorldTime())); torchUpdates.add(new RedstoneUpdateInfo(var2, var3, var4, var1.getWorldTime()));
} }
int var6 = 0; int var6 = 0;
for(int var7 = 0; var7 < torchUpdates.size(); ++var7) { for (int var7 = 0; var7 < torchUpdates.size(); ++var7) {
RedstoneUpdateInfo var8 = (RedstoneUpdateInfo)torchUpdates.get(var7); RedstoneUpdateInfo var8 = (RedstoneUpdateInfo) torchUpdates.get(var7);
if(var8.x == var2 && var8.y == var3 && var8.z == var4) { if (var8.x == var2 && var8.y == var3 && var8.z == var4) {
++var6; ++var6;
if(var6 >= 8) { if (var6 >= 8) {
return true; return true;
} }
} }
} }
return false; return false;
} }
protected BlockRedstoneTorch(int var1, int var2, boolean var3) { protected BlockRedstoneTorch(int var1, int var2, boolean var3) {
super(var1, var2); super(var1, var2);
this.torchActive = var3; this.torchActive = var3;
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public int tickRate() { public int tickRate() {
return 2; return 2;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
if(var1.getBlockMetadata(var2, var3, var4) == 0) { if (var1.getBlockMetadata(var2, var3, var4) == 0) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
} }
if(this.torchActive) { if (this.torchActive) {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
if(this.torchActive) { if (this.torchActive) {
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
} }
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
if(!this.torchActive) { if (!this.torchActive) {
return false; return false;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
return var6 == 5 && var5 == 1 ? false : (var6 == 3 && var5 == 3 ? false : (var6 == 4 && var5 == 2 ? false : (var6 == 1 && var5 == 5 ? false : var6 != 2 || var5 != 4))); return var6 == 5 && var5 == 1 ? false : (var6 == 3 && var5 == 3 ? false : (var6 == 4 && var5 == 2 ? false : (var6 == 1 && var5 == 5 ? false : var6 != 2 || var5 != 4)));
} }
} }
private boolean func_30003_g(World var1, int var2, int var3, int var4) { private boolean func_30003_g(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
return var5 == 5 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3 - 1, var4, 0) ? true : (var5 == 3 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 - 1, 2) ? true : (var5 == 4 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 + 1, 3) ? true : (var5 == 1 && var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3, var4, 4) ? true : var5 == 2 && var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3, var4, 5)))); return var5 == 5 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3 - 1, var4, 0) ? true : (var5 == 3 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 - 1, 2) ? true : (var5 == 4 && var1.isBlockIndirectlyProvidingPowerTo(var2, var3, var4 + 1, 3) ? true : (var5 == 1 && var1.isBlockIndirectlyProvidingPowerTo(var2 - 1, var3, var4, 4) ? true : var5 == 2 && var1.isBlockIndirectlyProvidingPowerTo(var2 + 1, var3, var4, 5))));
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
boolean var6 = this.func_30003_g(var1, var2, var3, var4); boolean var6 = this.func_30003_g(var1, var2, var3, var4);
while(torchUpdates.size() > 0 && var1.getWorldTime() - ((RedstoneUpdateInfo)torchUpdates.get(0)).updateTime > 100L) { while (torchUpdates.size() > 0 && var1.getWorldTime() - ((RedstoneUpdateInfo) torchUpdates.get(0)).updateTime > 100L) {
torchUpdates.remove(0); torchUpdates.remove(0);
} }
if(this.torchActive) { if (this.torchActive) {
if(var6) { if (var6) {
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneIdle.blockID, var1.getBlockMetadata(var2, var3, var4)); var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneIdle.blockID, var1.getBlockMetadata(var2, var3, var4));
if(this.checkForBurnout(var1, var2, var3, var4, true)) { if (this.checkForBurnout(var1, var2, var3, var4, true)) {
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); 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 var7 = 0; var7 < 5; ++var7) { for (int var7 = 0; var7 < 5; ++var7) {
double var8 = (double)var2 + var5.nextDouble() * 0.6D + 0.2D; double var8 = (double) var2 + var5.nextDouble() * 0.6D + 0.2D;
double var10 = (double)var3 + var5.nextDouble() * 0.6D + 0.2D; double var10 = (double) var3 + var5.nextDouble() * 0.6D + 0.2D;
double var12 = (double)var4 + var5.nextDouble() * 0.6D + 0.2D; double var12 = (double) var4 + var5.nextDouble() * 0.6D + 0.2D;
var1.spawnParticle("smoke", var8, var10, var12, 0.0D, 0.0D, 0.0D); var1.spawnParticle("smoke", var8, var10, var12, 0.0D, 0.0D, 0.0D);
} }
} }
} }
} else if(!var6 && !this.checkForBurnout(var1, var2, var3, var4, false)) { } else if (!var6 && !this.checkForBurnout(var1, var2, var3, var4, false)) {
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneActive.blockID, var1.getBlockMetadata(var2, var3, var4)); var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneActive.blockID, var1.getBlockMetadata(var2, var3, var4));
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
return var5 == 0 ? this.isPoweringTo(var1, var2, var3, var4, var5) : false; return var5 == 0 ? this.isPoweringTo(var1, var2, var3, var4, var5) : false;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.torchRedstoneActive.blockID; return Block.torchRedstoneActive.blockID;
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return true; return true;
} }
} }

View file

@ -1,9 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
@ -12,332 +8,337 @@ import net.minecraft.util.ModelBed;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class BlockRedstoneWire extends Block { public class BlockRedstoneWire extends Block {
private boolean wiresProvidePower = true; private boolean wiresProvidePower = true;
private Set field_21032_b = new HashSet(); private Set field_21032_b = new HashSet();
public BlockRedstoneWire(int var1, int var2) { public BlockRedstoneWire(int var1, int var2) {
super(var1, var2, Material.circuits); super(var1, var2, Material.circuits);
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F / 16.0F, 1.0F);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return var1.isBlockNormalCube(var2, var3 - 1, var4); return var1.isBlockNormalCube(var2, var3 - 1, var4);
} }
private void updateAndPropagateCurrentStrength(World var1, int var2, int var3, int var4) { private void updateAndPropagateCurrentStrength(World var1, int var2, int var3, int var4) {
this.func_21031_a(var1, var2, var3, var4, var2, var3, var4); this.func_21031_a(var1, var2, var3, var4, var2, var3, var4);
ArrayList var5 = new ArrayList(this.field_21032_b); ArrayList var5 = new ArrayList(this.field_21032_b);
this.field_21032_b.clear(); this.field_21032_b.clear();
for(int var6 = 0; var6 < var5.size(); ++var6) { for (int var6 = 0; var6 < var5.size(); ++var6) {
ChunkPosition var7 = (ChunkPosition)var5.get(var6); ChunkPosition var7 = (ChunkPosition) var5.get(var6);
var1.notifyBlocksOfNeighborChange(var7.x, var7.y, var7.z, this.blockID); var1.notifyBlocksOfNeighborChange(var7.x, var7.y, var7.z, this.blockID);
} }
} }
private void func_21031_a(World var1, int var2, int var3, int var4, int var5, int var6, int var7) { private void func_21031_a(World var1, int var2, int var3, int var4, int var5, int var6, int var7) {
int var8 = var1.getBlockMetadata(var2, var3, var4); int var8 = var1.getBlockMetadata(var2, var3, var4);
int var9 = 0; int var9 = 0;
this.wiresProvidePower = false; this.wiresProvidePower = false;
boolean var10 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4); boolean var10 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4);
this.wiresProvidePower = true; this.wiresProvidePower = true;
int var11; int var11;
int var12; int var12;
int var13; int var13;
if(var10) { if (var10) {
var9 = 15; var9 = 15;
} else { } else {
for(var11 = 0; var11 < 4; ++var11) { for (var11 = 0; var11 < 4; ++var11) {
var12 = var2; var12 = var2;
var13 = var4; var13 = var4;
if(var11 == 0) { if (var11 == 0) {
var12 = var2 - 1; var12 = var2 - 1;
} }
if(var11 == 1) { if (var11 == 1) {
++var12; ++var12;
} }
if(var11 == 2) { if (var11 == 2) {
var13 = var4 - 1; var13 = var4 - 1;
} }
if(var11 == 3) { if (var11 == 3) {
++var13; ++var13;
} }
if(var12 != var5 || var3 != var6 || var13 != var7) { if (var12 != var5 || var3 != var6 || var13 != var7) {
var9 = this.getMaxCurrentStrength(var1, var12, var3, var13, var9); var9 = this.getMaxCurrentStrength(var1, var12, var3, var13, var9);
} }
if(var1.isBlockNormalCube(var12, var3, var13) && !var1.isBlockNormalCube(var2, var3 + 1, var4)) { if (var1.isBlockNormalCube(var12, var3, var13) && !var1.isBlockNormalCube(var2, var3 + 1, var4)) {
if(var12 != var5 || var3 + 1 != var6 || var13 != var7) { if (var12 != var5 || var3 + 1 != var6 || var13 != var7) {
var9 = this.getMaxCurrentStrength(var1, var12, var3 + 1, var13, var9); var9 = this.getMaxCurrentStrength(var1, var12, var3 + 1, var13, var9);
} }
} else if(!var1.isBlockNormalCube(var12, var3, var13) && (var12 != var5 || var3 - 1 != var6 || var13 != var7)) { } else if (!var1.isBlockNormalCube(var12, var3, var13) && (var12 != var5 || var3 - 1 != var6 || var13 != var7)) {
var9 = this.getMaxCurrentStrength(var1, var12, var3 - 1, var13, var9); var9 = this.getMaxCurrentStrength(var1, var12, var3 - 1, var13, var9);
} }
} }
if(var9 > 0) { if (var9 > 0) {
--var9; --var9;
} else { } else {
var9 = 0; var9 = 0;
} }
} }
if(var8 != var9) { if (var8 != var9) {
var1.editingBlocks = true; var1.editingBlocks = true;
var1.setBlockMetadataWithNotify(var2, var3, var4, var9); var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.editingBlocks = false; var1.editingBlocks = false;
for(var11 = 0; var11 < 4; ++var11) { for (var11 = 0; var11 < 4; ++var11) {
var12 = var2; var12 = var2;
var13 = var4; var13 = var4;
int var14 = var3 - 1; int var14 = var3 - 1;
if(var11 == 0) { if (var11 == 0) {
var12 = var2 - 1; var12 = var2 - 1;
} }
if(var11 == 1) { if (var11 == 1) {
++var12; ++var12;
} }
if(var11 == 2) { if (var11 == 2) {
var13 = var4 - 1; var13 = var4 - 1;
} }
if(var11 == 3) { if (var11 == 3) {
++var13; ++var13;
} }
if(var1.isBlockNormalCube(var12, var3, var13)) { if (var1.isBlockNormalCube(var12, var3, var13)) {
var14 += 2; var14 += 2;
} }
boolean var15 = false; boolean var15 = false;
int var16 = this.getMaxCurrentStrength(var1, var12, var3, var13, -1); int var16 = this.getMaxCurrentStrength(var1, var12, var3, var13, -1);
var9 = var1.getBlockMetadata(var2, var3, var4); var9 = var1.getBlockMetadata(var2, var3, var4);
if(var9 > 0) { if (var9 > 0) {
--var9; --var9;
} }
if(var16 >= 0 && var16 != var9) { if (var16 >= 0 && var16 != var9) {
this.func_21031_a(var1, var12, var3, var13, var2, var3, var4); this.func_21031_a(var1, var12, var3, var13, var2, var3, var4);
} }
var16 = this.getMaxCurrentStrength(var1, var12, var14, var13, -1); var16 = this.getMaxCurrentStrength(var1, var12, var14, var13, -1);
var9 = var1.getBlockMetadata(var2, var3, var4); var9 = var1.getBlockMetadata(var2, var3, var4);
if(var9 > 0) { if (var9 > 0) {
--var9; --var9;
} }
if(var16 >= 0 && var16 != var9) { if (var16 >= 0 && var16 != var9) {
this.func_21031_a(var1, var12, var14, var13, var2, var3, var4); this.func_21031_a(var1, var12, var14, var13, var2, var3, var4);
} }
} }
if(var8 == 0 || var9 == 0) { if (var8 == 0 || var9 == 0) {
this.field_21032_b.add(new ChunkPosition(var2, var3, var4)); this.field_21032_b.add(new ChunkPosition(var2, var3, var4));
this.field_21032_b.add(new ChunkPosition(var2 - 1, var3, var4)); this.field_21032_b.add(new ChunkPosition(var2 - 1, var3, var4));
this.field_21032_b.add(new ChunkPosition(var2 + 1, var3, var4)); this.field_21032_b.add(new ChunkPosition(var2 + 1, var3, var4));
this.field_21032_b.add(new ChunkPosition(var2, var3 - 1, var4)); this.field_21032_b.add(new ChunkPosition(var2, var3 - 1, var4));
this.field_21032_b.add(new ChunkPosition(var2, var3 + 1, var4)); this.field_21032_b.add(new ChunkPosition(var2, var3 + 1, var4));
this.field_21032_b.add(new ChunkPosition(var2, var3, var4 - 1)); this.field_21032_b.add(new ChunkPosition(var2, var3, var4 - 1));
this.field_21032_b.add(new ChunkPosition(var2, var3, var4 + 1)); this.field_21032_b.add(new ChunkPosition(var2, var3, var4 + 1));
} }
} }
} }
private void notifyWireNeighborsOfNeighborChange(World var1, int var2, int var3, int var4) { private void notifyWireNeighborsOfNeighborChange(World var1, int var2, int var3, int var4) {
if(var1.getBlockId(var2, var3, var4) == this.blockID) { if (var1.getBlockId(var2, var3, var4) == this.blockID) {
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
} }
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
this.updateAndPropagateCurrentStrength(var1, var2, var3, var4); this.updateAndPropagateCurrentStrength(var1, var2, var3, var4);
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3, var4);
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3, var4);
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 - 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 - 1);
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 + 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 + 1);
if(var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var1.isBlockNormalCube(var2 - 1, var3, var4)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4);
} }
if(var1.isBlockNormalCube(var2 + 1, var3, var4)) { if (var1.isBlockNormalCube(var2 + 1, var3, var4)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4);
} }
if(var1.isBlockNormalCube(var2, var3, var4 - 1)) { if (var1.isBlockNormalCube(var2, var3, var4 - 1)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1);
} }
if(var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var1.isBlockNormalCube(var2, var3, var4 + 1)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1);
} }
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
super.onBlockRemoval(var1, var2, var3, var4); super.onBlockRemoval(var1, var2, var3, var4);
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID); var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
this.updateAndPropagateCurrentStrength(var1, var2, var3, var4); this.updateAndPropagateCurrentStrength(var1, var2, var3, var4);
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3, var4);
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3, var4);
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 - 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 - 1);
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 + 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 + 1);
if(var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var1.isBlockNormalCube(var2 - 1, var3, var4)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4);
} }
if(var1.isBlockNormalCube(var2 + 1, var3, var4)) { if (var1.isBlockNormalCube(var2 + 1, var3, var4)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4); this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4);
} }
if(var1.isBlockNormalCube(var2, var3, var4 - 1)) { if (var1.isBlockNormalCube(var2, var3, var4 - 1)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1);
} }
if(var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var1.isBlockNormalCube(var2, var3, var4 + 1)) {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1);
} else { } else {
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1); this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1);
} }
} }
} }
private int getMaxCurrentStrength(World var1, int var2, int var3, int var4, int var5) { private int getMaxCurrentStrength(World var1, int var2, int var3, int var4, int var5) {
if(var1.getBlockId(var2, var3, var4) != this.blockID) { if (var1.getBlockId(var2, var3, var4) != this.blockID) {
return var5; return var5;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
return var6 > var5 ? var6 : var5; return var6 > var5 ? var6 : var5;
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
boolean var7 = this.canPlaceBlockAt(var1, var2, var3, var4); boolean var7 = this.canPlaceBlockAt(var1, var2, var3, var4);
if(!var7) { if (!var7) {
this.dropBlockAsItem(var1, var2, var3, var4, var6); this.dropBlockAsItem(var1, var2, var3, var4, var6);
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} else { } else {
this.updateAndPropagateCurrentStrength(var1, var2, var3, var4); this.updateAndPropagateCurrentStrength(var1, var2, var3, var4);
} }
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.redstone.shiftedIndex; return Item.redstone.shiftedIndex;
} }
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) { public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
return !this.wiresProvidePower ? false : this.isPoweringTo(var1, var2, var3, var4, var5); return !this.wiresProvidePower ? false : this.isPoweringTo(var1, var2, var3, var4, var5);
} }
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) { public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
if(!this.wiresProvidePower) { if (!this.wiresProvidePower) {
return false; return false;
} else if(var1.getBlockMetadata(var2, var3, var4) == 0) { } else if (var1.getBlockMetadata(var2, var3, var4) == 0) {
return false; return false;
} else if(var5 == 1) { } else if (var5 == 1) {
return true; return true;
} else { } else {
boolean var6 = isPowerProviderOrWire(var1, var2 - 1, var3, var4, 1) || !var1.isBlockNormalCube(var2 - 1, var3, var4) && isPowerProviderOrWire(var1, var2 - 1, var3 - 1, var4, -1); boolean var6 = isPowerProviderOrWire(var1, var2 - 1, var3, var4, 1) || !var1.isBlockNormalCube(var2 - 1, var3, var4) && isPowerProviderOrWire(var1, var2 - 1, var3 - 1, var4, -1);
boolean var7 = isPowerProviderOrWire(var1, var2 + 1, var3, var4, 3) || !var1.isBlockNormalCube(var2 + 1, var3, var4) && isPowerProviderOrWire(var1, var2 + 1, var3 - 1, var4, -1); boolean var7 = isPowerProviderOrWire(var1, var2 + 1, var3, var4, 3) || !var1.isBlockNormalCube(var2 + 1, var3, var4) && isPowerProviderOrWire(var1, var2 + 1, var3 - 1, var4, -1);
boolean var8 = isPowerProviderOrWire(var1, var2, var3, var4 - 1, 2) || !var1.isBlockNormalCube(var2, var3, var4 - 1) && isPowerProviderOrWire(var1, var2, var3 - 1, var4 - 1, -1); boolean var8 = isPowerProviderOrWire(var1, var2, var3, var4 - 1, 2) || !var1.isBlockNormalCube(var2, var3, var4 - 1) && isPowerProviderOrWire(var1, var2, var3 - 1, var4 - 1, -1);
boolean var9 = isPowerProviderOrWire(var1, var2, var3, var4 + 1, 0) || !var1.isBlockNormalCube(var2, var3, var4 + 1) && isPowerProviderOrWire(var1, var2, var3 - 1, var4 + 1, -1); boolean var9 = isPowerProviderOrWire(var1, var2, var3, var4 + 1, 0) || !var1.isBlockNormalCube(var2, var3, var4 + 1) && isPowerProviderOrWire(var1, var2, var3 - 1, var4 + 1, -1);
if(!var1.isBlockNormalCube(var2, var3 + 1, var4)) { if (!var1.isBlockNormalCube(var2, var3 + 1, var4)) {
if(var1.isBlockNormalCube(var2 - 1, var3, var4) && isPowerProviderOrWire(var1, var2 - 1, var3 + 1, var4, -1)) { if (var1.isBlockNormalCube(var2 - 1, var3, var4) && isPowerProviderOrWire(var1, var2 - 1, var3 + 1, var4, -1)) {
var6 = true; var6 = true;
} }
if(var1.isBlockNormalCube(var2 + 1, var3, var4) && isPowerProviderOrWire(var1, var2 + 1, var3 + 1, var4, -1)) { if (var1.isBlockNormalCube(var2 + 1, var3, var4) && isPowerProviderOrWire(var1, var2 + 1, var3 + 1, var4, -1)) {
var7 = true; var7 = true;
} }
if(var1.isBlockNormalCube(var2, var3, var4 - 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 - 1, -1)) { if (var1.isBlockNormalCube(var2, var3, var4 - 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 - 1, -1)) {
var8 = true; var8 = true;
} }
if(var1.isBlockNormalCube(var2, var3, var4 + 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 + 1, -1)) { if (var1.isBlockNormalCube(var2, var3, var4 + 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 + 1, -1)) {
var9 = true; var9 = true;
} }
} }
return !var8 && !var7 && !var6 && !var9 && var5 >= 2 && var5 <= 5 ? true : (var5 == 2 && var8 && !var6 && !var7 ? true : (var5 == 3 && var9 && !var6 && !var7 ? true : (var5 == 4 && var6 && !var8 && !var9 ? true : var5 == 5 && var7 && !var8 && !var9))); return !var8 && !var7 && !var6 && !var9 && var5 >= 2 && var5 <= 5 ? true : (var5 == 2 && var8 && !var6 && !var7 ? true : (var5 == 3 && var9 && !var6 && !var7 ? true : (var5 == 4 && var6 && !var8 && !var9 ? true : var5 == 5 && var7 && !var8 && !var9)));
} }
} }
public boolean canProvidePower() { public boolean canProvidePower() {
return this.wiresProvidePower; return this.wiresProvidePower;
} }
public static boolean isPowerProviderOrWire(IBlockAccess var0, int var1, int var2, int var3, int var4) { public static boolean isPowerProviderOrWire(IBlockAccess var0, int var1, int var2, int var3, int var4) {
int var5 = var0.getBlockId(var1, var2, var3); int var5 = var0.getBlockId(var1, var2, var3);
if(var5 == Block.redstoneWire.blockID) { if (var5 == Block.redstoneWire.blockID) {
return true; return true;
} else if(var5 == 0) { } else if (var5 == 0) {
return false; return false;
} else if(Block.blocksList[var5].canProvidePower()) { } else if (Block.blocksList[var5].canProvidePower()) {
return true; return true;
} else if(var5 != Block.redstoneRepeaterIdle.blockID && var5 != Block.redstoneRepeaterActive.blockID) { } else if (var5 != Block.redstoneRepeaterIdle.blockID && var5 != Block.redstoneRepeaterActive.blockID) {
return false; return false;
} else { } else {
int var6 = var0.getBlockMetadata(var1, var2, var3); int var6 = var0.getBlockMetadata(var1, var2, var3);
return var4 == ModelBed.field_22153_b[var6 & 3]; return var4 == ModelBed.field_22153_b[var6 & 3];
} }
} }
} }

View file

@ -1,73 +1,74 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockReed extends Block { public class BlockReed extends Block {
protected BlockReed(int var1, int var2) { protected BlockReed(int var1, int var2) {
super(var1, Material.plants); super(var1, Material.plants);
this.blockIndexInTexture = var2; this.blockIndexInTexture = var2;
float var3 = 6.0F / 16.0F; float var3 = 6.0F / 16.0F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 1.0F, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 1.0F, 0.5F + var3);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var1.isAirBlock(var2, var3 + 1, var4)) { if (var1.isAirBlock(var2, var3 + 1, var4)) {
int var6; int var6;
for(var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) { for (var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) {
} }
if(var6 < 3) { if (var6 < 3) {
int var7 = var1.getBlockMetadata(var2, var3, var4); int var7 = var1.getBlockMetadata(var2, var3, var4);
if(var7 == 15) { if (var7 == 15) {
var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID); var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID);
var1.setBlockMetadataWithNotify(var2, var3, var4, 0); var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
} else { } else {
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1); var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1);
} }
} }
} }
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockId(var2, var3 - 1, var4); int var5 = var1.getBlockId(var2, var3 - 1, var4);
return var5 == this.blockID ? true : (var5 != Block.grass.blockID && var5 != Block.dirt.blockID ? false : (var1.getBlockMaterial(var2 - 1, var3 - 1, var4) == Material.water ? true : (var1.getBlockMaterial(var2 + 1, var3 - 1, var4) == Material.water ? true : (var1.getBlockMaterial(var2, var3 - 1, var4 - 1) == Material.water ? true : var1.getBlockMaterial(var2, var3 - 1, var4 + 1) == Material.water)))); return var5 == this.blockID ? true : (var5 != Block.grass.blockID && var5 != Block.dirt.blockID ? false : (var1.getBlockMaterial(var2 - 1, var3 - 1, var4) == Material.water ? true : (var1.getBlockMaterial(var2 + 1, var3 - 1, var4) == Material.water ? true : (var1.getBlockMaterial(var2, var3 - 1, var4 - 1) == Material.water ? true : var1.getBlockMaterial(var2, var3 - 1, var4 + 1) == Material.water))));
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
this.checkBlockCoordValid(var1, var2, var3, var4); this.checkBlockCoordValid(var1, var2, var3, var4);
} }
protected final void checkBlockCoordValid(World var1, int var2, int var3, int var4) { protected final void checkBlockCoordValid(World var1, int var2, int var3, int var4) {
if(!this.canBlockStay(var1, var2, var3, var4)) { if (!this.canBlockStay(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public boolean canBlockStay(World var1, int var2, int var3, int var4) { public boolean canBlockStay(World var1, int var2, int var3, int var4) {
return this.canPlaceBlockAt(var1, var2, var3, var4); return this.canPlaceBlockAt(var1, var2, var3, var4);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.reed.shiftedIndex; return Item.reed.shiftedIndex;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
} }

View file

@ -1,63 +1,64 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityFallingSand; import net.minecraft.entity.EntityFallingSand;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockSand extends Block { public class BlockSand extends Block {
public static boolean fallInstantly = false; public static boolean fallInstantly = false;
public BlockSand(int var1, int var2) { public BlockSand(int var1, int var2) {
super(var1, var2, Material.sand); super(var1, var2, Material.sand);
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
this.tryToFall(var1, var2, var3, var4); this.tryToFall(var1, var2, var3, var4);
} }
private void tryToFall(World var1, int var2, int var3, int var4) { private void tryToFall(World var1, int var2, int var3, int var4) {
if(canFallBelow(var1, var2, var3 - 1, var4) && var3 >= 0) { if (canFallBelow(var1, var2, var3 - 1, var4) && var3 >= 0) {
byte var8 = 32; byte var8 = 32;
if(!fallInstantly && var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) { if (!fallInstantly && var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) {
EntityFallingSand var9 = new EntityFallingSand(var1, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), this.blockID); EntityFallingSand var9 = new EntityFallingSand(var1, (double) ((float) var2 + 0.5F), (double) ((float) var3 + 0.5F), (double) ((float) var4 + 0.5F), this.blockID);
var1.entityJoinedWorld(var9); var1.entityJoinedWorld(var9);
} else { } else {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
while(canFallBelow(var1, var2, var3 - 1, var4) && var3 > 0) { while (canFallBelow(var1, var2, var3 - 1, var4) && var3 > 0) {
--var3; --var3;
} }
if(var3 > 0) { if (var3 > 0) {
var1.setBlockWithNotify(var2, var3, var4, this.blockID); var1.setBlockWithNotify(var2, var3, var4, this.blockID);
} }
} }
} }
} }
public int tickRate() { public int tickRate() {
return 3; return 3;
} }
public static boolean canFallBelow(World var0, int var1, int var2, int var3) { public static boolean canFallBelow(World var0, int var1, int var2, int var3) {
int var4 = var0.getBlockId(var1, var2, var3); int var4 = var0.getBlockId(var1, var2, var3);
if(var4 == 0) { if (var4 == 0) {
return true; return true;
} else if(var4 == Block.fire.blockID) { } else if (var4 == Block.fire.blockID) {
return true; return true;
} else { } else {
Material var5 = Block.blocksList[var4].blockMaterial; Material var5 = Block.blocksList[var4].blockMaterial;
return var5 == Material.water ? true : var5 == Material.lava; return var5 == Material.water ? true : var5 == Material.lava;
} }
} }
} }

View file

@ -3,11 +3,11 @@ package net.minecraft.block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockSandStone extends Block { public class BlockSandStone extends Block {
public BlockSandStone(int var1) { public BlockSandStone(int var1) {
super(var1, 192, Material.rock); super(var1, 192, Material.rock);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture); return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture);
} }
} }

View file

@ -1,62 +1,59 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.generators.WorldGenBigTree; import net.minecraft.world.generators.*;
import net.minecraft.world.generators.WorldGenForest;
import net.minecraft.world.generators.WorldGenTaiga2; import java.util.Random;
import net.minecraft.world.generators.WorldGenTrees;
import net.minecraft.world.generators.WorldGenerator;
public class BlockSapling extends BlockFlower { public class BlockSapling extends BlockFlower {
protected BlockSapling(int var1, int var2) { protected BlockSapling(int var1, int var2) {
super(var1, var2); super(var1, var2);
float var3 = 0.4F; float var3 = 0.4F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3); 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) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
super.updateTick(var1, var2, var3, var4, var5); super.updateTick(var1, var2, var3, var4, var5);
if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9 && var5.nextInt(30) == 0) { if (var1.getBlockLightValue(var2, var3 + 1, var4) >= 9 && var5.nextInt(30) == 0) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if((var6 & 8) == 0) { if ((var6 & 8) == 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 | 8); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 | 8);
} else { } else {
this.growTree(var1, var2, var3, var4, var5); this.growTree(var1, var2, var3, var4, var5);
} }
} }
} }
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
var2 &= 3; var2 &= 3;
return var2 == 1 ? 63 : (var2 == 2 ? 79 : super.getBlockTextureFromSideAndMetadata(var1, var2)); return var2 == 1 ? 63 : (var2 == 2 ? 79 : super.getBlockTextureFromSideAndMetadata(var1, var2));
} }
public void growTree(World var1, int var2, int var3, int var4, Random var5) { public void growTree(World var1, int var2, int var3, int var4, Random var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4) & 3; int var6 = var1.getBlockMetadata(var2, var3, var4) & 3;
var1.setBlock(var2, var3, var4, 0); var1.setBlock(var2, var3, var4, 0);
Object var7 = null; Object var7 = null;
if(var6 == 1) { if (var6 == 1) {
var7 = new WorldGenTaiga2(); var7 = new WorldGenTaiga2();
} else if(var6 == 2) { } else if (var6 == 2) {
var7 = new WorldGenForest(); var7 = new WorldGenForest();
} else { } else {
var7 = new WorldGenTrees(); var7 = new WorldGenTrees();
if(var5.nextInt(10) == 0) { if (var5.nextInt(10) == 0) {
var7 = new WorldGenBigTree(); var7 = new WorldGenBigTree();
} }
} }
if(!((WorldGenerator)var7).generate(var1, var5, var2, var3, var4)) { if (!((WorldGenerator) var7).generate(var1, var5, var2, var3, var4)) {
var1.setBlockAndMetadata(var2, var3, var4, this.blockID, var6); var1.setBlockAndMetadata(var2, var3, var4, this.blockID, var6);
} }
} }
protected int damageDropped(int var1) { protected int damageDropped(int var1) {
return var1 & 3; return var1 & 3;
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.tile.TileEntity; import net.minecraft.block.tile.TileEntity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -8,103 +7,105 @@ import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockSign extends BlockContainer { public class BlockSign extends BlockContainer {
private Class signEntityClass; private Class signEntityClass;
private boolean isFreestanding; private boolean isFreestanding;
protected BlockSign(int var1, Class var2, boolean var3) { protected BlockSign(int var1, Class var2, boolean var3) {
super(var1, Material.wood); super(var1, Material.wood);
this.isFreestanding = var3; this.isFreestanding = var3;
this.blockIndexInTexture = 4; this.blockIndexInTexture = 4;
this.signEntityClass = var2; this.signEntityClass = var2;
float var4 = 0.25F; float var4 = 0.25F;
float var5 = 1.0F; float var5 = 1.0F;
this.setBlockBounds(0.5F - var4, 0.0F, 0.5F - var4, 0.5F + var4, var5, 0.5F + var4); this.setBlockBounds(0.5F - var4, 0.0F, 0.5F - var4, 0.5F + var4, var5, 0.5F + var4);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
if(!this.isFreestanding) { if (!this.isFreestanding) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
float var6 = 9.0F / 32.0F; float var6 = 9.0F / 32.0F;
float var7 = 25.0F / 32.0F; float var7 = 25.0F / 32.0F;
float var8 = 0.0F; float var8 = 0.0F;
float var9 = 1.0F; float var9 = 1.0F;
float var10 = 2.0F / 16.0F; float var10 = 2.0F / 16.0F;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
if(var5 == 2) { if (var5 == 2) {
this.setBlockBounds(var8, var6, 1.0F - var10, var9, var7, 1.0F); this.setBlockBounds(var8, var6, 1.0F - var10, var9, var7, 1.0F);
} }
if(var5 == 3) { if (var5 == 3) {
this.setBlockBounds(var8, var6, 0.0F, var9, var7, var10); this.setBlockBounds(var8, var6, 0.0F, var9, var7, var10);
} }
if(var5 == 4) { if (var5 == 4) {
this.setBlockBounds(1.0F - var10, var6, var8, 1.0F, var7, var9); this.setBlockBounds(1.0F - var10, var6, var8, 1.0F, var7, var9);
} }
if(var5 == 5) { if (var5 == 5) {
this.setBlockBounds(0.0F, var6, var8, var10, var7, var9); this.setBlockBounds(0.0F, var6, var8, var10, var7, var9);
} }
} }
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
protected TileEntity getBlockEntity() { protected TileEntity getBlockEntity() {
try { try {
return (TileEntity)this.signEntityClass.newInstance(); return (TileEntity) this.signEntityClass.newInstance();
} catch (Exception var2) { } catch (Exception var2) {
throw new RuntimeException(var2); throw new RuntimeException(var2);
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.sign.shiftedIndex; return Item.sign.shiftedIndex;
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
boolean var6 = false; boolean var6 = false;
if(this.isFreestanding) { if (this.isFreestanding) {
if(!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) { if (!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) {
var6 = true; var6 = true;
} }
} else { } else {
int var7 = var1.getBlockMetadata(var2, var3, var4); int var7 = var1.getBlockMetadata(var2, var3, var4);
var6 = true; var6 = true;
if(var7 == 2 && var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) { if (var7 == 2 && var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) {
var6 = false; var6 = false;
} }
if(var7 == 3 && var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) { if (var7 == 3 && var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) {
var6 = false; var6 = false;
} }
if(var7 == 4 && var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) { if (var7 == 4 && var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) {
var6 = false; var6 = false;
} }
if(var7 == 5 && var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) { if (var7 == 5 && var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) {
var6 = false; var6 = false;
} }
} }
if(var6) { if (var6) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
} }
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityItem; import net.minecraft.entity.EntityItem;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
@ -12,77 +11,79 @@ import net.minecraft.world.EnumLightSource;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockSnow extends Block { public class BlockSnow extends Block {
protected BlockSnow(int var1, int var2) { protected BlockSnow(int var1, int var2) {
super(var1, var2, Material.snow); super(var1, var2, Material.snow);
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7; int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
return var5 >= 3 ? AxisAlignedBB.getBoundingBoxFromPool((double)var2 + this.minX, (double)var3 + this.minY, (double)var4 + this.minZ, (double)var2 + this.maxX, (double)((float)var3 + 0.5F), (double)var4 + this.maxZ) : null; return var5 >= 3 ? AxisAlignedBB.getBoundingBoxFromPool((double) var2 + this.minX, (double) var3 + this.minY, (double) var4 + this.minZ, (double) var2 + this.maxX, (double) ((float) var3 + 0.5F), (double) var4 + this.maxZ) : null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7; int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
float var6 = (float)(2 * (1 + var5)) / 16.0F; float var6 = (float) (2 * (1 + var5)) / 16.0F;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var6, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var6, 1.0F);
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockId(var2, var3 - 1, var4); int var5 = var1.getBlockId(var2, var3 - 1, var4);
return var5 != 0 && Block.blocksList[var5].isOpaqueCube() ? var1.getBlockMaterial(var2, var3 - 1, var4).getIsSolid() : false; return var5 != 0 && Block.blocksList[var5].isOpaqueCube() ? var1.getBlockMaterial(var2, var3 - 1, var4).getIsSolid() : false;
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
this.func_275_g(var1, var2, var3, var4); this.func_275_g(var1, var2, var3, var4);
} }
private boolean func_275_g(World var1, int var2, int var3, int var4) { private boolean func_275_g(World var1, int var2, int var3, int var4) {
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) { if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
return false; return false;
} else { } else {
return true; return true;
} }
} }
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) { public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
int var7 = Item.snowball.shiftedIndex; int var7 = Item.snowball.shiftedIndex;
float var8 = 0.7F; float var8 = 0.7F;
double var9 = (double)(var1.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var9 = (double) (var1.rand.nextFloat() * var8) + (double) (1.0F - var8) * 0.5D;
double var11 = (double)(var1.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var11 = (double) (var1.rand.nextFloat() * var8) + (double) (1.0F - var8) * 0.5D;
double var13 = (double)(var1.rand.nextFloat() * var8) + (double)(1.0F - var8) * 0.5D; double var13 = (double) (var1.rand.nextFloat() * var8) + (double) (1.0F - var8) * 0.5D;
EntityItem var15 = new EntityItem(var1, (double)var3 + var9, (double)var4 + var11, (double)var5 + var13, new ItemStack(var7, 1, 0)); EntityItem var15 = new EntityItem(var1, (double) var3 + var9, (double) var4 + var11, (double) var5 + var13, new ItemStack(var7, 1, 0));
var15.delayBeforeCanPickup = 10; var15.delayBeforeCanPickup = 10;
var1.entityJoinedWorld(var15); var1.entityJoinedWorld(var15);
var1.setBlockWithNotify(var3, var4, var5, 0); var1.setBlockWithNotify(var3, var4, var5, 0);
var2.addStat(StatList.mineBlockStatArray[this.blockID], 1); var2.addStat(StatList.mineBlockStatArray[this.blockID], 1);
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.snowball.shiftedIndex; return Item.snowball.shiftedIndex;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) { if (var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }

View file

@ -1,30 +1,31 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.world.EnumLightSource; import net.minecraft.world.EnumLightSource;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockSnowBlock extends Block { public class BlockSnowBlock extends Block {
protected BlockSnowBlock(int var1, int var2) { protected BlockSnowBlock(int var1, int var2) {
super(var1, var2, Material.builtSnow); super(var1, var2, Material.builtSnow);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.snowball.shiftedIndex; return Item.snowball.shiftedIndex;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 4; return 4;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) { if (var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }

View file

@ -6,17 +6,17 @@ import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockSoulSand extends Block { public class BlockSoulSand extends Block {
public BlockSoulSand(int var1, int var2) { public BlockSoulSand(int var1, int var2) {
super(var1, var2, Material.sand); super(var1, var2, Material.sand);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
float var5 = 2.0F / 16.0F; float var5 = 2.0F / 16.0F;
return AxisAlignedBB.getBoundingBoxFromPool((double)var2, (double)var3, (double)var4, (double)(var2 + 1), (double)((float)(var3 + 1) - var5), (double)(var4 + 1)); return AxisAlignedBB.getBoundingBoxFromPool((double) var2, (double) var3, (double) var4, (double) (var2 + 1), (double) ((float) (var3 + 1) - var5), (double) (var4 + 1));
} }
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
var5.motionX *= 0.4D; var5.motionX *= 0.4D;
var5.motionZ *= 0.4D; var5.motionZ *= 0.4D;
} }
} }

View file

@ -4,35 +4,35 @@ import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockSponge extends Block { public class BlockSponge extends Block {
protected BlockSponge(int var1) { protected BlockSponge(int var1) {
super(var1, Material.sponge); super(var1, Material.sponge);
this.blockIndexInTexture = 48; this.blockIndexInTexture = 48;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
byte var5 = 2; byte var5 = 2;
for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) { for (int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
for(int var7 = var3 - var5; var7 <= var3 + var5; ++var7) { for (int var7 = var3 - var5; var7 <= var3 + var5; ++var7) {
for(int var8 = var4 - var5; var8 <= var4 + var5; ++var8) { for (int var8 = var4 - var5; var8 <= var4 + var5; ++var8) {
if(var1.getBlockMaterial(var6, var7, var8) == Material.water) { if (var1.getBlockMaterial(var6, var7, var8) == Material.water) {
} }
} }
} }
} }
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
byte var5 = 2; byte var5 = 2;
for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) { for (int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
for(int var7 = var3 - var5; var7 <= var3 + var5; ++var7) { for (int var7 = var3 - var5; var7 <= var3 + var5; ++var7) {
for(int var8 = var4 - var5; var8 <= var4 + var5; ++var8) { for (int var8 = var4 - var5; var8 <= var4 + var5; ++var8) {
var1.notifyBlocksOfNeighborChange(var6, var7, var8, var1.getBlockId(var6, var7, var8)); var1.notifyBlocksOfNeighborChange(var6, var7, var8, var1.getBlockId(var6, var7, var8));
} }
} }
} }
} }
} }

View file

@ -1,7 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.ArrayList;
import java.util.Random;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
@ -11,155 +9,158 @@ import net.minecraft.math.Vec3D;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.Random;
public class BlockStairs extends Block { public class BlockStairs extends Block {
private Block modelBlock; private Block modelBlock;
protected BlockStairs(int var1, Block var2) { protected BlockStairs(int var1, Block var2) {
super(var1, var2.blockIndexInTexture, var2.blockMaterial); super(var1, var2.blockIndexInTexture, var2.blockMaterial);
this.modelBlock = var2; this.modelBlock = var2;
this.setHardness(var2.blockHardness); this.setHardness(var2.blockHardness);
this.setResistance(var2.blockResistance / 3.0F); this.setResistance(var2.blockResistance / 3.0F);
this.setStepSound(var2.stepSound); this.setStepSound(var2.stepSound);
this.setLightOpacity(255); this.setLightOpacity(255);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) { public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
int var7 = var1.getBlockMetadata(var2, var3, var4); int var7 = var1.getBlockMetadata(var2, var3, var4);
if(var7 == 0) { if (var7 == 0) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
} else if(var7 == 1) { } else if (var7 == 1) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
} else if(var7 == 2) { } else if (var7 == 2) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
} else if(var7 == 3) { } else if (var7 == 3) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F);
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6); super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
} }
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.modelBlock.onBlockClicked(var1, var2, var3, var4, var5); this.modelBlock.onBlockClicked(var1, var2, var3, var4, var5);
} }
public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) { public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) {
this.modelBlock.onBlockDestroyedByPlayer(var1, var2, var3, var4, var5); this.modelBlock.onBlockDestroyedByPlayer(var1, var2, var3, var4, var5);
} }
public float getExplosionResistance(Entity var1) { public float getExplosionResistance(Entity var1) {
return this.modelBlock.getExplosionResistance(var1); return this.modelBlock.getExplosionResistance(var1);
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return this.modelBlock.idDropped(var1, var2); return this.modelBlock.idDropped(var1, var2);
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return this.modelBlock.quantityDropped(var1); return this.modelBlock.quantityDropped(var1);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return this.modelBlock.getBlockTextureFromSideAndMetadata(var1, var2); return this.modelBlock.getBlockTextureFromSideAndMetadata(var1, var2);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return this.modelBlock.getBlockTextureFromSide(var1); return this.modelBlock.getBlockTextureFromSide(var1);
} }
public int tickRate() { public int tickRate() {
return this.modelBlock.tickRate(); return this.modelBlock.tickRate();
} }
public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) { public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) {
this.modelBlock.velocityToAddToEntity(var1, var2, var3, var4, var5, var6); this.modelBlock.velocityToAddToEntity(var1, var2, var3, var4, var5, var6);
} }
public boolean isCollidable() { public boolean isCollidable() {
return this.modelBlock.isCollidable(); return this.modelBlock.isCollidable();
} }
public boolean canCollideCheck(int var1, boolean var2) { public boolean canCollideCheck(int var1, boolean var2) {
return this.modelBlock.canCollideCheck(var1, var2); return this.modelBlock.canCollideCheck(var1, var2);
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
return this.modelBlock.canPlaceBlockAt(var1, var2, var3, var4); return this.modelBlock.canPlaceBlockAt(var1, var2, var3, var4);
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
this.onNeighborBlockChange(var1, var2, var3, var4, 0); this.onNeighborBlockChange(var1, var2, var3, var4, 0);
this.modelBlock.onBlockAdded(var1, var2, var3, var4); this.modelBlock.onBlockAdded(var1, var2, var3, var4);
} }
public void onBlockRemoval(World var1, int var2, int var3, int var4) { public void onBlockRemoval(World var1, int var2, int var3, int var4) {
this.modelBlock.onBlockRemoval(var1, var2, var3, var4); this.modelBlock.onBlockRemoval(var1, var2, var3, var4);
} }
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) { public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
this.modelBlock.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6); this.modelBlock.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
} }
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
this.modelBlock.onEntityWalking(var1, var2, var3, var4, var5); this.modelBlock.onEntityWalking(var1, var2, var3, var4, var5);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
this.modelBlock.updateTick(var1, var2, var3, var4, var5); this.modelBlock.updateTick(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
return this.modelBlock.blockActivated(var1, var2, var3, var4, var5); return this.modelBlock.blockActivated(var1, var2, var3, var4, var5);
} }
public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) { public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) {
this.modelBlock.onBlockDestroyedByExplosion(var1, var2, var3, var4); this.modelBlock.onBlockDestroyedByExplosion(var1, var2, var3, var4);
} }
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) { public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
int var6 = MathHelper.floor_double((double)(var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3; int var6 = MathHelper.floor_double((double) (var5.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if(var6 == 0) { if (var6 == 0) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 2); var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
} }
if(var6 == 1) { if (var6 == 1) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 1); var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
} }
if(var6 == 2) { if (var6 == 2) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 3); var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
} }
if(var6 == 3) { if (var6 == 3) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 0); var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
} }
} }
} }

View file

@ -1,59 +1,60 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockStationary extends BlockFluid { public class BlockStationary extends BlockFluid {
protected BlockStationary(int var1, Material var2) { protected BlockStationary(int var1, Material var2) {
super(var1, var2); super(var1, var2);
this.setTickOnLoad(false); this.setTickOnLoad(false);
if(var2 == Material.lava) { if (var2 == Material.lava) {
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
super.onNeighborBlockChange(var1, var2, var3, var4, var5); super.onNeighborBlockChange(var1, var2, var3, var4, var5);
if(var1.getBlockId(var2, var3, var4) == this.blockID) { if (var1.getBlockId(var2, var3, var4) == this.blockID) {
this.func_30005_i(var1, var2, var3, var4); this.func_30005_i(var1, var2, var3, var4);
} }
} }
private void func_30005_i(World var1, int var2, int var3, int var4) { private void func_30005_i(World var1, int var2, int var3, int var4) {
int var5 = var1.getBlockMetadata(var2, var3, var4); int var5 = var1.getBlockMetadata(var2, var3, var4);
var1.editingBlocks = true; var1.editingBlocks = true;
var1.setBlockAndMetadata(var2, var3, var4, this.blockID - 1, var5); var1.setBlockAndMetadata(var2, var3, var4, this.blockID - 1, var5);
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4); var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
var1.scheduleUpdateTick(var2, var3, var4, this.blockID - 1, this.tickRate()); var1.scheduleUpdateTick(var2, var3, var4, this.blockID - 1, this.tickRate());
var1.editingBlocks = false; var1.editingBlocks = false;
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
if(this.blockMaterial == Material.lava) { if (this.blockMaterial == Material.lava) {
int var6 = var5.nextInt(3); int var6 = var5.nextInt(3);
for(int var7 = 0; var7 < var6; ++var7) { for (int var7 = 0; var7 < var6; ++var7) {
var2 += var5.nextInt(3) - 1; var2 += var5.nextInt(3) - 1;
++var3; ++var3;
var4 += var5.nextInt(3) - 1; var4 += var5.nextInt(3) - 1;
int var8 = var1.getBlockId(var2, var3, var4); int var8 = var1.getBlockId(var2, var3, var4);
if(var8 == 0) { if (var8 == 0) {
if(this.func_4033_j(var1, var2 - 1, var3, var4) || this.func_4033_j(var1, var2 + 1, var3, var4) || this.func_4033_j(var1, var2, var3, var4 - 1) || this.func_4033_j(var1, var2, var3, var4 + 1) || this.func_4033_j(var1, var2, var3 - 1, var4) || this.func_4033_j(var1, var2, var3 + 1, var4)) { if (this.func_4033_j(var1, var2 - 1, var3, var4) || this.func_4033_j(var1, var2 + 1, var3, var4) || this.func_4033_j(var1, var2, var3, var4 - 1) || this.func_4033_j(var1, var2, var3, var4 + 1) || this.func_4033_j(var1, var2, var3 - 1, var4) || this.func_4033_j(var1, var2, var3 + 1, var4)) {
var1.setBlockWithNotify(var2, var3, var4, Block.fire.blockID); var1.setBlockWithNotify(var2, var3, var4, Block.fire.blockID);
return; return;
} }
} else if(Block.blocksList[var8].blockMaterial.getIsSolid()) { } else if (Block.blocksList[var8].blockMaterial.getIsSolid()) {
return; return;
} }
} }
} }
} }
private boolean func_4033_j(World var1, int var2, int var3, int var4) { private boolean func_4033_j(World var1, int var2, int var3, int var4) {
return var1.getBlockMaterial(var2, var3, var4).getBurning(); return var1.getBlockMaterial(var2, var3, var4).getBurning();
} }
} }

View file

@ -1,65 +1,66 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockStep extends Block { public class BlockStep extends Block {
public static final String[] field_22027_a = new String[]{"stone", "sand", "wood", "cobble"}; public static final String[] field_22027_a = new String[]{"stone", "sand", "wood", "cobble"};
private boolean blockType; private boolean blockType;
public BlockStep(int var1, boolean var2) { public BlockStep(int var1, boolean var2) {
super(var1, 6, Material.rock); super(var1, 6, Material.rock);
this.blockType = var2; this.blockType = var2;
if(!var2) { if (!var2) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
} }
this.setLightOpacity(255); this.setLightOpacity(255);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var2 == 0 ? (var1 <= 1 ? 6 : 5) : (var2 == 1 ? (var1 == 0 ? 208 : (var1 == 1 ? 176 : 192)) : (var2 == 2 ? 4 : (var2 == 3 ? 16 : 6))); return var2 == 0 ? (var1 <= 1 ? 6 : 5) : (var2 == 1 ? (var1 == 0 ? 208 : (var1 == 1 ? 176 : 192)) : (var2 == 2 ? 4 : (var2 == 3 ? 16 : 6)));
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return this.getBlockTextureFromSideAndMetadata(var1, 0); return this.getBlockTextureFromSideAndMetadata(var1, 0);
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return this.blockType; return this.blockType;
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
if(this != Block.stairSingle) { if (this != Block.stairSingle) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
} }
int var5 = var1.getBlockId(var2, var3 - 1, var4); int var5 = var1.getBlockId(var2, var3 - 1, var4);
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var1.getBlockMetadata(var2, var3 - 1, var4); int var7 = var1.getBlockMetadata(var2, var3 - 1, var4);
if(var6 == var7) { if (var6 == var7) {
if(var5 == stairSingle.blockID) { if (var5 == stairSingle.blockID) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, Block.stairDouble.blockID, var6); var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, Block.stairDouble.blockID, var6);
} }
} }
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Block.stairSingle.blockID; return Block.stairSingle.blockID;
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return this.blockType ? 2 : 1; return this.blockType ? 2 : 1;
} }
protected int damageDropped(int var1) { protected int damageDropped(int var1) {
return var1; return var1;
} }
public boolean isACube() { public boolean isACube() {
return this.blockType; return this.blockType;
} }
} }

View file

@ -1,14 +1,15 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
public class BlockStone extends Block { import java.util.Random;
public BlockStone(int var1, int var2) {
super(var1, var2, Material.rock);
}
public int idDropped(int var1, Random var2) { public class BlockStone extends Block {
return Block.cobblestone.blockID; public BlockStone(int var1, int var2) {
} super(var1, var2, Material.rock);
}
public int idDropped(int var1, Random var2) {
return Block.cobblestone.blockID;
}
} }

View file

@ -1,6 +1,5 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.entity.EntityTNTPrimed; import net.minecraft.entity.EntityTNTPrimed;
@ -8,64 +7,66 @@ import net.minecraft.item.Item;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockTNT extends Block { public class BlockTNT extends Block {
public BlockTNT(int var1, int var2) { public BlockTNT(int var1, int var2) {
super(var1, var2, Material.tnt); super(var1, var2, Material.tnt);
} }
public int getBlockTextureFromSide(int var1) { public int getBlockTextureFromSide(int var1) {
return var1 == 0 ? this.blockIndexInTexture + 2 : (var1 == 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture); return var1 == 0 ? this.blockIndexInTexture + 2 : (var1 == 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture);
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
super.onBlockAdded(var1, var2, var3, var4); super.onBlockAdded(var1, var2, var3, var4);
if(var1.isBlockIndirectlyGettingPowered(var2, var3, var4)) { if (var1.isBlockIndirectlyGettingPowered(var2, var3, var4)) {
this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1); this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(var5 > 0 && Block.blocksList[var5].canProvidePower() && var1.isBlockIndirectlyGettingPowered(var2, var3, var4)) { if (var5 > 0 && Block.blocksList[var5].canProvidePower() && var1.isBlockIndirectlyGettingPowered(var2, var3, var4)) {
this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1); this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
public int quantityDropped(Random var1) { public int quantityDropped(Random var1) {
return 0; return 0;
} }
public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) { public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) {
EntityTNTPrimed var5 = new EntityTNTPrimed(var1, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F)); EntityTNTPrimed var5 = new EntityTNTPrimed(var1, (double) ((float) var2 + 0.5F), (double) ((float) var3 + 0.5F), (double) ((float) var4 + 0.5F));
var5.fuse = var1.rand.nextInt(var5.fuse / 4) + var5.fuse / 8; var5.fuse = var1.rand.nextInt(var5.fuse / 4) + var5.fuse / 8;
var1.entityJoinedWorld(var5); var1.entityJoinedWorld(var5);
} }
public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) { public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
if((var5 & 1) == 0) { if ((var5 & 1) == 0) {
this.dropBlockAsItem_do(var1, var2, var3, var4, new ItemStack(Block.tnt.blockID, 1, 0)); this.dropBlockAsItem_do(var1, var2, var3, var4, new ItemStack(Block.tnt.blockID, 1, 0));
} else { } else {
EntityTNTPrimed var6 = new EntityTNTPrimed(var1, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F)); EntityTNTPrimed var6 = new EntityTNTPrimed(var1, (double) ((float) var2 + 0.5F), (double) ((float) var3 + 0.5F), (double) ((float) var4 + 0.5F));
var1.entityJoinedWorld(var6); var1.entityJoinedWorld(var6);
var1.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F); var1.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F);
} }
} }
} }
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var5.getCurrentEquippedItem() != null && var5.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex) { if (var5.getCurrentEquippedItem() != null && var5.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex) {
var1.setBlockMetadata(var2, var3, var4, 1); var1.setBlockMetadata(var2, var3, var4, 1);
} }
super.onBlockClicked(var1, var2, var3, var4, var5); super.onBlockClicked(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
return super.blockActivated(var1, var2, var3, var4, var5); return super.blockActivated(var1, var2, var3, var4, var5);
} }
} }

View file

@ -1,20 +1,21 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import java.util.Random;
public class BlockTallGrass extends BlockFlower { public class BlockTallGrass extends BlockFlower {
protected BlockTallGrass(int var1, int var2) { protected BlockTallGrass(int var1, int var2) {
super(var1, var2); super(var1, var2);
float var3 = 0.4F; float var3 = 0.4F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3);
} }
public int getBlockTextureFromSideAndMetadata(int var1, int var2) { public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
return var2 == 1 ? this.blockIndexInTexture : (var2 == 2 ? this.blockIndexInTexture + 16 + 1 : (var2 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture)); return var2 == 1 ? this.blockIndexInTexture : (var2 == 2 ? this.blockIndexInTexture + 16 + 1 : (var2 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture));
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return var2.nextInt(8) == 0 ? Item.seeds.shiftedIndex : -1; return var2.nextInt(8) == 0 ? Item.seeds.shiftedIndex : -1;
} }
} }

View file

@ -1,145 +1,146 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.math.Vec3D; import net.minecraft.math.Vec3D;
import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockTorch extends Block { public class BlockTorch extends Block {
protected BlockTorch(int var1, int var2) { protected BlockTorch(int var1, int var2) {
super(var1, var2, Material.circuits); super(var1, var2, Material.circuits);
this.setTickOnLoad(true); this.setTickOnLoad(true);
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
private boolean func_31028_g(World var1, int var2, int var3, int var4) { private boolean func_31028_g(World var1, int var2, int var3, int var4) {
return var1.isBlockNormalCube(var2, var3, var4) || var1.getBlockId(var2, var3, var4) == Block.fence.blockID; return var1.isBlockNormalCube(var2, var3, var4) || var1.getBlockId(var2, var3, var4) == Block.fence.blockID;
} }
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) { 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 : this.func_31028_g(var1, var2, var3 - 1, 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 : this.func_31028_g(var1, var2, var3 - 1, var4))));
} }
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) { public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
if(var5 == 1 && this.func_31028_g(var1, var2, var3 - 1, var4)) { if (var5 == 1 && this.func_31028_g(var1, var2, var3 - 1, var4)) {
var6 = 5; var6 = 5;
} }
if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) { if (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var6 = 4; var6 = 4;
} }
if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) { if (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var6 = 3; var6 = 3;
} }
if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) { if (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var6 = 2; var6 = 2;
} }
if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var6 = 1; var6 = 1;
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
} }
public void updateTick(World var1, int var2, int var3, int var4, Random var5) { public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
super.updateTick(var1, var2, var3, var4, var5); super.updateTick(var1, var2, var3, var4, var5);
if(var1.getBlockMetadata(var2, var3, var4) == 0) { if (var1.getBlockMetadata(var2, var3, var4) == 0) {
this.onBlockAdded(var1, var2, var3, var4); this.onBlockAdded(var1, var2, var3, var4);
} }
} }
public void onBlockAdded(World var1, int var2, int var3, int var4) { public void onBlockAdded(World var1, int var2, int var3, int var4) {
if(var1.isBlockNormalCube(var2 - 1, var3, var4)) { if (var1.isBlockNormalCube(var2 - 1, var3, var4)) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 1); var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
} else if(var1.isBlockNormalCube(var2 + 1, var3, var4)) { } else if (var1.isBlockNormalCube(var2 + 1, var3, var4)) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 2); var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
} else if(var1.isBlockNormalCube(var2, var3, var4 - 1)) { } else if (var1.isBlockNormalCube(var2, var3, var4 - 1)) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 3); var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
} else if(var1.isBlockNormalCube(var2, var3, var4 + 1)) { } else if (var1.isBlockNormalCube(var2, var3, var4 + 1)) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 4); var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
} else if(this.func_31028_g(var1, var2, var3 - 1, var4)) { } else if (this.func_31028_g(var1, var2, var3 - 1, var4)) {
var1.setBlockMetadataWithNotify(var2, var3, var4, 5); var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
} }
this.dropTorchIfCantStay(var1, var2, var3, var4); this.dropTorchIfCantStay(var1, var2, var3, var4);
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(this.dropTorchIfCantStay(var1, var2, var3, var4)) { if (this.dropTorchIfCantStay(var1, var2, var3, var4)) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
boolean var7 = false; boolean var7 = false;
if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) { if (!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) { if (!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) { if (!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
var7 = true; var7 = true;
} }
if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) { if (!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
var7 = true; var7 = true;
} }
if(!this.func_31028_g(var1, var2, var3 - 1, var4) && var6 == 5) { if (!this.func_31028_g(var1, var2, var3 - 1, var4) && var6 == 5) {
var7 = true; var7 = true;
} }
if(var7) { if (var7) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
} }
} }
} }
private boolean dropTorchIfCantStay(World var1, int var2, int var3, int var4) { private boolean dropTorchIfCantStay(World var1, int var2, int var3, int var4) {
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) { if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4)); this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
return false; return false;
} else { } else {
return true; return true;
} }
} }
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
int var7 = var1.getBlockMetadata(var2, var3, var4) & 7; int var7 = var1.getBlockMetadata(var2, var3, var4) & 7;
float var8 = 0.15F; float var8 = 0.15F;
if(var7 == 1) { if (var7 == 1) {
this.setBlockBounds(0.0F, 0.2F, 0.5F - var8, var8 * 2.0F, 0.8F, 0.5F + var8); this.setBlockBounds(0.0F, 0.2F, 0.5F - var8, var8 * 2.0F, 0.8F, 0.5F + var8);
} else if(var7 == 2) { } else if (var7 == 2) {
this.setBlockBounds(1.0F - var8 * 2.0F, 0.2F, 0.5F - var8, 1.0F, 0.8F, 0.5F + var8); this.setBlockBounds(1.0F - var8 * 2.0F, 0.2F, 0.5F - var8, 1.0F, 0.8F, 0.5F + var8);
} else if(var7 == 3) { } else if (var7 == 3) {
this.setBlockBounds(0.5F - var8, 0.2F, 0.0F, 0.5F + var8, 0.8F, var8 * 2.0F); this.setBlockBounds(0.5F - var8, 0.2F, 0.0F, 0.5F + var8, 0.8F, var8 * 2.0F);
} else if(var7 == 4) { } else if (var7 == 4) {
this.setBlockBounds(0.5F - var8, 0.2F, 1.0F - var8 * 2.0F, 0.5F + var8, 0.8F, 1.0F); this.setBlockBounds(0.5F - var8, 0.2F, 1.0F - var8 * 2.0F, 0.5F + var8, 0.8F, 1.0F);
} else { } else {
var8 = 0.1F; var8 = 0.1F;
this.setBlockBounds(0.5F - var8, 0.0F, 0.5F - var8, 0.5F + var8, 0.6F, 0.5F + var8); 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); return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
} }
} }

View file

@ -9,169 +9,169 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockTrapDoor extends Block { public class BlockTrapDoor extends Block {
protected BlockTrapDoor(int var1, Material var2) { protected BlockTrapDoor(int var1, Material var2) {
super(var1, var2); super(var1, var2);
this.blockIndexInTexture = 84; this.blockIndexInTexture = 84;
if(var2 == Material.iron) { if (var2 == Material.iron) {
++this.blockIndexInTexture; ++this.blockIndexInTexture;
} }
float var3 = 0.5F; float var3 = 0.5F;
float var4 = 1.0F; float var4 = 1.0F;
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3); this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3);
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
this.setBlockBoundsBasedOnState(var1, var2, var3, var4); this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4); return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
} }
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) { public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
this.func_28039_c(var1.getBlockMetadata(var2, var3, var4)); this.func_28039_c(var1.getBlockMetadata(var2, var3, var4));
} }
public void func_28039_c(int var1) { public void func_28039_c(int var1) {
float var2 = 3.0F / 16.0F; float var2 = 3.0F / 16.0F;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var2, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var2, 1.0F);
if(func_28038_d(var1)) { if (func_28038_d(var1)) {
if((var1 & 3) == 0) { if ((var1 & 3) == 0) {
this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F);
} }
if((var1 & 3) == 1) { if ((var1 & 3) == 1) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2);
} }
if((var1 & 3) == 2) { if ((var1 & 3) == 2) {
this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
} }
if((var1 & 3) == 3) { if ((var1 & 3) == 3) {
this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F); 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) { public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
this.blockActivated(var1, var2, var3, var4, var5); this.blockActivated(var1, var2, var3, var4, var5);
} }
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(this.blockMaterial == Material.iron) { if (this.blockMaterial == Material.iron) {
return true; return true;
} else { } else {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
var1.func_28101_a(var5, 1003, var2, var3, var4, 0); var1.func_28101_a(var5, 1003, var2, var3, var4, 0);
return true; return true;
} }
} }
public void func_28040_a(World var1, int var2, int var3, int var4, boolean var5) { public void func_28040_a(World var1, int var2, int var3, int var4, boolean var5) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
boolean var7 = (var6 & 4) > 0; boolean var7 = (var6 & 4) > 0;
if(var7 != var5) { if (var7 != var5) {
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4); var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
var1.func_28101_a((EntityPlayer)null, 1003, var2, var3, var4, 0); var1.func_28101_a((EntityPlayer) null, 1003, var2, var3, var4, 0);
} }
} }
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) { public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
if(!var1.singleplayerWorld) { if (!var1.singleplayerWorld) {
int var6 = var1.getBlockMetadata(var2, var3, var4); int var6 = var1.getBlockMetadata(var2, var3, var4);
int var7 = var2; int var7 = var2;
int var8 = var4; int var8 = var4;
if((var6 & 3) == 0) { if ((var6 & 3) == 0) {
var8 = var4 + 1; var8 = var4 + 1;
} }
if((var6 & 3) == 1) { if ((var6 & 3) == 1) {
--var8; --var8;
} }
if((var6 & 3) == 2) { if ((var6 & 3) == 2) {
var7 = var2 + 1; var7 = var2 + 1;
} }
if((var6 & 3) == 3) { if ((var6 & 3) == 3) {
--var7; --var7;
} }
if(!var1.isBlockNormalCube(var7, var3, var8)) { if (!var1.isBlockNormalCube(var7, var3, var8)) {
var1.setBlockWithNotify(var2, var3, var4, 0); var1.setBlockWithNotify(var2, var3, var4, 0);
this.dropBlockAsItem(var1, var2, var3, var4, var6); this.dropBlockAsItem(var1, var2, var3, var4, var6);
} }
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) { if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
boolean var9 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4); boolean var9 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4);
this.func_28040_a(var1, var2, var3, var4, var9); this.func_28040_a(var1, var2, var3, var4, var9);
} }
} }
} }
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) { public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
this.setBlockBoundsBasedOnState(var1, var2, var3, var4); this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6); return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
} }
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) { public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
byte var6 = 0; byte var6 = 0;
if(var5 == 2) { if (var5 == 2) {
var6 = 0; var6 = 0;
} }
if(var5 == 3) { if (var5 == 3) {
var6 = 1; var6 = 1;
} }
if(var5 == 4) { if (var5 == 4) {
var6 = 2; var6 = 2;
} }
if(var5 == 5) { if (var5 == 5) {
var6 = 3; var6 = 3;
} }
var1.setBlockMetadataWithNotify(var2, var3, var4, var6); var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
} }
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) { public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
if(var5 == 0) { if (var5 == 0) {
return false; return false;
} else if(var5 == 1) { } else if (var5 == 1) {
return false; return false;
} else { } else {
if(var5 == 2) { if (var5 == 2) {
++var4; ++var4;
} }
if(var5 == 3) { if (var5 == 3) {
--var4; --var4;
} }
if(var5 == 4) { if (var5 == 4) {
++var2; ++var2;
} }
if(var5 == 5) { if (var5 == 5) {
--var2; --var2;
} }
return var1.isBlockNormalCube(var2, var3, var4); return var1.isBlockNormalCube(var2, var3, var4);
} }
} }
public static boolean func_28038_d(int var0) { public static boolean func_28038_d(int var0) {
return (var0 & 4) != 0; return (var0 & 4) != 0;
} }
} }

View file

@ -1,34 +1,35 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.Random;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.Random;
public class BlockWeb extends Block { public class BlockWeb extends Block {
public BlockWeb(int var1, int var2) { public BlockWeb(int var1, int var2) {
super(var1, var2, Material.web); super(var1, var2, Material.web);
} }
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) { public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
var5.field_27012_bb = true; var5.field_27012_bb = true;
} }
public boolean isOpaqueCube() { public boolean isOpaqueCube() {
return false; return false;
} }
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) { public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
return null; return null;
} }
public boolean isACube() { public boolean isACube() {
return false; return false;
} }
public int idDropped(int var1, Random var2) { public int idDropped(int var1, Random var2) {
return Item.silk.shiftedIndex; return Item.silk.shiftedIndex;
} }
} }

View file

@ -5,21 +5,21 @@ import net.minecraft.entity.EntityPlayer;
import net.minecraft.world.World; import net.minecraft.world.World;
public class BlockWorkbench extends Block { public class BlockWorkbench extends Block {
protected BlockWorkbench(int var1) { protected BlockWorkbench(int var1) {
super(var1, Material.wood); super(var1, Material.wood);
this.blockIndexInTexture = 59; this.blockIndexInTexture = 59;
} }
public int getBlockTextureFromSide(int var1) { 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)); 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) { public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
if(var1.singleplayerWorld) { if (var1.singleplayerWorld) {
return true; return true;
} else { } else {
var5.displayWorkbenchGUI(var2, var3, var4); var5.displayWorkbenchGUI(var2, var3, var4);
return true; return true;
} }
} }
} }

View file

@ -1,350 +1,351 @@
package net.minecraft.block; package net.minecraft.block;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.math.ChunkPosition; import net.minecraft.math.ChunkPosition;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.List;
class RailLogic { class RailLogic {
private World worldObj; private World worldObj;
private int trackX; private int trackX;
private int trackY; private int trackY;
private int trackZ; private int trackZ;
private final boolean field_27084_f; private final boolean field_27084_f;
private List connectedTracks; private List connectedTracks;
final BlockRail minecartTrack; final BlockRail minecartTrack;
public RailLogic(BlockRail var1, World var2, int var3, int var4, int var5) { public RailLogic(BlockRail var1, World var2, int var3, int var4, int var5) {
this.minecartTrack = var1; this.minecartTrack = var1;
this.connectedTracks = new ArrayList(); this.connectedTracks = new ArrayList();
this.worldObj = var2; this.worldObj = var2;
this.trackX = var3; this.trackX = var3;
this.trackY = var4; this.trackY = var4;
this.trackZ = var5; this.trackZ = var5;
int var6 = var2.getBlockId(var3, var4, var5); int var6 = var2.getBlockId(var3, var4, var5);
int var7 = var2.getBlockMetadata(var3, var4, var5); int var7 = var2.getBlockMetadata(var3, var4, var5);
if(BlockRail.func_27033_a((BlockRail)Block.blocksList[var6])) { if (BlockRail.func_27033_a((BlockRail) Block.blocksList[var6])) {
this.field_27084_f = true; this.field_27084_f = true;
var7 &= -9; var7 &= -9;
} else { } else {
this.field_27084_f = false; this.field_27084_f = false;
} }
this.func_27083_a(var7); this.func_27083_a(var7);
} }
private void func_27083_a(int var1) { private void func_27083_a(int var1) {
this.connectedTracks.clear(); this.connectedTracks.clear();
if(var1 == 0) { if (var1 == 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));
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(var1 == 1) { } else if (var1 == 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));
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(var1 == 2) { } else if (var1 == 2) {
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); 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)); this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY + 1, this.trackZ));
} else if(var1 == 3) { } else if (var1 == 3) {
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY + 1, this.trackZ)); 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)); this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
} else if(var1 == 4) { } else if (var1 == 4) {
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY + 1, this.trackZ - 1)); 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)); this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1));
} else if(var1 == 5) { } else if (var1 == 5) {
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1)); 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)); this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY + 1, this.trackZ + 1));
} else if(var1 == 6) { } else if (var1 == 6) {
this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ)); this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
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(var1 == 7) { } else if (var1 == 7) {
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ));
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(var1 == 8) { } else if (var1 == 8) {
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ)); this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ));
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(var1 == 9) { } else if (var1 == 9) {
this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ)); this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1)); this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1));
} }
} }
private void func_591_b() { private void func_591_b() {
for(int var1 = 0; var1 < this.connectedTracks.size(); ++var1) { for (int var1 = 0; var1 < this.connectedTracks.size(); ++var1) {
RailLogic var2 = this.getMinecartTrackLogic((ChunkPosition)this.connectedTracks.get(var1)); RailLogic var2 = this.getMinecartTrackLogic((ChunkPosition) this.connectedTracks.get(var1));
if(var2 != null && var2.isConnectedTo(this)) { if (var2 != null && var2.isConnectedTo(this)) {
this.connectedTracks.set(var1, new ChunkPosition(var2.trackX, var2.trackY, var2.trackZ)); this.connectedTracks.set(var1, new ChunkPosition(var2.trackX, var2.trackY, var2.trackZ));
} else { } else {
this.connectedTracks.remove(var1--); this.connectedTracks.remove(var1--);
} }
} }
} }
private boolean isMinecartTrack(int var1, int var2, int var3) { private boolean isMinecartTrack(int var1, int var2, int var3) {
return BlockRail.func_27029_g(this.worldObj, var1, var2, var3) ? true : (BlockRail.func_27029_g(this.worldObj, var1, var2 + 1, var3) ? true : BlockRail.func_27029_g(this.worldObj, var1, var2 - 1, var3)); return BlockRail.func_27029_g(this.worldObj, var1, var2, var3) ? true : (BlockRail.func_27029_g(this.worldObj, var1, var2 + 1, var3) ? true : BlockRail.func_27029_g(this.worldObj, var1, var2 - 1, var3));
} }
private RailLogic getMinecartTrackLogic(ChunkPosition var1) { private RailLogic getMinecartTrackLogic(ChunkPosition var1) {
return BlockRail.func_27029_g(this.worldObj, var1.x, var1.y, var1.z) ? new RailLogic(this.minecartTrack, this.worldObj, var1.x, var1.y, var1.z) : (BlockRail.func_27029_g(this.worldObj, var1.x, var1.y + 1, var1.z) ? new RailLogic(this.minecartTrack, this.worldObj, var1.x, var1.y + 1, var1.z) : (BlockRail.func_27029_g(this.worldObj, var1.x, var1.y - 1, var1.z) ? new RailLogic(this.minecartTrack, this.worldObj, var1.x, var1.y - 1, var1.z) : null)); return BlockRail.func_27029_g(this.worldObj, var1.x, var1.y, var1.z) ? new RailLogic(this.minecartTrack, this.worldObj, var1.x, var1.y, var1.z) : (BlockRail.func_27029_g(this.worldObj, var1.x, var1.y + 1, var1.z) ? new RailLogic(this.minecartTrack, this.worldObj, var1.x, var1.y + 1, var1.z) : (BlockRail.func_27029_g(this.worldObj, var1.x, var1.y - 1, var1.z) ? new RailLogic(this.minecartTrack, this.worldObj, var1.x, var1.y - 1, var1.z) : null));
} }
private boolean isConnectedTo(RailLogic var1) { private boolean isConnectedTo(RailLogic var1) {
for(int var2 = 0; var2 < this.connectedTracks.size(); ++var2) { for (int var2 = 0; var2 < this.connectedTracks.size(); ++var2) {
ChunkPosition var3 = (ChunkPosition)this.connectedTracks.get(var2); ChunkPosition var3 = (ChunkPosition) this.connectedTracks.get(var2);
if(var3.x == var1.trackX && var3.z == var1.trackZ) { if (var3.x == var1.trackX && var3.z == var1.trackZ) {
return true; return true;
} }
} }
return false; return false;
} }
private boolean func_599_b(int var1, int var2, int var3) { private boolean func_599_b(int var1, int var2, int var3) {
for(int var4 = 0; var4 < this.connectedTracks.size(); ++var4) { for (int var4 = 0; var4 < this.connectedTracks.size(); ++var4) {
ChunkPosition var5 = (ChunkPosition)this.connectedTracks.get(var4); ChunkPosition var5 = (ChunkPosition) this.connectedTracks.get(var4);
if(var5.x == var1 && var5.z == var3) { if (var5.x == var1 && var5.z == var3) {
return true; return true;
} }
} }
return false; return false;
} }
private int getAdjacentTracks() { private int getAdjacentTracks() {
int var1 = 0; int var1 = 0;
if(this.isMinecartTrack(this.trackX, this.trackY, this.trackZ - 1)) { if (this.isMinecartTrack(this.trackX, this.trackY, this.trackZ - 1)) {
++var1; ++var1;
} }
if(this.isMinecartTrack(this.trackX, this.trackY, this.trackZ + 1)) { if (this.isMinecartTrack(this.trackX, this.trackY, this.trackZ + 1)) {
++var1; ++var1;
} }
if(this.isMinecartTrack(this.trackX - 1, this.trackY, this.trackZ)) { if (this.isMinecartTrack(this.trackX - 1, this.trackY, this.trackZ)) {
++var1; ++var1;
} }
if(this.isMinecartTrack(this.trackX + 1, this.trackY, this.trackZ)) { if (this.isMinecartTrack(this.trackX + 1, this.trackY, this.trackZ)) {
++var1; ++var1;
} }
return var1; return var1;
} }
private boolean handleKeyPress(RailLogic var1) { private boolean handleKeyPress(RailLogic var1) {
if(this.isConnectedTo(var1)) { if (this.isConnectedTo(var1)) {
return true; return true;
} else if(this.connectedTracks.size() == 2) { } else if (this.connectedTracks.size() == 2) {
return false; return false;
} else if(this.connectedTracks.size() == 0) { } else if (this.connectedTracks.size() == 0) {
return true; return true;
} else { } else {
ChunkPosition var2 = (ChunkPosition)this.connectedTracks.get(0); ChunkPosition var2 = (ChunkPosition) this.connectedTracks.get(0);
return var1.trackY == this.trackY && var2.y == this.trackY ? true : true; return var1.trackY == this.trackY && var2.y == this.trackY ? true : true;
} }
} }
private void func_598_d(RailLogic var1) { private void func_598_d(RailLogic var1) {
this.connectedTracks.add(new ChunkPosition(var1.trackX, var1.trackY, var1.trackZ)); this.connectedTracks.add(new ChunkPosition(var1.trackX, var1.trackY, var1.trackZ));
boolean var2 = this.func_599_b(this.trackX, this.trackY, this.trackZ - 1); boolean var2 = this.func_599_b(this.trackX, this.trackY, this.trackZ - 1);
boolean var3 = this.func_599_b(this.trackX, this.trackY, this.trackZ + 1); boolean var3 = this.func_599_b(this.trackX, this.trackY, this.trackZ + 1);
boolean var4 = this.func_599_b(this.trackX - 1, this.trackY, this.trackZ); boolean var4 = this.func_599_b(this.trackX - 1, this.trackY, this.trackZ);
boolean var5 = this.func_599_b(this.trackX + 1, this.trackY, this.trackZ); boolean var5 = this.func_599_b(this.trackX + 1, this.trackY, this.trackZ);
byte var6 = -1; byte var6 = -1;
if(var2 || var3) { if (var2 || var3) {
var6 = 0; var6 = 0;
} }
if(var4 || var5) { if (var4 || var5) {
var6 = 1; var6 = 1;
} }
if(!this.field_27084_f) { if (!this.field_27084_f) {
if(var3 && var5 && !var2 && !var4) { if (var3 && var5 && !var2 && !var4) {
var6 = 6; var6 = 6;
} }
if(var3 && var4 && !var2 && !var5) { if (var3 && var4 && !var2 && !var5) {
var6 = 7; var6 = 7;
} }
if(var2 && var4 && !var3 && !var5) { if (var2 && var4 && !var3 && !var5) {
var6 = 8; var6 = 8;
} }
if(var2 && var5 && !var3 && !var4) { if (var2 && var5 && !var3 && !var4) {
var6 = 9; var6 = 9;
} }
} }
if(var6 == 0) { if (var6 == 0) {
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) {
var6 = 4; var6 = 4;
} }
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) {
var6 = 5; var6 = 5;
} }
} }
if(var6 == 1) { if (var6 == 1) {
if(BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) {
var6 = 2; var6 = 2;
} }
if(BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) {
var6 = 3; var6 = 3;
} }
} }
if(var6 < 0) { if (var6 < 0) {
var6 = 0; var6 = 0;
} }
int var7 = var6; int var7 = var6;
if(this.field_27084_f) { if (this.field_27084_f) {
var7 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var6; var7 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var6;
} }
this.worldObj.setBlockMetadataWithNotify(this.trackX, this.trackY, this.trackZ, var7); this.worldObj.setBlockMetadataWithNotify(this.trackX, this.trackY, this.trackZ, var7);
} }
private boolean func_592_c(int var1, int var2, int var3) { private boolean func_592_c(int var1, int var2, int var3) {
RailLogic var4 = this.getMinecartTrackLogic(new ChunkPosition(var1, var2, var3)); RailLogic var4 = this.getMinecartTrackLogic(new ChunkPosition(var1, var2, var3));
if(var4 == null) { if (var4 == null) {
return false; return false;
} else { } else {
var4.func_591_b(); var4.func_591_b();
return var4.handleKeyPress(this); return var4.handleKeyPress(this);
} }
} }
public void func_596_a(boolean var1, boolean var2) { public void func_596_a(boolean var1, boolean var2) {
boolean var3 = this.func_592_c(this.trackX, this.trackY, this.trackZ - 1); boolean var3 = this.func_592_c(this.trackX, this.trackY, this.trackZ - 1);
boolean var4 = this.func_592_c(this.trackX, this.trackY, this.trackZ + 1); boolean var4 = this.func_592_c(this.trackX, this.trackY, this.trackZ + 1);
boolean var5 = this.func_592_c(this.trackX - 1, this.trackY, this.trackZ); boolean var5 = this.func_592_c(this.trackX - 1, this.trackY, this.trackZ);
boolean var6 = this.func_592_c(this.trackX + 1, this.trackY, this.trackZ); boolean var6 = this.func_592_c(this.trackX + 1, this.trackY, this.trackZ);
byte var7 = -1; byte var7 = -1;
if((var3 || var4) && !var5 && !var6) { if ((var3 || var4) && !var5 && !var6) {
var7 = 0; var7 = 0;
} }
if((var5 || var6) && !var3 && !var4) { if ((var5 || var6) && !var3 && !var4) {
var7 = 1; var7 = 1;
} }
if(!this.field_27084_f) { if (!this.field_27084_f) {
if(var4 && var6 && !var3 && !var5) { if (var4 && var6 && !var3 && !var5) {
var7 = 6; var7 = 6;
} }
if(var4 && var5 && !var3 && !var6) { if (var4 && var5 && !var3 && !var6) {
var7 = 7; var7 = 7;
} }
if(var3 && var5 && !var4 && !var6) { if (var3 && var5 && !var4 && !var6) {
var7 = 8; var7 = 8;
} }
if(var3 && var6 && !var4 && !var5) { if (var3 && var6 && !var4 && !var5) {
var7 = 9; var7 = 9;
} }
} }
if(var7 == -1) { if (var7 == -1) {
if(var3 || var4) { if (var3 || var4) {
var7 = 0; var7 = 0;
} }
if(var5 || var6) { if (var5 || var6) {
var7 = 1; var7 = 1;
} }
if(!this.field_27084_f) { if (!this.field_27084_f) {
if(var1) { if (var1) {
if(var4 && var6) { if (var4 && var6) {
var7 = 6; var7 = 6;
} }
if(var5 && var4) { if (var5 && var4) {
var7 = 7; var7 = 7;
} }
if(var6 && var3) { if (var6 && var3) {
var7 = 9; var7 = 9;
} }
if(var3 && var5) { if (var3 && var5) {
var7 = 8; var7 = 8;
} }
} else { } else {
if(var3 && var5) { if (var3 && var5) {
var7 = 8; var7 = 8;
} }
if(var6 && var3) { if (var6 && var3) {
var7 = 9; var7 = 9;
} }
if(var5 && var4) { if (var5 && var4) {
var7 = 7; var7 = 7;
} }
if(var4 && var6) { if (var4 && var6) {
var7 = 6; var7 = 6;
} }
} }
} }
} }
if(var7 == 0) { if (var7 == 0) {
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) {
var7 = 4; var7 = 4;
} }
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) {
var7 = 5; var7 = 5;
} }
} }
if(var7 == 1) { if (var7 == 1) {
if(BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) {
var7 = 2; var7 = 2;
} }
if(BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) { if (BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) {
var7 = 3; var7 = 3;
} }
} }
if(var7 < 0) { if (var7 < 0) {
var7 = 0; var7 = 0;
} }
this.func_27083_a(var7); this.func_27083_a(var7);
int var8 = var7; int var8 = var7;
if(this.field_27084_f) { if (this.field_27084_f) {
var8 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var7; var8 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var7;
} }
if(var2 || this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) != var8) { if (var2 || this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) != var8) {
this.worldObj.setBlockMetadataWithNotify(this.trackX, this.trackY, this.trackZ, var8); this.worldObj.setBlockMetadataWithNotify(this.trackX, this.trackY, this.trackZ, var8);
for(int var9 = 0; var9 < this.connectedTracks.size(); ++var9) { for (int var9 = 0; var9 < this.connectedTracks.size(); ++var9) {
RailLogic var10 = this.getMinecartTrackLogic((ChunkPosition)this.connectedTracks.get(var9)); RailLogic var10 = this.getMinecartTrackLogic((ChunkPosition) this.connectedTracks.get(var9));
if(var10 != null) { if (var10 != null) {
var10.func_591_b(); var10.func_591_b();
if(var10.handleKeyPress(this)) { if (var10.handleKeyPress(this)) {
var10.func_598_d(this); var10.func_598_d(this);
} }
} }
} }
} }
} }
static int getNAdjacentTracks(RailLogic var0) { static int getNAdjacentTracks(RailLogic var0) {
return var0.getAdjacentTracks(); return var0.getAdjacentTracks();
} }
} }

View file

@ -1,15 +1,15 @@
package net.minecraft.block; package net.minecraft.block;
class RedstoneUpdateInfo { class RedstoneUpdateInfo {
int x; int x;
int y; int y;
int z; int z;
long updateTime; long updateTime;
public RedstoneUpdateInfo(int var1, int var2, int var3, long var4) { public RedstoneUpdateInfo(int var1, int var2, int var3, long var4) {
this.x = var1; this.x = var1;
this.y = var2; this.y = var2;
this.z = var3; this.z = var3;
this.updateTime = var4; this.updateTime = var4;
} }
} }

View file

@ -3,108 +3,108 @@ package net.minecraft.block.material;
import net.minecraft.item.map.MapColor; import net.minecraft.item.map.MapColor;
public class Material { public class Material {
public static final Material air = new MaterialTransparent(MapColor.airColor); public static final Material air = new MaterialTransparent(MapColor.airColor);
public static final Material grass = new Material(MapColor.grassColor); public static final Material grass = new Material(MapColor.grassColor);
public static final Material ground = new Material(MapColor.dirtColor); public static final Material ground = new Material(MapColor.dirtColor);
public static final Material wood = (new Material(MapColor.woodColor)).setBurning(); public static final Material wood = (new Material(MapColor.woodColor)).setBurning();
public static final Material rock = (new Material(MapColor.stoneColor)).func_31058_n(); public static final Material rock = (new Material(MapColor.stoneColor)).func_31058_n();
public static final Material iron = (new Material(MapColor.ironColor)).func_31058_n(); public static final Material iron = (new Material(MapColor.ironColor)).func_31058_n();
public static final Material water = (new MaterialLiquid(MapColor.waterColor)).setNoPushMobility(); public static final Material water = (new MaterialLiquid(MapColor.waterColor)).setNoPushMobility();
public static final Material lava = (new MaterialLiquid(MapColor.tntColor)).setNoPushMobility(); public static final Material lava = (new MaterialLiquid(MapColor.tntColor)).setNoPushMobility();
public static final Material leaves = (new Material(MapColor.foliageColor)).setBurning().func_28129_i().setNoPushMobility(); public static final Material leaves = (new Material(MapColor.foliageColor)).setBurning().func_28129_i().setNoPushMobility();
public static final Material plants = (new MaterialLogic(MapColor.foliageColor)).setNoPushMobility(); public static final Material plants = (new MaterialLogic(MapColor.foliageColor)).setNoPushMobility();
public static final Material sponge = new Material(MapColor.clothColor); public static final Material sponge = new Material(MapColor.clothColor);
public static final Material cloth = (new Material(MapColor.clothColor)).setBurning(); public static final Material cloth = (new Material(MapColor.clothColor)).setBurning();
public static final Material fire = (new MaterialTransparent(MapColor.airColor)).setNoPushMobility(); public static final Material fire = (new MaterialTransparent(MapColor.airColor)).setNoPushMobility();
public static final Material sand = new Material(MapColor.sandColor); public static final Material sand = new Material(MapColor.sandColor);
public static final Material circuits = (new MaterialLogic(MapColor.airColor)).setNoPushMobility(); public static final Material circuits = (new MaterialLogic(MapColor.airColor)).setNoPushMobility();
public static final Material glass = (new Material(MapColor.airColor)).func_28129_i(); public static final Material glass = (new Material(MapColor.airColor)).func_28129_i();
public static final Material tnt = (new Material(MapColor.tntColor)).setBurning().func_28129_i(); public static final Material tnt = (new Material(MapColor.tntColor)).setBurning().func_28129_i();
public static final Material wug = (new Material(MapColor.foliageColor)).setNoPushMobility(); public static final Material wug = (new Material(MapColor.foliageColor)).setNoPushMobility();
public static final Material ice = (new Material(MapColor.iceColor)).func_28129_i(); public static final Material ice = (new Material(MapColor.iceColor)).func_28129_i();
public static final Material snow = (new MaterialLogic(MapColor.snowColor)).func_27089_f().func_28129_i().func_31058_n().setNoPushMobility(); public static final Material snow = (new MaterialLogic(MapColor.snowColor)).func_27089_f().func_28129_i().func_31058_n().setNoPushMobility();
public static final Material builtSnow = (new Material(MapColor.snowColor)).func_31058_n(); public static final Material builtSnow = (new Material(MapColor.snowColor)).func_31058_n();
public static final Material cactus = (new Material(MapColor.foliageColor)).func_28129_i().setNoPushMobility(); public static final Material cactus = (new Material(MapColor.foliageColor)).func_28129_i().setNoPushMobility();
public static final Material clay = new Material(MapColor.clayColor); public static final Material clay = new Material(MapColor.clayColor);
public static final Material pumpkin = (new Material(MapColor.foliageColor)).setNoPushMobility(); public static final Material pumpkin = (new Material(MapColor.foliageColor)).setNoPushMobility();
public static final Material portal = (new MaterialPortal(MapColor.airColor)).setImmovableMobility(); public static final Material portal = (new MaterialPortal(MapColor.airColor)).setImmovableMobility();
public static final Material cakeMaterial = (new Material(MapColor.airColor)).setNoPushMobility(); public static final Material cakeMaterial = (new Material(MapColor.airColor)).setNoPushMobility();
public static final Material web = (new Material(MapColor.clothColor)).func_31058_n().setNoPushMobility(); public static final Material web = (new Material(MapColor.clothColor)).func_31058_n().setNoPushMobility();
public static final Material piston = (new Material(MapColor.stoneColor)).setImmovableMobility(); public static final Material piston = (new Material(MapColor.stoneColor)).setImmovableMobility();
private boolean canBurn; private boolean canBurn;
private boolean field_27091_A; private boolean field_27091_A;
private boolean isTranslucent; private boolean isTranslucent;
public final MapColor field_28131_A; public final MapColor field_28131_A;
private boolean field_31061_G = true; private boolean field_31061_G = true;
private int mobilityFlag; private int mobilityFlag;
public Material(MapColor var1) { public Material(MapColor var1) {
this.field_28131_A = var1; this.field_28131_A = var1;
} }
public boolean getIsLiquid() { public boolean getIsLiquid() {
return false; return false;
} }
public boolean isSolid() { public boolean isSolid() {
return true; return true;
} }
public boolean getCanBlockGrass() { public boolean getCanBlockGrass() {
return true; return true;
} }
public boolean getIsSolid() { public boolean getIsSolid() {
return true; return true;
} }
private Material func_28129_i() { private Material func_28129_i() {
this.isTranslucent = true; this.isTranslucent = true;
return this; return this;
} }
private Material func_31058_n() { private Material func_31058_n() {
this.field_31061_G = false; this.field_31061_G = false;
return this; return this;
} }
private Material setBurning() { private Material setBurning() {
this.canBurn = true; this.canBurn = true;
return this; return this;
} }
public boolean getBurning() { public boolean getBurning() {
return this.canBurn; return this.canBurn;
} }
public Material func_27089_f() { public Material func_27089_f() {
this.field_27091_A = true; this.field_27091_A = true;
return this; return this;
} }
public boolean func_27090_g() { public boolean func_27090_g() {
return this.field_27091_A; return this.field_27091_A;
} }
public boolean getIsOpaque() { public boolean getIsOpaque() {
return this.isTranslucent ? false : this.getIsSolid(); return this.isTranslucent ? false : this.getIsSolid();
} }
public boolean func_31055_i() { public boolean func_31055_i() {
return this.field_31061_G; return this.field_31061_G;
} }
public int getMaterialMobility() { public int getMaterialMobility() {
return this.mobilityFlag; return this.mobilityFlag;
} }
protected Material setNoPushMobility() { protected Material setNoPushMobility() {
this.mobilityFlag = 1; this.mobilityFlag = 1;
return this; return this;
} }
protected Material setImmovableMobility() { protected Material setImmovableMobility() {
this.mobilityFlag = 2; this.mobilityFlag = 2;
return this; return this;
} }
} }

View file

@ -3,21 +3,21 @@ package net.minecraft.block.material;
import net.minecraft.item.map.MapColor; import net.minecraft.item.map.MapColor;
public class MaterialLiquid extends Material { public class MaterialLiquid extends Material {
public MaterialLiquid(MapColor var1) { public MaterialLiquid(MapColor var1) {
super(var1); super(var1);
this.func_27089_f(); this.func_27089_f();
this.setNoPushMobility(); this.setNoPushMobility();
} }
public boolean getIsLiquid() { public boolean getIsLiquid() {
return true; return true;
} }
public boolean getIsSolid() { public boolean getIsSolid() {
return false; return false;
} }
public boolean isSolid() { public boolean isSolid() {
return false; return false;
} }
} }

View file

@ -3,19 +3,19 @@ package net.minecraft.block.material;
import net.minecraft.item.map.MapColor; import net.minecraft.item.map.MapColor;
public class MaterialLogic extends Material { public class MaterialLogic extends Material {
public MaterialLogic(MapColor var1) { public MaterialLogic(MapColor var1) {
super(var1); super(var1);
} }
public boolean isSolid() { public boolean isSolid() {
return false; return false;
} }
public boolean getCanBlockGrass() { public boolean getCanBlockGrass() {
return false; return false;
} }
public boolean getIsSolid() { public boolean getIsSolid() {
return false; return false;
} }
} }

View file

@ -3,19 +3,19 @@ package net.minecraft.block.material;
import net.minecraft.item.map.MapColor; import net.minecraft.item.map.MapColor;
public class MaterialPortal extends Material { public class MaterialPortal extends Material {
public MaterialPortal(MapColor var1) { public MaterialPortal(MapColor var1) {
super(var1); super(var1);
} }
public boolean isSolid() { public boolean isSolid() {
return false; return false;
} }
public boolean getCanBlockGrass() { public boolean getCanBlockGrass() {
return false; return false;
} }
public boolean getIsSolid() { public boolean getIsSolid() {
return false; return false;
} }
} }

View file

@ -3,20 +3,20 @@ package net.minecraft.block.material;
import net.minecraft.item.map.MapColor; import net.minecraft.item.map.MapColor;
public class MaterialTransparent extends Material { public class MaterialTransparent extends Material {
public MaterialTransparent(MapColor var1) { public MaterialTransparent(MapColor var1) {
super(var1); super(var1);
this.func_27089_f(); this.func_27089_f();
} }
public boolean isSolid() { public boolean isSolid() {
return false; return false;
} }
public boolean getCanBlockGrass() { public boolean getCanBlockGrass() {
return false; return false;
} }
public boolean getIsSolid() { public boolean getIsSolid() {
return false; return false;
} }
} }

View file

@ -1,25 +1,25 @@
package net.minecraft.block.stepsound; package net.minecraft.block.stepsound;
public class StepSound { public class StepSound {
public final String field_1029_a; public final String field_1029_a;
public final float field_1028_b; public final float field_1028_b;
public final float field_1030_c; public final float field_1030_c;
public StepSound(String var1, float var2, float var3) { public StepSound(String var1, float var2, float var3) {
this.field_1029_a = var1; this.field_1029_a = var1;
this.field_1028_b = var2; this.field_1028_b = var2;
this.field_1030_c = var3; this.field_1030_c = var3;
} }
public float getVolume() { public float getVolume() {
return this.field_1028_b; return this.field_1028_b;
} }
public float getPitch() { public float getPitch() {
return this.field_1030_c; return this.field_1030_c;
} }
public String func_737_c() { public String func_737_c() {
return "step." + this.field_1029_a; return "step." + this.field_1029_a;
} }
} }

View file

@ -1,7 +1,7 @@
package net.minecraft.block.stepsound; package net.minecraft.block.stepsound;
public final class StepSoundSand extends StepSound { public final class StepSoundSand extends StepSound {
public StepSoundSand(String var1, float var2, float var3) { public StepSoundSand(String var1, float var2, float var3) {
super(var1, var2, var3); super(var1, var2, var3);
} }
} }

View file

@ -1,7 +1,7 @@
package net.minecraft.block.stepsound; package net.minecraft.block.stepsound;
public final class StepSoundStone extends StepSound { public final class StepSoundStone extends StepSound {
public StepSoundStone(String var1, float var2, float var3) { public StepSoundStone(String var1, float var2, float var3) {
super(var1, var2, var3); super(var1, var2, var3);
} }
} }

View file

@ -1,106 +1,107 @@
package net.minecraft.block.tile; package net.minecraft.block.tile;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.packets.Packet; import net.minecraft.network.packets.Packet;
import net.minecraft.world.World; import net.minecraft.world.World;
import java.util.HashMap;
import java.util.Map;
public class TileEntity { public class TileEntity {
private static Map nameToClassMap = new HashMap(); private static Map nameToClassMap = new HashMap();
private static Map classToNameMap = new HashMap(); private static Map classToNameMap = new HashMap();
public World worldObj; public World worldObj;
public int xCoord; public int xCoord;
public int yCoord; public int yCoord;
public int zCoord; public int zCoord;
protected boolean tileEntityInvalid; protected boolean tileEntityInvalid;
private static void addMapping(Class var0, String var1) { private static void addMapping(Class var0, String var1) {
if(classToNameMap.containsKey(var1)) { if (classToNameMap.containsKey(var1)) {
throw new IllegalArgumentException("Duplicate id: " + var1); throw new IllegalArgumentException("Duplicate id: " + var1);
} else { } else {
nameToClassMap.put(var1, var0); nameToClassMap.put(var1, var0);
classToNameMap.put(var0, var1); classToNameMap.put(var0, var1);
} }
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
this.xCoord = var1.getInteger("x"); this.xCoord = var1.getInteger("x");
this.yCoord = var1.getInteger("y"); this.yCoord = var1.getInteger("y");
this.zCoord = var1.getInteger("z"); this.zCoord = var1.getInteger("z");
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
String var2 = (String)classToNameMap.get(this.getClass()); String var2 = (String) classToNameMap.get(this.getClass());
if(var2 == null) { if (var2 == null) {
throw new RuntimeException(this.getClass() + " is missing a mapping! This is a bug!"); throw new RuntimeException(this.getClass() + " is missing a mapping! This is a bug!");
} else { } else {
var1.setString("id", var2); var1.setString("id", var2);
var1.setInteger("x", this.xCoord); var1.setInteger("x", this.xCoord);
var1.setInteger("y", this.yCoord); var1.setInteger("y", this.yCoord);
var1.setInteger("z", this.zCoord); var1.setInteger("z", this.zCoord);
} }
} }
public void updateEntity() { public void updateEntity() {
} }
public static TileEntity createAndLoadEntity(NBTTagCompound var0) { public static TileEntity createAndLoadEntity(NBTTagCompound var0) {
TileEntity var1 = null; TileEntity var1 = null;
try { try {
Class var2 = (Class)nameToClassMap.get(var0.getString("id")); Class var2 = (Class) nameToClassMap.get(var0.getString("id"));
if(var2 != null) { if (var2 != null) {
var1 = (TileEntity)var2.newInstance(); var1 = (TileEntity) var2.newInstance();
} }
} catch (Exception var3) { } catch (Exception var3) {
var3.printStackTrace(); var3.printStackTrace();
} }
if(var1 != null) { if (var1 != null) {
var1.readFromNBT(var0); var1.readFromNBT(var0);
} else { } else {
System.out.println("Skipping TileEntity with id " + var0.getString("id")); System.out.println("Skipping TileEntity with id " + var0.getString("id"));
} }
return var1; return var1;
} }
public int func_31005_e() { public int func_31005_e() {
return this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); return this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
} }
public void onInventoryChanged() { public void onInventoryChanged() {
if(this.worldObj != null) { if (this.worldObj != null) {
this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord, this); this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord, this);
} }
} }
public Packet getDescriptionPacket() { public Packet getDescriptionPacket() {
return null; return null;
} }
public boolean isInvalid() { public boolean isInvalid() {
return this.tileEntityInvalid; return this.tileEntityInvalid;
} }
public void invalidate() { public void invalidate() {
this.tileEntityInvalid = true; this.tileEntityInvalid = true;
} }
public void validate() { public void validate() {
this.tileEntityInvalid = false; this.tileEntityInvalid = false;
} }
static { static {
addMapping(TileEntityFurnace.class, "Furnace"); addMapping(TileEntityFurnace.class, "Furnace");
addMapping(TileEntityChest.class, "Chest"); addMapping(TileEntityChest.class, "Chest");
addMapping(TileEntityRecordPlayer.class, "RecordPlayer"); addMapping(TileEntityRecordPlayer.class, "RecordPlayer");
addMapping(TileEntityDispenser.class, "Trap"); addMapping(TileEntityDispenser.class, "Trap");
addMapping(TileEntitySign.class, "Sign"); addMapping(TileEntitySign.class, "Sign");
addMapping(TileEntityMobSpawner.class, "MobSpawner"); addMapping(TileEntityMobSpawner.class, "MobSpawner");
addMapping(TileEntityNote.class, "Music"); addMapping(TileEntityNote.class, "Music");
addMapping(TileEntityPiston.class, "Piston"); addMapping(TileEntityPiston.class, "Piston");
} }
} }

View file

@ -7,87 +7,87 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
public class TileEntityChest extends TileEntity implements IInventory { public class TileEntityChest extends TileEntity implements IInventory {
private ItemStack[] chestContents = new ItemStack[36]; private ItemStack[] chestContents = new ItemStack[36];
public int getSizeInventory() { public int getSizeInventory() {
return 27; return 27;
} }
public ItemStack getStackInSlot(int var1) { public ItemStack getStackInSlot(int var1) {
return this.chestContents[var1]; return this.chestContents[var1];
} }
public ItemStack decrStackSize(int var1, int var2) { public ItemStack decrStackSize(int var1, int var2) {
if(this.chestContents[var1] != null) { if (this.chestContents[var1] != null) {
ItemStack var3; ItemStack var3;
if(this.chestContents[var1].stackSize <= var2) { if (this.chestContents[var1].stackSize <= var2) {
var3 = this.chestContents[var1]; var3 = this.chestContents[var1];
this.chestContents[var1] = null; this.chestContents[var1] = null;
this.onInventoryChanged(); this.onInventoryChanged();
return var3; return var3;
} else { } else {
var3 = this.chestContents[var1].splitStack(var2); var3 = this.chestContents[var1].splitStack(var2);
if(this.chestContents[var1].stackSize == 0) { if (this.chestContents[var1].stackSize == 0) {
this.chestContents[var1] = null; this.chestContents[var1] = null;
} }
this.onInventoryChanged(); this.onInventoryChanged();
return var3; return var3;
} }
} else { } else {
return null; return null;
} }
} }
public void setInventorySlotContents(int var1, ItemStack var2) { public void setInventorySlotContents(int var1, ItemStack var2) {
this.chestContents[var1] = var2; this.chestContents[var1] = var2;
if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) { if (var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
var2.stackSize = this.getInventoryStackLimit(); var2.stackSize = this.getInventoryStackLimit();
} }
this.onInventoryChanged(); this.onInventoryChanged();
} }
public String getInvName() { public String getInvName() {
return "Chest"; return "Chest";
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
NBTTagList var2 = var1.getTagList("Items"); NBTTagList var2 = var1.getTagList("Items");
this.chestContents = new ItemStack[this.getSizeInventory()]; this.chestContents = new ItemStack[this.getSizeInventory()];
for(int var3 = 0; var3 < var2.tagCount(); ++var3) { for (int var3 = 0; var3 < var2.tagCount(); ++var3) {
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3); NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
int var5 = var4.getByte("Slot") & 255; int var5 = var4.getByte("Slot") & 255;
if(var5 >= 0 && var5 < this.chestContents.length) { if (var5 >= 0 && var5 < this.chestContents.length) {
this.chestContents[var5] = new ItemStack(var4); this.chestContents[var5] = new ItemStack(var4);
} }
} }
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
NBTTagList var2 = new NBTTagList(); NBTTagList var2 = new NBTTagList();
for(int var3 = 0; var3 < this.chestContents.length; ++var3) { for (int var3 = 0; var3 < this.chestContents.length; ++var3) {
if(this.chestContents[var3] != null) { if (this.chestContents[var3] != null) {
NBTTagCompound var4 = new NBTTagCompound(); NBTTagCompound var4 = new NBTTagCompound();
var4.setByte("Slot", (byte)var3); var4.setByte("Slot", (byte) var3);
this.chestContents[var3].writeToNBT(var4); this.chestContents[var3].writeToNBT(var4);
var2.setTag(var4); var2.setTag(var4);
} }
} }
var1.setTag("Items", var2); var1.setTag("Items", var2);
} }
public int getInventoryStackLimit() { public int getInventoryStackLimit() {
return 64; return 64;
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : var1.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : var1.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D;
} }
} }

View file

@ -1,112 +1,113 @@
package net.minecraft.block.tile; package net.minecraft.block.tile;
import java.util.Random;
import net.minecraft.container.inventory.IInventory; import net.minecraft.container.inventory.IInventory;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import java.util.Random;
public class TileEntityDispenser extends TileEntity implements IInventory { public class TileEntityDispenser extends TileEntity implements IInventory {
private ItemStack[] dispenserContents = new ItemStack[9]; private ItemStack[] dispenserContents = new ItemStack[9];
private Random dispenserRandom = new Random(); private Random dispenserRandom = new Random();
public int getSizeInventory() { public int getSizeInventory() {
return 9; return 9;
} }
public ItemStack getStackInSlot(int var1) { public ItemStack getStackInSlot(int var1) {
return this.dispenserContents[var1]; return this.dispenserContents[var1];
} }
public ItemStack decrStackSize(int var1, int var2) { public ItemStack decrStackSize(int var1, int var2) {
if(this.dispenserContents[var1] != null) { if (this.dispenserContents[var1] != null) {
ItemStack var3; ItemStack var3;
if(this.dispenserContents[var1].stackSize <= var2) { if (this.dispenserContents[var1].stackSize <= var2) {
var3 = this.dispenserContents[var1]; var3 = this.dispenserContents[var1];
this.dispenserContents[var1] = null; this.dispenserContents[var1] = null;
this.onInventoryChanged(); this.onInventoryChanged();
return var3; return var3;
} else { } else {
var3 = this.dispenserContents[var1].splitStack(var2); var3 = this.dispenserContents[var1].splitStack(var2);
if(this.dispenserContents[var1].stackSize == 0) { if (this.dispenserContents[var1].stackSize == 0) {
this.dispenserContents[var1] = null; this.dispenserContents[var1] = null;
} }
this.onInventoryChanged(); this.onInventoryChanged();
return var3; return var3;
} }
} else { } else {
return null; return null;
} }
} }
public ItemStack getRandomStackFromInventory() { public ItemStack getRandomStackFromInventory() {
int var1 = -1; int var1 = -1;
int var2 = 1; int var2 = 1;
for(int var3 = 0; var3 < this.dispenserContents.length; ++var3) { for (int var3 = 0; var3 < this.dispenserContents.length; ++var3) {
if(this.dispenserContents[var3] != null && this.dispenserRandom.nextInt(var2++) == 0) { if (this.dispenserContents[var3] != null && this.dispenserRandom.nextInt(var2++) == 0) {
var1 = var3; var1 = var3;
} }
} }
if(var1 >= 0) { if (var1 >= 0) {
return this.decrStackSize(var1, 1); return this.decrStackSize(var1, 1);
} else { } else {
return null; return null;
} }
} }
public void setInventorySlotContents(int var1, ItemStack var2) { public void setInventorySlotContents(int var1, ItemStack var2) {
this.dispenserContents[var1] = var2; this.dispenserContents[var1] = var2;
if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) { if (var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
var2.stackSize = this.getInventoryStackLimit(); var2.stackSize = this.getInventoryStackLimit();
} }
this.onInventoryChanged(); this.onInventoryChanged();
} }
public String getInvName() { public String getInvName() {
return "Trap"; return "Trap";
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
NBTTagList var2 = var1.getTagList("Items"); NBTTagList var2 = var1.getTagList("Items");
this.dispenserContents = new ItemStack[this.getSizeInventory()]; this.dispenserContents = new ItemStack[this.getSizeInventory()];
for(int var3 = 0; var3 < var2.tagCount(); ++var3) { for (int var3 = 0; var3 < var2.tagCount(); ++var3) {
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3); NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
int var5 = var4.getByte("Slot") & 255; int var5 = var4.getByte("Slot") & 255;
if(var5 >= 0 && var5 < this.dispenserContents.length) { if (var5 >= 0 && var5 < this.dispenserContents.length) {
this.dispenserContents[var5] = new ItemStack(var4); this.dispenserContents[var5] = new ItemStack(var4);
} }
} }
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
NBTTagList var2 = new NBTTagList(); NBTTagList var2 = new NBTTagList();
for(int var3 = 0; var3 < this.dispenserContents.length; ++var3) { for (int var3 = 0; var3 < this.dispenserContents.length; ++var3) {
if(this.dispenserContents[var3] != null) { if (this.dispenserContents[var3] != null) {
NBTTagCompound var4 = new NBTTagCompound(); NBTTagCompound var4 = new NBTTagCompound();
var4.setByte("Slot", (byte)var3); var4.setByte("Slot", (byte) var3);
this.dispenserContents[var3].writeToNBT(var4); this.dispenserContents[var3].writeToNBT(var4);
var2.setTag(var4); var2.setTag(var4);
} }
} }
var1.setTag("Items", var2); var1.setTag("Items", var2);
} }
public int getInventoryStackLimit() { public int getInventoryStackLimit() {
return 64; return 64;
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : var1.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : var1.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D;
} }
} }

View file

@ -12,175 +12,175 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
public class TileEntityFurnace extends TileEntity implements IInventory { public class TileEntityFurnace extends TileEntity implements IInventory {
private ItemStack[] furnaceItemStacks = new ItemStack[3]; private ItemStack[] furnaceItemStacks = new ItemStack[3];
public int furnaceBurnTime = 0; public int furnaceBurnTime = 0;
public int currentItemBurnTime = 0; public int currentItemBurnTime = 0;
public int furnaceCookTime = 0; public int furnaceCookTime = 0;
public int getSizeInventory() { public int getSizeInventory() {
return this.furnaceItemStacks.length; return this.furnaceItemStacks.length;
} }
public ItemStack getStackInSlot(int var1) { public ItemStack getStackInSlot(int var1) {
return this.furnaceItemStacks[var1]; return this.furnaceItemStacks[var1];
} }
public ItemStack decrStackSize(int var1, int var2) { public ItemStack decrStackSize(int var1, int var2) {
if(this.furnaceItemStacks[var1] != null) { if (this.furnaceItemStacks[var1] != null) {
ItemStack var3; ItemStack var3;
if(this.furnaceItemStacks[var1].stackSize <= var2) { if (this.furnaceItemStacks[var1].stackSize <= var2) {
var3 = this.furnaceItemStacks[var1]; var3 = this.furnaceItemStacks[var1];
this.furnaceItemStacks[var1] = null; this.furnaceItemStacks[var1] = null;
return var3; return var3;
} else { } else {
var3 = this.furnaceItemStacks[var1].splitStack(var2); var3 = this.furnaceItemStacks[var1].splitStack(var2);
if(this.furnaceItemStacks[var1].stackSize == 0) { if (this.furnaceItemStacks[var1].stackSize == 0) {
this.furnaceItemStacks[var1] = null; this.furnaceItemStacks[var1] = null;
} }
return var3; return var3;
} }
} else { } else {
return null; return null;
} }
} }
public void setInventorySlotContents(int var1, ItemStack var2) { public void setInventorySlotContents(int var1, ItemStack var2) {
this.furnaceItemStacks[var1] = var2; this.furnaceItemStacks[var1] = var2;
if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) { if (var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
var2.stackSize = this.getInventoryStackLimit(); var2.stackSize = this.getInventoryStackLimit();
} }
} }
public String getInvName() { public String getInvName() {
return "Furnace"; return "Furnace";
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
NBTTagList var2 = var1.getTagList("Items"); NBTTagList var2 = var1.getTagList("Items");
this.furnaceItemStacks = new ItemStack[this.getSizeInventory()]; this.furnaceItemStacks = new ItemStack[this.getSizeInventory()];
for(int var3 = 0; var3 < var2.tagCount(); ++var3) { for (int var3 = 0; var3 < var2.tagCount(); ++var3) {
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3); NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
byte var5 = var4.getByte("Slot"); byte var5 = var4.getByte("Slot");
if(var5 >= 0 && var5 < this.furnaceItemStacks.length) { if (var5 >= 0 && var5 < this.furnaceItemStacks.length) {
this.furnaceItemStacks[var5] = new ItemStack(var4); this.furnaceItemStacks[var5] = new ItemStack(var4);
} }
} }
this.furnaceBurnTime = var1.getShort("BurnTime"); this.furnaceBurnTime = var1.getShort("BurnTime");
this.furnaceCookTime = var1.getShort("CookTime"); this.furnaceCookTime = var1.getShort("CookTime");
this.currentItemBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]); this.currentItemBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]);
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
var1.setShort("BurnTime", (short)this.furnaceBurnTime); var1.setShort("BurnTime", (short) this.furnaceBurnTime);
var1.setShort("CookTime", (short)this.furnaceCookTime); var1.setShort("CookTime", (short) this.furnaceCookTime);
NBTTagList var2 = new NBTTagList(); NBTTagList var2 = new NBTTagList();
for(int var3 = 0; var3 < this.furnaceItemStacks.length; ++var3) { for (int var3 = 0; var3 < this.furnaceItemStacks.length; ++var3) {
if(this.furnaceItemStacks[var3] != null) { if (this.furnaceItemStacks[var3] != null) {
NBTTagCompound var4 = new NBTTagCompound(); NBTTagCompound var4 = new NBTTagCompound();
var4.setByte("Slot", (byte)var3); var4.setByte("Slot", (byte) var3);
this.furnaceItemStacks[var3].writeToNBT(var4); this.furnaceItemStacks[var3].writeToNBT(var4);
var2.setTag(var4); var2.setTag(var4);
} }
} }
var1.setTag("Items", var2); var1.setTag("Items", var2);
} }
public int getInventoryStackLimit() { public int getInventoryStackLimit() {
return 64; return 64;
} }
public boolean isBurning() { public boolean isBurning() {
return this.furnaceBurnTime > 0; return this.furnaceBurnTime > 0;
} }
public void updateEntity() { public void updateEntity() {
boolean var1 = this.furnaceBurnTime > 0; boolean var1 = this.furnaceBurnTime > 0;
boolean var2 = false; boolean var2 = false;
if(this.furnaceBurnTime > 0) { if (this.furnaceBurnTime > 0) {
--this.furnaceBurnTime; --this.furnaceBurnTime;
} }
if(!this.worldObj.singleplayerWorld) { if (!this.worldObj.singleplayerWorld) {
if(this.furnaceBurnTime == 0 && this.canSmelt()) { if (this.furnaceBurnTime == 0 && this.canSmelt()) {
this.currentItemBurnTime = this.furnaceBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]); this.currentItemBurnTime = this.furnaceBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]);
if(this.furnaceBurnTime > 0) { if (this.furnaceBurnTime > 0) {
var2 = true; var2 = true;
if(this.furnaceItemStacks[1] != null) { if (this.furnaceItemStacks[1] != null) {
--this.furnaceItemStacks[1].stackSize; --this.furnaceItemStacks[1].stackSize;
if(this.furnaceItemStacks[1].stackSize == 0) { if (this.furnaceItemStacks[1].stackSize == 0) {
this.furnaceItemStacks[1] = null; this.furnaceItemStacks[1] = null;
} }
} }
} }
} }
if(this.isBurning() && this.canSmelt()) { if (this.isBurning() && this.canSmelt()) {
++this.furnaceCookTime; ++this.furnaceCookTime;
if(this.furnaceCookTime == 200) { if (this.furnaceCookTime == 200) {
this.furnaceCookTime = 0; this.furnaceCookTime = 0;
this.smeltItem(); this.smeltItem();
var2 = true; var2 = true;
} }
} else { } else {
this.furnaceCookTime = 0; this.furnaceCookTime = 0;
} }
if(var1 != this.furnaceBurnTime > 0) { if (var1 != this.furnaceBurnTime > 0) {
var2 = true; var2 = true;
BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
} }
} }
if(var2) { if (var2) {
this.onInventoryChanged(); this.onInventoryChanged();
} }
} }
private boolean canSmelt() { private boolean canSmelt() {
if(this.furnaceItemStacks[0] == null) { if (this.furnaceItemStacks[0] == null) {
return false; return false;
} else { } else {
ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex); ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex);
return var1 == null ? false : (this.furnaceItemStacks[2] == null ? true : (!this.furnaceItemStacks[2].isItemEqual(var1) ? false : (this.furnaceItemStacks[2].stackSize < this.getInventoryStackLimit() && this.furnaceItemStacks[2].stackSize < this.furnaceItemStacks[2].getMaxStackSize() ? true : this.furnaceItemStacks[2].stackSize < var1.getMaxStackSize()))); return var1 == null ? false : (this.furnaceItemStacks[2] == null ? true : (!this.furnaceItemStacks[2].isItemEqual(var1) ? false : (this.furnaceItemStacks[2].stackSize < this.getInventoryStackLimit() && this.furnaceItemStacks[2].stackSize < this.furnaceItemStacks[2].getMaxStackSize() ? true : this.furnaceItemStacks[2].stackSize < var1.getMaxStackSize())));
} }
} }
public void smeltItem() { public void smeltItem() {
if(this.canSmelt()) { if (this.canSmelt()) {
ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex); ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex);
if(this.furnaceItemStacks[2] == null) { if (this.furnaceItemStacks[2] == null) {
this.furnaceItemStacks[2] = var1.copy(); this.furnaceItemStacks[2] = var1.copy();
} else if(this.furnaceItemStacks[2].itemID == var1.itemID) { } else if (this.furnaceItemStacks[2].itemID == var1.itemID) {
++this.furnaceItemStacks[2].stackSize; ++this.furnaceItemStacks[2].stackSize;
} }
--this.furnaceItemStacks[0].stackSize; --this.furnaceItemStacks[0].stackSize;
if(this.furnaceItemStacks[0].stackSize <= 0) { if (this.furnaceItemStacks[0].stackSize <= 0) {
this.furnaceItemStacks[0] = null; this.furnaceItemStacks[0] = null;
} }
} }
} }
private int getItemBurnTime(ItemStack var1) { private int getItemBurnTime(ItemStack var1) {
if(var1 == null) { if (var1 == null) {
return 0; return 0;
} else { } else {
int var2 = var1.getItem().shiftedIndex; 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 : (var2 == Item.bucketLava.shiftedIndex ? 20000 : (var2 == Block.sapling.blockID ? 100 : 0)))); return var2 < 256 && Block.blocksList[var2].blockMaterial == Material.wood ? 300 : (var2 == Item.stick.shiftedIndex ? 100 : (var2 == Item.coal.shiftedIndex ? 1600 : (var2 == Item.bucketLava.shiftedIndex ? 20000 : (var2 == Block.sapling.blockID ? 100 : 0))));
} }
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : var1.getDistanceSq((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D) <= 64.0D; return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : var1.getDistanceSq((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D) <= 64.0D;
} }
} }

View file

@ -6,100 +6,100 @@ import net.minecraft.math.AxisAlignedBB;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
public class TileEntityMobSpawner extends TileEntity { public class TileEntityMobSpawner extends TileEntity {
public int delay = -1; public int delay = -1;
private String mobID = "Pig"; private String mobID = "Pig";
public double yaw; public double yaw;
public double yaw2 = 0.0D; public double yaw2 = 0.0D;
public TileEntityMobSpawner() { public TileEntityMobSpawner() {
this.delay = 20; this.delay = 20;
} }
public void setMobID(String var1) { public void setMobID(String var1) {
this.mobID = var1; this.mobID = var1;
} }
public boolean anyPlayerInRange() { public boolean anyPlayerInRange() {
return this.worldObj.getClosestPlayer((double)this.xCoord + 0.5D, (double)this.yCoord + 0.5D, (double)this.zCoord + 0.5D, 16.0D) != null; return this.worldObj.getClosestPlayer((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D, 16.0D) != null;
} }
public void updateEntity() { public void updateEntity() {
this.yaw2 = this.yaw; this.yaw2 = this.yaw;
if(this.anyPlayerInRange()) { if (this.anyPlayerInRange()) {
double var1 = (double)((float)this.xCoord + this.worldObj.rand.nextFloat()); double var1 = (double) ((float) this.xCoord + this.worldObj.rand.nextFloat());
double var3 = (double)((float)this.yCoord + this.worldObj.rand.nextFloat()); double var3 = (double) ((float) this.yCoord + this.worldObj.rand.nextFloat());
double var5 = (double)((float)this.zCoord + 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("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle("flame", 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.yaw2 -= 360.0D) { for (this.yaw += (double) (1000.0F / ((float) this.delay + 200.0F)); this.yaw > 360.0D; this.yaw2 -= 360.0D) {
this.yaw -= 360.0D; this.yaw -= 360.0D;
} }
if(!this.worldObj.singleplayerWorld) { if (!this.worldObj.singleplayerWorld) {
if(this.delay == -1) { if (this.delay == -1) {
this.updateDelay(); this.updateDelay();
} }
if(this.delay > 0) { if (this.delay > 0) {
--this.delay; --this.delay;
return; return;
} }
byte var7 = 4; byte var7 = 4;
for(int var8 = 0; var8 < var7; ++var8) { for (int var8 = 0; var8 < var7; ++var8) {
EntityLiving var9 = (EntityLiving)((EntityLiving)EntityList.createEntityInWorld(this.mobID, this.worldObj)); EntityLiving var9 = (EntityLiving) ((EntityLiving) EntityList.createEntityInWorld(this.mobID, this.worldObj));
if(var9 == null) { if (var9 == null) {
return; 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(); 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) { if (var10 >= 6) {
this.updateDelay(); this.updateDelay();
return; return;
} }
if(var9 != null) { if (var9 != null) {
double var11 = (double)this.xCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D; 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 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; double var15 = (double) this.zCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D;
var9.setLocationAndAngles(var11, var13, var15, this.worldObj.rand.nextFloat() * 360.0F, 0.0F); var9.setLocationAndAngles(var11, var13, var15, this.worldObj.rand.nextFloat() * 360.0F, 0.0F);
if(var9.getCanSpawnHere()) { if (var9.getCanSpawnHere()) {
this.worldObj.entityJoinedWorld(var9); this.worldObj.entityJoinedWorld(var9);
for(int var17 = 0; var17 < 20; ++var17) { for (int var17 = 0; var17 < 20; ++var17) {
var1 = (double)this.xCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D; 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; 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; 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("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D);
this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D); this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D);
} }
var9.spawnExplosionParticle(); var9.spawnExplosionParticle();
this.updateDelay(); this.updateDelay();
} }
} }
} }
} }
super.updateEntity(); super.updateEntity();
} }
} }
private void updateDelay() { private void updateDelay() {
this.delay = 200 + this.worldObj.rand.nextInt(600); this.delay = 200 + this.worldObj.rand.nextInt(600);
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
this.mobID = var1.getString("EntityId"); this.mobID = var1.getString("EntityId");
this.delay = var1.getShort("Delay"); this.delay = var1.getShort("Delay");
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
var1.setString("EntityId", this.mobID); var1.setString("EntityId", this.mobID);
var1.setShort("Delay", (short)this.delay); var1.setShort("Delay", (short) this.delay);
} }
} }

View file

@ -5,53 +5,53 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntityNote extends TileEntity { public class TileEntityNote extends TileEntity {
public byte note = 0; public byte note = 0;
public boolean previousRedstoneState = false; public boolean previousRedstoneState = false;
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
var1.setByte("note", this.note); var1.setByte("note", this.note);
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
this.note = var1.getByte("note"); this.note = var1.getByte("note");
if(this.note < 0) { if (this.note < 0) {
this.note = 0; this.note = 0;
} }
if(this.note > 24) { if (this.note > 24) {
this.note = 24; this.note = 24;
} }
} }
public void changePitch() { public void changePitch() {
this.note = (byte)((this.note + 1) % 25); this.note = (byte) ((this.note + 1) % 25);
this.onInventoryChanged(); this.onInventoryChanged();
} }
public void triggerNote(World var1, int var2, int var3, int var4) { public void triggerNote(World var1, int var2, int var3, int var4) {
if(var1.getBlockMaterial(var2, var3 + 1, var4) == Material.air) { if (var1.getBlockMaterial(var2, var3 + 1, var4) == Material.air) {
Material var5 = var1.getBlockMaterial(var2, var3 - 1, var4); Material var5 = var1.getBlockMaterial(var2, var3 - 1, var4);
byte var6 = 0; byte var6 = 0;
if(var5 == Material.rock) { if (var5 == Material.rock) {
var6 = 1; var6 = 1;
} }
if(var5 == Material.sand) { if (var5 == Material.sand) {
var6 = 2; var6 = 2;
} }
if(var5 == Material.glass) { if (var5 == Material.glass) {
var6 = 3; var6 = 3;
} }
if(var5 == Material.wood) { if (var5 == Material.wood) {
var6 = 4; var6 = 4;
} }
var1.playNoteAt(var2, var3, var4, var6, this.note); var1.playNoteAt(var2, var3, var4, var6, this.note);
} }
} }
} }

View file

@ -1,134 +1,135 @@
package net.minecraft.block.tile; package net.minecraft.block.tile;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.math.AxisAlignedBB; import net.minecraft.math.AxisAlignedBB;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.PistonBlockTextures; import net.minecraft.util.PistonBlockTextures;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class TileEntityPiston extends TileEntity { public class TileEntityPiston extends TileEntity {
private int storedBlockID; private int storedBlockID;
private int storedMetadata; private int storedMetadata;
private int storedOrientation; private int storedOrientation;
private boolean isExtending; private boolean isExtending;
private boolean field_31018_j; private boolean field_31018_j;
private float progress; private float progress;
private float lastProgress; private float lastProgress;
private static List field_31013_m = new ArrayList(); private static List field_31013_m = new ArrayList();
public TileEntityPiston() { public TileEntityPiston() {
} }
public TileEntityPiston(int var1, int var2, int var3, boolean var4, boolean var5) { public TileEntityPiston(int var1, int var2, int var3, boolean var4, boolean var5) {
this.storedBlockID = var1; this.storedBlockID = var1;
this.storedMetadata = var2; this.storedMetadata = var2;
this.storedOrientation = var3; this.storedOrientation = var3;
this.isExtending = var4; this.isExtending = var4;
this.field_31018_j = var5; this.field_31018_j = var5;
} }
public int getStoredBlockID() { public int getStoredBlockID() {
return this.storedBlockID; return this.storedBlockID;
} }
public int func_31005_e() { public int func_31005_e() {
return this.storedMetadata; return this.storedMetadata;
} }
public boolean func_31010_c() { public boolean func_31010_c() {
return this.isExtending; return this.isExtending;
} }
public int func_31008_d() { public int func_31008_d() {
return this.storedOrientation; return this.storedOrientation;
} }
public float func_31007_a(float var1) { public float func_31007_a(float var1) {
if(var1 > 1.0F) { if (var1 > 1.0F) {
var1 = 1.0F; var1 = 1.0F;
} }
return this.lastProgress + (this.progress - this.lastProgress) * var1; return this.lastProgress + (this.progress - this.lastProgress) * var1;
} }
private void func_31009_a(float var1, float var2) { private void func_31009_a(float var1, float var2) {
if(!this.isExtending) { if (!this.isExtending) {
--var1; --var1;
} else { } else {
var1 = 1.0F - var1; var1 = 1.0F - var1;
} }
AxisAlignedBB var3 = Block.pistonMoving.func_31032_a(this.worldObj, this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, var1, this.storedOrientation); AxisAlignedBB var3 = Block.pistonMoving.func_31032_a(this.worldObj, this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, var1, this.storedOrientation);
if(var3 != null) { if (var3 != null) {
List var4 = this.worldObj.getEntitiesWithinAABBExcludingEntity((Entity)null, var3); List var4 = this.worldObj.getEntitiesWithinAABBExcludingEntity((Entity) null, var3);
if(!var4.isEmpty()) { if (!var4.isEmpty()) {
field_31013_m.addAll(var4); field_31013_m.addAll(var4);
Iterator var5 = field_31013_m.iterator(); Iterator var5 = field_31013_m.iterator();
while(var5.hasNext()) { while (var5.hasNext()) {
Entity var6 = (Entity)var5.next(); Entity var6 = (Entity) var5.next();
var6.moveEntity((double)(var2 * (float)PistonBlockTextures.field_31051_b[this.storedOrientation]), (double)(var2 * (float)PistonBlockTextures.field_31054_c[this.storedOrientation]), (double)(var2 * (float)PistonBlockTextures.field_31053_d[this.storedOrientation])); var6.moveEntity((double) (var2 * (float) PistonBlockTextures.field_31051_b[this.storedOrientation]), (double) (var2 * (float) PistonBlockTextures.field_31054_c[this.storedOrientation]), (double) (var2 * (float) PistonBlockTextures.field_31053_d[this.storedOrientation]));
} }
field_31013_m.clear(); field_31013_m.clear();
} }
} }
} }
public void clearPistonTileEntity() { public void clearPistonTileEntity() {
if(this.lastProgress < 1.0F) { if (this.lastProgress < 1.0F) {
this.lastProgress = this.progress = 1.0F; this.lastProgress = this.progress = 1.0F;
this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord); this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
this.invalidate(); this.invalidate();
if(this.worldObj.getBlockId(this.xCoord, this.yCoord, this.zCoord) == Block.pistonMoving.blockID) { if (this.worldObj.getBlockId(this.xCoord, this.yCoord, this.zCoord) == Block.pistonMoving.blockID) {
this.worldObj.setBlockAndMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, this.storedMetadata); this.worldObj.setBlockAndMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, this.storedMetadata);
} }
} }
} }
public void updateEntity() { public void updateEntity() {
this.lastProgress = this.progress; this.lastProgress = this.progress;
if(this.lastProgress >= 1.0F) { if (this.lastProgress >= 1.0F) {
this.func_31009_a(1.0F, 0.25F); this.func_31009_a(1.0F, 0.25F);
this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord); this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
this.invalidate(); this.invalidate();
if(this.worldObj.getBlockId(this.xCoord, this.yCoord, this.zCoord) == Block.pistonMoving.blockID) { if (this.worldObj.getBlockId(this.xCoord, this.yCoord, this.zCoord) == Block.pistonMoving.blockID) {
this.worldObj.setBlockAndMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, this.storedMetadata); this.worldObj.setBlockAndMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, this.storedMetadata);
} }
} else { } else {
this.progress += 0.5F; this.progress += 0.5F;
if(this.progress >= 1.0F) { if (this.progress >= 1.0F) {
this.progress = 1.0F; this.progress = 1.0F;
} }
if(this.isExtending) { if (this.isExtending) {
this.func_31009_a(this.progress, this.progress - this.lastProgress + 1.0F / 16.0F); this.func_31009_a(this.progress, this.progress - this.lastProgress + 1.0F / 16.0F);
} }
} }
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
this.storedBlockID = var1.getInteger("blockId"); this.storedBlockID = var1.getInteger("blockId");
this.storedMetadata = var1.getInteger("blockData"); this.storedMetadata = var1.getInteger("blockData");
this.storedOrientation = var1.getInteger("facing"); this.storedOrientation = var1.getInteger("facing");
this.lastProgress = this.progress = var1.getFloat("progress"); this.lastProgress = this.progress = var1.getFloat("progress");
this.isExtending = var1.getBoolean("extending"); this.isExtending = var1.getBoolean("extending");
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
var1.setInteger("blockId", this.storedBlockID); var1.setInteger("blockId", this.storedBlockID);
var1.setInteger("blockData", this.storedMetadata); var1.setInteger("blockData", this.storedMetadata);
var1.setInteger("facing", this.storedOrientation); var1.setInteger("facing", this.storedOrientation);
var1.setFloat("progress", this.lastProgress); var1.setFloat("progress", this.lastProgress);
var1.setBoolean("extending", this.isExtending); var1.setBoolean("extending", this.isExtending);
} }
} }

View file

@ -3,18 +3,18 @@ package net.minecraft.block.tile;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
public class TileEntityRecordPlayer extends TileEntity { public class TileEntityRecordPlayer extends TileEntity {
public int field_28009_a; public int field_28009_a;
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
super.readFromNBT(var1); super.readFromNBT(var1);
this.field_28009_a = var1.getInteger("Record"); this.field_28009_a = var1.getInteger("Record");
} }
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
if(this.field_28009_a > 0) { if (this.field_28009_a > 0) {
var1.setInteger("Record", this.field_28009_a); var1.setInteger("Record", this.field_28009_a);
} }
} }
} }

View file

@ -5,46 +5,46 @@ import net.minecraft.network.packets.Packet;
import net.minecraft.network.packets.Packet130UpdateSign; import net.minecraft.network.packets.Packet130UpdateSign;
public class TileEntitySign extends TileEntity { public class TileEntitySign extends TileEntity {
public String[] signText = new String[]{"", "", "", ""}; public String[] signText = new String[]{"", "", "", ""};
public int lineBeingEdited = -1; public int lineBeingEdited = -1;
private boolean isEditAble = true; private boolean isEditAble = true;
public void writeToNBT(NBTTagCompound var1) { public void writeToNBT(NBTTagCompound var1) {
super.writeToNBT(var1); super.writeToNBT(var1);
var1.setString("Text1", this.signText[0]); var1.setString("Text1", this.signText[0]);
var1.setString("Text2", this.signText[1]); var1.setString("Text2", this.signText[1]);
var1.setString("Text3", this.signText[2]); var1.setString("Text3", this.signText[2]);
var1.setString("Text4", this.signText[3]); var1.setString("Text4", this.signText[3]);
} }
public void readFromNBT(NBTTagCompound var1) { public void readFromNBT(NBTTagCompound var1) {
this.isEditAble = false; this.isEditAble = false;
super.readFromNBT(var1); super.readFromNBT(var1);
for(int var2 = 0; var2 < 4; ++var2) { for (int var2 = 0; var2 < 4; ++var2) {
this.signText[var2] = var1.getString("Text" + (var2 + 1)); this.signText[var2] = var1.getString("Text" + (var2 + 1));
if(this.signText[var2].length() > 15) { if (this.signText[var2].length() > 15) {
this.signText[var2] = this.signText[var2].substring(0, 15); this.signText[var2] = this.signText[var2].substring(0, 15);
} }
} }
} }
public Packet getDescriptionPacket() { public Packet getDescriptionPacket() {
String[] var1 = new String[4]; String[] var1 = new String[4];
for(int var2 = 0; var2 < 4; ++var2) { for (int var2 = 0; var2 < 4; ++var2) {
var1[var2] = this.signText[var2]; var1[var2] = this.signText[var2];
} }
return new Packet130UpdateSign(this.xCoord, this.yCoord, this.zCoord, var1); return new Packet130UpdateSign(this.xCoord, this.yCoord, this.zCoord, var1);
} }
public boolean getIsEditAble() { public boolean getIsEditAble() {
return this.isEditAble; return this.isEditAble;
} }
public void func_32001_a(boolean var1) { public void func_32001_a(boolean var1) {
this.isEditAble = var1; this.isEditAble = var1;
} }
} }

View file

@ -1,9 +1,5 @@
package net.minecraft.container; package net.minecraft.container;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.minecraft.container.inventory.IInventory; import net.minecraft.container.inventory.IInventory;
import net.minecraft.container.inventory.InventoryPlayer; import net.minecraft.container.inventory.InventoryPlayer;
import net.minecraft.container.slot.Slot; import net.minecraft.container.slot.Slot;
@ -11,268 +7,273 @@ import net.minecraft.entity.EntityPlayer;
import net.minecraft.item.crafting.ICrafting; import net.minecraft.item.crafting.ICrafting;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public abstract class Container { public abstract class Container {
public List inventoryItemStacks = new ArrayList(); public List inventoryItemStacks = new ArrayList();
public List inventorySlots = new ArrayList(); public List inventorySlots = new ArrayList();
public int windowId = 0; public int windowId = 0;
private short field_20132_a = 0; private short field_20132_a = 0;
protected List crafters = new ArrayList(); protected List crafters = new ArrayList();
private Set field_20131_b = new HashSet(); private Set field_20131_b = new HashSet();
protected void addSlot(Slot var1) { protected void addSlot(Slot var1) {
var1.id = this.inventorySlots.size(); var1.id = this.inventorySlots.size();
this.inventorySlots.add(var1); this.inventorySlots.add(var1);
this.inventoryItemStacks.add((Object)null); this.inventoryItemStacks.add((Object) null);
} }
public void onCraftGuiOpened(ICrafting var1) { public void onCraftGuiOpened(ICrafting var1) {
if(this.crafters.contains(var1)) { if (this.crafters.contains(var1)) {
throw new IllegalArgumentException("Listener already listening"); throw new IllegalArgumentException("Listener already listening");
} else { } else {
this.crafters.add(var1); this.crafters.add(var1);
var1.updateCraftingInventory(this, this.func_28127_b()); var1.updateCraftingInventory(this, this.func_28127_b());
this.updateCraftingMatrix(); this.updateCraftingMatrix();
} }
} }
public List func_28127_b() { public List func_28127_b() {
ArrayList var1 = new ArrayList(); ArrayList var1 = new ArrayList();
for(int var2 = 0; var2 < this.inventorySlots.size(); ++var2) { for (int var2 = 0; var2 < this.inventorySlots.size(); ++var2) {
var1.add(((Slot)this.inventorySlots.get(var2)).getStack()); var1.add(((Slot) this.inventorySlots.get(var2)).getStack());
} }
return var1; return var1;
} }
public void updateCraftingMatrix() { public void updateCraftingMatrix() {
for(int var1 = 0; var1 < this.inventorySlots.size(); ++var1) { for (int var1 = 0; var1 < this.inventorySlots.size(); ++var1) {
ItemStack var2 = ((Slot)this.inventorySlots.get(var1)).getStack(); ItemStack var2 = ((Slot) this.inventorySlots.get(var1)).getStack();
ItemStack var3 = (ItemStack)this.inventoryItemStacks.get(var1); ItemStack var3 = (ItemStack) this.inventoryItemStacks.get(var1);
if(!ItemStack.areItemStacksEqual(var3, var2)) { if (!ItemStack.areItemStacksEqual(var3, var2)) {
var3 = var2 == null ? null : var2.copy(); var3 = var2 == null ? null : var2.copy();
this.inventoryItemStacks.set(var1, var3); this.inventoryItemStacks.set(var1, var3);
for(int var4 = 0; var4 < this.crafters.size(); ++var4) { for (int var4 = 0; var4 < this.crafters.size(); ++var4) {
((ICrafting)this.crafters.get(var4)).updateCraftingInventorySlot(this, var1, var3); ((ICrafting) this.crafters.get(var4)).updateCraftingInventorySlot(this, var1, var3);
} }
} }
} }
} }
public Slot func_20127_a(IInventory var1, int var2) { public Slot func_20127_a(IInventory var1, int var2) {
for(int var3 = 0; var3 < this.inventorySlots.size(); ++var3) { for (int var3 = 0; var3 < this.inventorySlots.size(); ++var3) {
Slot var4 = (Slot)this.inventorySlots.get(var3); Slot var4 = (Slot) this.inventorySlots.get(var3);
if(var4.isHere(var1, var2)) { if (var4.isHere(var1, var2)) {
return var4; return var4;
} }
} }
return null; return null;
} }
public Slot getSlot(int var1) { public Slot getSlot(int var1) {
return (Slot)this.inventorySlots.get(var1); return (Slot) this.inventorySlots.get(var1);
} }
public ItemStack func_27086_a(int var1) { public ItemStack func_27086_a(int var1) {
Slot var2 = (Slot)this.inventorySlots.get(var1); Slot var2 = (Slot) this.inventorySlots.get(var1);
return var2 != null ? var2.getStack() : null; return var2 != null ? var2.getStack() : null;
} }
public ItemStack func_27085_a(int var1, int var2, boolean var3, EntityPlayer var4) { public ItemStack func_27085_a(int var1, int var2, boolean var3, EntityPlayer var4) {
ItemStack var5 = null; ItemStack var5 = null;
if(var2 == 0 || var2 == 1) { if (var2 == 0 || var2 == 1) {
InventoryPlayer var6 = var4.inventory; InventoryPlayer var6 = var4.inventory;
if(var1 == -999) { if (var1 == -999) {
if(var6.getItemStack() != null && var1 == -999) { if (var6.getItemStack() != null && var1 == -999) {
if(var2 == 0) { if (var2 == 0) {
var4.dropPlayerItem(var6.getItemStack()); var4.dropPlayerItem(var6.getItemStack());
var6.setItemStack((ItemStack)null); var6.setItemStack((ItemStack) null);
} }
if(var2 == 1) { if (var2 == 1) {
var4.dropPlayerItem(var6.getItemStack().splitStack(1)); var4.dropPlayerItem(var6.getItemStack().splitStack(1));
if(var6.getItemStack().stackSize == 0) { if (var6.getItemStack().stackSize == 0) {
var6.setItemStack((ItemStack)null); var6.setItemStack((ItemStack) null);
} }
} }
} }
} else { } else {
int var10; int var10;
if(var3) { if (var3) {
ItemStack var7 = this.func_27086_a(var1); ItemStack var7 = this.func_27086_a(var1);
if(var7 != null) { if (var7 != null) {
int var8 = var7.stackSize; int var8 = var7.stackSize;
var5 = var7.copy(); var5 = var7.copy();
Slot var9 = (Slot)this.inventorySlots.get(var1); Slot var9 = (Slot) this.inventorySlots.get(var1);
if(var9 != null && var9.getStack() != null) { if (var9 != null && var9.getStack() != null) {
var10 = var9.getStack().stackSize; var10 = var9.getStack().stackSize;
if(var10 < var8) { if (var10 < var8) {
this.func_27085_a(var1, var2, var3, var4); this.func_27085_a(var1, var2, var3, var4);
} }
} }
} }
} else { } else {
Slot var12 = (Slot)this.inventorySlots.get(var1); Slot var12 = (Slot) this.inventorySlots.get(var1);
if(var12 != null) { if (var12 != null) {
var12.onSlotChanged(); var12.onSlotChanged();
ItemStack var13 = var12.getStack(); ItemStack var13 = var12.getStack();
ItemStack var14 = var6.getItemStack(); ItemStack var14 = var6.getItemStack();
if(var13 != null) { if (var13 != null) {
var5 = var13.copy(); var5 = var13.copy();
} }
if(var13 == null) { if (var13 == null) {
if(var14 != null && var12.isItemValid(var14)) { if (var14 != null && var12.isItemValid(var14)) {
var10 = var2 == 0 ? var14.stackSize : 1; var10 = var2 == 0 ? var14.stackSize : 1;
if(var10 > var12.getSlotStackLimit()) { if (var10 > var12.getSlotStackLimit()) {
var10 = var12.getSlotStackLimit(); var10 = var12.getSlotStackLimit();
} }
var12.putStack(var14.splitStack(var10)); var12.putStack(var14.splitStack(var10));
if(var14.stackSize == 0) { if (var14.stackSize == 0) {
var6.setItemStack((ItemStack)null); var6.setItemStack((ItemStack) null);
} }
} }
} else if(var14 == null) { } else if (var14 == null) {
var10 = var2 == 0 ? var13.stackSize : (var13.stackSize + 1) / 2; var10 = var2 == 0 ? var13.stackSize : (var13.stackSize + 1) / 2;
ItemStack var11 = var12.decrStackSize(var10); ItemStack var11 = var12.decrStackSize(var10);
var6.setItemStack(var11); var6.setItemStack(var11);
if(var13.stackSize == 0) { if (var13.stackSize == 0) {
var12.putStack((ItemStack)null); var12.putStack((ItemStack) null);
} }
var12.onPickupFromSlot(var6.getItemStack()); var12.onPickupFromSlot(var6.getItemStack());
} else if(var12.isItemValid(var14)) { } else if (var12.isItemValid(var14)) {
if(var13.itemID != var14.itemID || var13.getHasSubtypes() && var13.getItemDamage() != var14.getItemDamage()) { if (var13.itemID != var14.itemID || var13.getHasSubtypes() && var13.getItemDamage() != var14.getItemDamage()) {
if(var14.stackSize <= var12.getSlotStackLimit()) { if (var14.stackSize <= var12.getSlotStackLimit()) {
var12.putStack(var14); var12.putStack(var14);
var6.setItemStack(var13); var6.setItemStack(var13);
} }
} else { } else {
var10 = var2 == 0 ? var14.stackSize : 1; var10 = var2 == 0 ? var14.stackSize : 1;
if(var10 > var12.getSlotStackLimit() - var13.stackSize) { if (var10 > var12.getSlotStackLimit() - var13.stackSize) {
var10 = var12.getSlotStackLimit() - var13.stackSize; var10 = var12.getSlotStackLimit() - var13.stackSize;
} }
if(var10 > var14.getMaxStackSize() - var13.stackSize) { if (var10 > var14.getMaxStackSize() - var13.stackSize) {
var10 = var14.getMaxStackSize() - var13.stackSize; var10 = var14.getMaxStackSize() - var13.stackSize;
} }
var14.splitStack(var10); var14.splitStack(var10);
if(var14.stackSize == 0) { if (var14.stackSize == 0) {
var6.setItemStack((ItemStack)null); var6.setItemStack((ItemStack) null);
} }
var13.stackSize += var10; var13.stackSize += var10;
} }
} else if(var13.itemID == var14.itemID && var14.getMaxStackSize() > 1 && (!var13.getHasSubtypes() || var13.getItemDamage() == var14.getItemDamage())) { } else if (var13.itemID == var14.itemID && var14.getMaxStackSize() > 1 && (!var13.getHasSubtypes() || var13.getItemDamage() == var14.getItemDamage())) {
var10 = var13.stackSize; var10 = var13.stackSize;
if(var10 > 0 && var10 + var14.stackSize <= var14.getMaxStackSize()) { if (var10 > 0 && var10 + var14.stackSize <= var14.getMaxStackSize()) {
var14.stackSize += var10; var14.stackSize += var10;
var13.splitStack(var10); var13.splitStack(var10);
if(var13.stackSize == 0) { if (var13.stackSize == 0) {
var12.putStack((ItemStack)null); var12.putStack((ItemStack) null);
} }
var12.onPickupFromSlot(var6.getItemStack()); var12.onPickupFromSlot(var6.getItemStack());
} }
} }
} }
} }
} }
} }
return var5; return var5;
} }
public void onCraftGuiClosed(EntityPlayer var1) { public void onCraftGuiClosed(EntityPlayer var1) {
InventoryPlayer var2 = var1.inventory; InventoryPlayer var2 = var1.inventory;
if(var2.getItemStack() != null) { if (var2.getItemStack() != null) {
var1.dropPlayerItem(var2.getItemStack()); var1.dropPlayerItem(var2.getItemStack());
var2.setItemStack((ItemStack)null); var2.setItemStack((ItemStack) null);
} }
} }
public void onCraftMatrixChanged(IInventory var1) { public void onCraftMatrixChanged(IInventory var1) {
this.updateCraftingMatrix(); this.updateCraftingMatrix();
} }
public boolean getCanCraft(EntityPlayer var1) { public boolean getCanCraft(EntityPlayer var1) {
return !this.field_20131_b.contains(var1); return !this.field_20131_b.contains(var1);
} }
public void setCanCraft(EntityPlayer var1, boolean var2) { public void setCanCraft(EntityPlayer var1, boolean var2) {
if(var2) { if (var2) {
this.field_20131_b.remove(var1); this.field_20131_b.remove(var1);
} else { } else {
this.field_20131_b.add(var1); this.field_20131_b.add(var1);
} }
} }
public abstract boolean canInteractWith(EntityPlayer var1); public abstract boolean canInteractWith(EntityPlayer var1);
protected void func_28126_a(ItemStack var1, int var2, int var3, boolean var4) { protected void func_28126_a(ItemStack var1, int var2, int var3, boolean var4) {
int var5 = var2; int var5 = var2;
if(var4) { if (var4) {
var5 = var3 - 1; var5 = var3 - 1;
} }
Slot var6; Slot var6;
ItemStack var7; ItemStack var7;
if(var1.func_21132_c()) { if (var1.func_21132_c()) {
while(var1.stackSize > 0 && (!var4 && var5 < var3 || var4 && var5 >= var2)) { while (var1.stackSize > 0 && (!var4 && var5 < var3 || var4 && var5 >= var2)) {
var6 = (Slot)this.inventorySlots.get(var5); var6 = (Slot) this.inventorySlots.get(var5);
var7 = var6.getStack(); var7 = var6.getStack();
if(var7 != null && var7.itemID == var1.itemID && (!var1.getHasSubtypes() || var1.getItemDamage() == var7.getItemDamage())) { if (var7 != null && var7.itemID == var1.itemID && (!var1.getHasSubtypes() || var1.getItemDamage() == var7.getItemDamage())) {
int var8 = var7.stackSize + var1.stackSize; int var8 = var7.stackSize + var1.stackSize;
if(var8 <= var1.getMaxStackSize()) { if (var8 <= var1.getMaxStackSize()) {
var1.stackSize = 0; var1.stackSize = 0;
var7.stackSize = var8; var7.stackSize = var8;
var6.onSlotChanged(); var6.onSlotChanged();
} else if(var7.stackSize < var1.getMaxStackSize()) { } else if (var7.stackSize < var1.getMaxStackSize()) {
var1.stackSize -= var1.getMaxStackSize() - var7.stackSize; var1.stackSize -= var1.getMaxStackSize() - var7.stackSize;
var7.stackSize = var1.getMaxStackSize(); var7.stackSize = var1.getMaxStackSize();
var6.onSlotChanged(); var6.onSlotChanged();
} }
} }
if(var4) { if (var4) {
--var5; --var5;
} else { } else {
++var5; ++var5;
} }
} }
} }
if(var1.stackSize > 0) { if (var1.stackSize > 0) {
if(var4) { if (var4) {
var5 = var3 - 1; var5 = var3 - 1;
} else { } else {
var5 = var2; var5 = var2;
} }
while(!var4 && var5 < var3 || var4 && var5 >= var2) { while (!var4 && var5 < var3 || var4 && var5 >= var2) {
var6 = (Slot)this.inventorySlots.get(var5); var6 = (Slot) this.inventorySlots.get(var5);
var7 = var6.getStack(); var7 = var6.getStack();
if(var7 == null) { if (var7 == null) {
var6.putStack(var1.copy()); var6.putStack(var1.copy());
var6.onSlotChanged(); var6.onSlotChanged();
var1.stackSize = 0; var1.stackSize = 0;
break; break;
} }
if(var4) { if (var4) {
--var5; --var5;
} else { } else {
++var5; ++var5;
} }
} }
} }
} }
} }

View file

@ -6,57 +6,57 @@ import net.minecraft.entity.EntityPlayer;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
public class ContainerChest extends Container { public class ContainerChest extends Container {
private IInventory field_20137_a; private IInventory field_20137_a;
private int field_27088_b; private int field_27088_b;
public ContainerChest(IInventory var1, IInventory var2) { public ContainerChest(IInventory var1, IInventory var2) {
this.field_20137_a = var2; this.field_20137_a = var2;
this.field_27088_b = var2.getSizeInventory() / 9; this.field_27088_b = var2.getSizeInventory() / 9;
int var3 = (this.field_27088_b - 4) * 18; int var3 = (this.field_27088_b - 4) * 18;
int var4; int var4;
int var5; int var5;
for(var4 = 0; var4 < this.field_27088_b; ++var4) { for (var4 = 0; var4 < this.field_27088_b; ++var4) {
for(var5 = 0; var5 < 9; ++var5) { for (var5 = 0; var5 < 9; ++var5) {
this.addSlot(new Slot(var2, var5 + var4 * 9, 8 + var5 * 18, 18 + var4 * 18)); this.addSlot(new Slot(var2, var5 + var4 * 9, 8 + var5 * 18, 18 + var4 * 18));
} }
} }
for(var4 = 0; var4 < 3; ++var4) { for (var4 = 0; var4 < 3; ++var4) {
for(var5 = 0; var5 < 9; ++var5) { for (var5 = 0; var5 < 9; ++var5) {
this.addSlot(new Slot(var1, var5 + var4 * 9 + 9, 8 + var5 * 18, 103 + var4 * 18 + var3)); this.addSlot(new Slot(var1, var5 + var4 * 9 + 9, 8 + var5 * 18, 103 + var4 * 18 + var3));
} }
} }
for(var4 = 0; var4 < 9; ++var4) { for (var4 = 0; var4 < 9; ++var4) {
this.addSlot(new Slot(var1, var4, 8 + var4 * 18, 161 + var3)); this.addSlot(new Slot(var1, var4, 8 + var4 * 18, 161 + var3));
} }
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return this.field_20137_a.canInteractWith(var1); return this.field_20137_a.canInteractWith(var1);
} }
public ItemStack func_27086_a(int var1) { public ItemStack func_27086_a(int var1) {
ItemStack var2 = null; ItemStack var2 = null;
Slot var3 = (Slot)this.inventorySlots.get(var1); Slot var3 = (Slot) this.inventorySlots.get(var1);
if(var3 != null && var3.func_27006_b()) { if (var3 != null && var3.func_27006_b()) {
ItemStack var4 = var3.getStack(); ItemStack var4 = var3.getStack();
var2 = var4.copy(); var2 = var4.copy();
if(var1 < this.field_27088_b * 9) { if (var1 < this.field_27088_b * 9) {
this.func_28126_a(var4, this.field_27088_b * 9, this.inventorySlots.size(), true); this.func_28126_a(var4, this.field_27088_b * 9, this.inventorySlots.size(), true);
} else { } else {
this.func_28126_a(var4, 0, this.field_27088_b * 9, false); this.func_28126_a(var4, 0, this.field_27088_b * 9, false);
} }
if(var4.stackSize == 0) { if (var4.stackSize == 0) {
var3.putStack((ItemStack)null); var3.putStack((ItemStack) null);
} else { } else {
var3.onSlotChanged(); var3.onSlotChanged();
} }
} }
return var2; return var2;
} }
} }

View file

@ -6,32 +6,32 @@ import net.minecraft.container.slot.Slot;
import net.minecraft.entity.EntityPlayer; import net.minecraft.entity.EntityPlayer;
public class ContainerDispenser extends Container { public class ContainerDispenser extends Container {
private TileEntityDispenser field_21133_a; private TileEntityDispenser field_21133_a;
public ContainerDispenser(IInventory var1, TileEntityDispenser var2) { public ContainerDispenser(IInventory var1, TileEntityDispenser var2) {
this.field_21133_a = var2; this.field_21133_a = var2;
int var3; int var3;
int var4; int var4;
for(var3 = 0; var3 < 3; ++var3) { for (var3 = 0; var3 < 3; ++var3) {
for(var4 = 0; var4 < 3; ++var4) { for (var4 = 0; var4 < 3; ++var4) {
this.addSlot(new Slot(var2, var4 + var3 * 3, 62 + var4 * 18, 17 + var3 * 18)); this.addSlot(new Slot(var2, var4 + var3 * 3, 62 + var4 * 18, 17 + var3 * 18));
} }
} }
for(var3 = 0; var3 < 3; ++var3) { for (var3 = 0; var3 < 3; ++var3) {
for(var4 = 0; var4 < 9; ++var4) { for (var4 = 0; var4 < 9; ++var4) {
this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18)); this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
} }
} }
for(var3 = 0; var3 < 9; ++var3) { for (var3 = 0; var3 < 9; ++var3) {
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142)); this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
} }
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return this.field_21133_a.canInteractWith(var1); return this.field_21133_a.canInteractWith(var1);
} }
} }

View file

@ -9,93 +9,93 @@ import net.minecraft.item.crafting.ICrafting;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
public class ContainerFurnace extends Container { public class ContainerFurnace extends Container {
private TileEntityFurnace furnace; private TileEntityFurnace furnace;
private int lastCookTime = 0; private int lastCookTime = 0;
private int lastBurnTime = 0; private int lastBurnTime = 0;
private int lastItemBurnTime = 0; private int lastItemBurnTime = 0;
public ContainerFurnace(InventoryPlayer var1, TileEntityFurnace var2) { public ContainerFurnace(InventoryPlayer var1, TileEntityFurnace var2) {
this.furnace = var2; this.furnace = var2;
this.addSlot(new Slot(var2, 0, 56, 17)); this.addSlot(new Slot(var2, 0, 56, 17));
this.addSlot(new Slot(var2, 1, 56, 53)); this.addSlot(new Slot(var2, 1, 56, 53));
this.addSlot(new SlotFurnace(var1.player, var2, 2, 116, 35)); this.addSlot(new SlotFurnace(var1.player, var2, 2, 116, 35));
int var3; int var3;
for(var3 = 0; var3 < 3; ++var3) { for (var3 = 0; var3 < 3; ++var3) {
for(int var4 = 0; var4 < 9; ++var4) { for (int var4 = 0; var4 < 9; ++var4) {
this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18)); this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
} }
} }
for(var3 = 0; var3 < 9; ++var3) { for (var3 = 0; var3 < 9; ++var3) {
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142)); this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
} }
} }
public void onCraftGuiOpened(ICrafting var1) { public void onCraftGuiOpened(ICrafting var1) {
super.onCraftGuiOpened(var1); super.onCraftGuiOpened(var1);
var1.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime); var1.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime);
var1.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime); var1.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime);
var1.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime); var1.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime);
} }
public void updateCraftingMatrix() { public void updateCraftingMatrix() {
super.updateCraftingMatrix(); super.updateCraftingMatrix();
for(int var1 = 0; var1 < this.crafters.size(); ++var1) { for (int var1 = 0; var1 < this.crafters.size(); ++var1) {
ICrafting var2 = (ICrafting)this.crafters.get(var1); ICrafting var2 = (ICrafting) this.crafters.get(var1);
if(this.lastCookTime != this.furnace.furnaceCookTime) { if (this.lastCookTime != this.furnace.furnaceCookTime) {
var2.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime); var2.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime);
} }
if(this.lastBurnTime != this.furnace.furnaceBurnTime) { if (this.lastBurnTime != this.furnace.furnaceBurnTime) {
var2.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime); var2.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime);
} }
if(this.lastItemBurnTime != this.furnace.currentItemBurnTime) { if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) {
var2.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime); var2.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime);
} }
} }
this.lastCookTime = this.furnace.furnaceCookTime; this.lastCookTime = this.furnace.furnaceCookTime;
this.lastBurnTime = this.furnace.furnaceBurnTime; this.lastBurnTime = this.furnace.furnaceBurnTime;
this.lastItemBurnTime = this.furnace.currentItemBurnTime; this.lastItemBurnTime = this.furnace.currentItemBurnTime;
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return this.furnace.canInteractWith(var1); return this.furnace.canInteractWith(var1);
} }
public ItemStack func_27086_a(int var1) { public ItemStack func_27086_a(int var1) {
ItemStack var2 = null; ItemStack var2 = null;
Slot var3 = (Slot)this.inventorySlots.get(var1); Slot var3 = (Slot) this.inventorySlots.get(var1);
if(var3 != null && var3.func_27006_b()) { if (var3 != null && var3.func_27006_b()) {
ItemStack var4 = var3.getStack(); ItemStack var4 = var3.getStack();
var2 = var4.copy(); var2 = var4.copy();
if(var1 == 2) { if (var1 == 2) {
this.func_28126_a(var4, 3, 39, true); this.func_28126_a(var4, 3, 39, true);
} else if(var1 >= 3 && var1 < 30) { } else if (var1 >= 3 && var1 < 30) {
this.func_28126_a(var4, 30, 39, false); this.func_28126_a(var4, 30, 39, false);
} else if(var1 >= 30 && var1 < 39) { } else if (var1 >= 30 && var1 < 39) {
this.func_28126_a(var4, 3, 30, false); this.func_28126_a(var4, 3, 30, false);
} else { } else {
this.func_28126_a(var4, 3, 39, false); this.func_28126_a(var4, 3, 39, false);
} }
if(var4.stackSize == 0) { if (var4.stackSize == 0) {
var3.putStack((ItemStack)null); var3.putStack((ItemStack) null);
} else { } else {
var3.onSlotChanged(); var3.onSlotChanged();
} }
if(var4.stackSize == var2.stackSize) { if (var4.stackSize == var2.stackSize) {
return null; return null;
} }
var3.onPickupFromSlot(var4); var3.onPickupFromSlot(var4);
} }
return var2; return var2;
} }
} }

View file

@ -12,96 +12,96 @@ import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.ItemStack; import net.minecraft.item.crafting.ItemStack;
public class ContainerPlayer extends Container { public class ContainerPlayer extends Container {
public InventoryCrafting craftMatrix; public InventoryCrafting craftMatrix;
public IInventory craftResult; public IInventory craftResult;
public boolean isMP; public boolean isMP;
public ContainerPlayer(InventoryPlayer var1) { public ContainerPlayer(InventoryPlayer var1) {
this(var1, true); this(var1, true);
} }
public ContainerPlayer(InventoryPlayer var1, boolean var2) { public ContainerPlayer(InventoryPlayer var1, boolean var2) {
this.craftMatrix = new InventoryCrafting(this, 2, 2); this.craftMatrix = new InventoryCrafting(this, 2, 2);
this.craftResult = new InventoryCraftResult(); this.craftResult = new InventoryCraftResult();
this.isMP = false; this.isMP = false;
this.isMP = var2; this.isMP = var2;
this.addSlot(new SlotCrafting(var1.player, this.craftMatrix, this.craftResult, 0, 144, 36)); this.addSlot(new SlotCrafting(var1.player, this.craftMatrix, this.craftResult, 0, 144, 36));
int var3; int var3;
int var4; int var4;
for(var3 = 0; var3 < 2; ++var3) { for (var3 = 0; var3 < 2; ++var3) {
for(var4 = 0; var4 < 2; ++var4) { for (var4 = 0; var4 < 2; ++var4) {
this.addSlot(new Slot(this.craftMatrix, var4 + var3 * 2, 88 + var4 * 18, 26 + var3 * 18)); this.addSlot(new Slot(this.craftMatrix, var4 + var3 * 2, 88 + var4 * 18, 26 + var3 * 18));
} }
} }
for(var3 = 0; var3 < 4; ++var3) { for (var3 = 0; var3 < 4; ++var3) {
this.addSlot(new SlotArmor(this, var1, var1.getSizeInventory() - 1 - var3, 8, 8 + var3 * 18, var3)); this.addSlot(new SlotArmor(this, var1, var1.getSizeInventory() - 1 - var3, 8, 8 + var3 * 18, var3));
} }
for(var3 = 0; var3 < 3; ++var3) { for (var3 = 0; var3 < 3; ++var3) {
for(var4 = 0; var4 < 9; ++var4) { for (var4 = 0; var4 < 9; ++var4) {
this.addSlot(new Slot(var1, var4 + (var3 + 1) * 9, 8 + var4 * 18, 84 + var3 * 18)); this.addSlot(new Slot(var1, var4 + (var3 + 1) * 9, 8 + var4 * 18, 84 + var3 * 18));
} }
} }
for(var3 = 0; var3 < 9; ++var3) { for (var3 = 0; var3 < 9; ++var3) {
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142)); this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
} }
this.onCraftMatrixChanged(this.craftMatrix); this.onCraftMatrixChanged(this.craftMatrix);
} }
public void onCraftMatrixChanged(IInventory var1) { public void onCraftMatrixChanged(IInventory var1) {
this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix)); this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix));
} }
public void onCraftGuiClosed(EntityPlayer var1) { public void onCraftGuiClosed(EntityPlayer var1) {
super.onCraftGuiClosed(var1); super.onCraftGuiClosed(var1);
for(int var2 = 0; var2 < 4; ++var2) { for (int var2 = 0; var2 < 4; ++var2) {
ItemStack var3 = this.craftMatrix.getStackInSlot(var2); ItemStack var3 = this.craftMatrix.getStackInSlot(var2);
if(var3 != null) { if (var3 != null) {
var1.dropPlayerItem(var3); var1.dropPlayerItem(var3);
this.craftMatrix.setInventorySlotContents(var2, (ItemStack)null); this.craftMatrix.setInventorySlotContents(var2, (ItemStack) null);
} }
} }
} }
public boolean canInteractWith(EntityPlayer var1) { public boolean canInteractWith(EntityPlayer var1) {
return true; return true;
} }
public ItemStack func_27086_a(int var1) { public ItemStack func_27086_a(int var1) {
ItemStack var2 = null; ItemStack var2 = null;
Slot var3 = (Slot)this.inventorySlots.get(var1); Slot var3 = (Slot) this.inventorySlots.get(var1);
if(var3 != null && var3.func_27006_b()) { if (var3 != null && var3.func_27006_b()) {
ItemStack var4 = var3.getStack(); ItemStack var4 = var3.getStack();
var2 = var4.copy(); var2 = var4.copy();
if(var1 == 0) { if (var1 == 0) {
this.func_28126_a(var4, 9, 45, true); this.func_28126_a(var4, 9, 45, true);
} else if(var1 >= 9 && var1 < 36) { } else if (var1 >= 9 && var1 < 36) {
this.func_28126_a(var4, 36, 45, false); this.func_28126_a(var4, 36, 45, false);
} else if(var1 >= 36 && var1 < 45) { } else if (var1 >= 36 && var1 < 45) {
this.func_28126_a(var4, 9, 36, false); this.func_28126_a(var4, 9, 36, false);
} else { } else {
this.func_28126_a(var4, 9, 45, false); this.func_28126_a(var4, 9, 45, false);
} }
if(var4.stackSize == 0) { if (var4.stackSize == 0) {
var3.putStack((ItemStack)null); var3.putStack((ItemStack) null);
} else { } else {
var3.onSlotChanged(); var3.onSlotChanged();
} }
if(var4.stackSize == var2.stackSize) { if (var4.stackSize == var2.stackSize) {
return null; return null;
} }
var3.onPickupFromSlot(var4); var3.onPickupFromSlot(var4);
} }
return var2; return var2;
} }
} }

Some files were not shown because too many files have changed in this diff Show more