Reformat code
This commit is contained in:
parent
ee3d133a31
commit
3b140b91c9
432 changed files with 33958 additions and 34058 deletions
|
|
@ -7,59 +7,59 @@ import net.minecraft.statistics.StatBase;
|
|||
import net.minecraft.statistics.StatCollector;
|
||||
|
||||
public class Achievement extends StatBase<Achievement> {
|
||||
public final int field_25067_a;
|
||||
public final int field_27991_b;
|
||||
public final Achievement field_27992_c;
|
||||
private final String field_27063_l;
|
||||
public final ItemStack theItemStack;
|
||||
private boolean field_27062_m;
|
||||
public final int field_25067_a;
|
||||
public final int field_27991_b;
|
||||
public final Achievement field_27992_c;
|
||||
private final String field_27063_l;
|
||||
public final ItemStack theItemStack;
|
||||
private boolean field_27062_m;
|
||||
|
||||
public Achievement(int var1, String var2, int var3, int var4, Item var5, Achievement var6) {
|
||||
this(var1, var2, var3, var4, new ItemStack(var5), var6);
|
||||
}
|
||||
public Achievement(int var1, String var2, int var3, int var4, Item var5, Achievement var6) {
|
||||
this(var1, var2, var3, var4, new ItemStack(var5), var6);
|
||||
}
|
||||
|
||||
public Achievement(int var1, String var2, int var3, int var4, Block var5, Achievement var6) {
|
||||
this(var1, var2, var3, var4, new ItemStack(var5), var6);
|
||||
}
|
||||
public Achievement(int var1, String var2, int var3, int var4, Block var5, Achievement var6) {
|
||||
this(var1, var2, var3, var4, new ItemStack(var5), var6);
|
||||
}
|
||||
|
||||
public Achievement(int var1, String var2, int var3, int var4, ItemStack var5, Achievement var6) {
|
||||
super(5242880 + var1, StatCollector.translateToLocal("achievement." + var2));
|
||||
this.theItemStack = var5;
|
||||
this.field_27063_l = StatCollector.translateToLocal("achievement." + var2 + ".desc");
|
||||
this.field_25067_a = var3;
|
||||
this.field_27991_b = var4;
|
||||
if(var3 < AchievementList.field_27114_a) {
|
||||
AchievementList.field_27114_a = var3;
|
||||
}
|
||||
public Achievement(int var1, String var2, int var3, int var4, ItemStack var5, Achievement var6) {
|
||||
super(5242880 + var1, StatCollector.translateToLocal("achievement." + var2));
|
||||
this.theItemStack = var5;
|
||||
this.field_27063_l = StatCollector.translateToLocal("achievement." + var2 + ".desc");
|
||||
this.field_25067_a = var3;
|
||||
this.field_27991_b = var4;
|
||||
if (var3 < AchievementList.field_27114_a) {
|
||||
AchievementList.field_27114_a = var3;
|
||||
}
|
||||
|
||||
if(var4 < AchievementList.field_27113_b) {
|
||||
AchievementList.field_27113_b = var4;
|
||||
}
|
||||
if (var4 < AchievementList.field_27113_b) {
|
||||
AchievementList.field_27113_b = var4;
|
||||
}
|
||||
|
||||
if(var3 > AchievementList.field_27112_c) {
|
||||
AchievementList.field_27112_c = var3;
|
||||
}
|
||||
if (var3 > AchievementList.field_27112_c) {
|
||||
AchievementList.field_27112_c = var3;
|
||||
}
|
||||
|
||||
if(var4 > AchievementList.field_27111_d) {
|
||||
AchievementList.field_27111_d = var4;
|
||||
}
|
||||
if (var4 > AchievementList.field_27111_d) {
|
||||
AchievementList.field_27111_d = var4;
|
||||
}
|
||||
|
||||
this.field_27992_c = var6;
|
||||
}
|
||||
this.field_27992_c = var6;
|
||||
}
|
||||
|
||||
public Achievement func_27052_e() {
|
||||
this.field_27058_g = true;
|
||||
return this;
|
||||
}
|
||||
public Achievement func_27052_e() {
|
||||
this.field_27058_g = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Achievement func_27060_b() {
|
||||
this.field_27062_m = true;
|
||||
return this;
|
||||
}
|
||||
public Achievement func_27060_b() {
|
||||
this.field_27062_m = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Achievement func_27053_d() {
|
||||
super.func_27053_d();
|
||||
AchievementList.field_25129_a.add(this);
|
||||
return this;
|
||||
}
|
||||
public Achievement func_27053_d() {
|
||||
super.func_27053_d();
|
||||
AchievementList.field_25129_a.add(this);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,37 +1,38 @@
|
|||
package net.minecraft.achievement;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AchievementList {
|
||||
public static int field_27114_a;
|
||||
public static int field_27113_b;
|
||||
public static int field_27112_c;
|
||||
public static int field_27111_d;
|
||||
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_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_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_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_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_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_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_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_27098_u = (new Achievement(15, "flyPig", 8, -4, Item.saddle, field_27099_t)).func_27060_b().func_27053_d();
|
||||
public static int field_27114_a;
|
||||
public static int field_27113_b;
|
||||
public static int field_27112_c;
|
||||
public static int field_27111_d;
|
||||
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_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_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_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_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_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_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_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_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 {
|
||||
System.out.println(field_25129_a.size() + " achievements");
|
||||
}
|
||||
static {
|
||||
System.out.println(field_25129_a.size() + " achievements");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,31 +6,31 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public class AchievementMap {
|
||||
public static AchievementMap field_25134_a = new AchievementMap();
|
||||
private Map field_25133_b = new HashMap();
|
||||
public static AchievementMap field_25134_a = new AchievementMap();
|
||||
private Map field_25133_b = new HashMap();
|
||||
|
||||
private AchievementMap() {
|
||||
try {
|
||||
BufferedReader var1 = new BufferedReader(new InputStreamReader(AchievementMap.class.getResourceAsStream("/achievement/map.txt")));
|
||||
private AchievementMap() {
|
||||
try {
|
||||
BufferedReader var1 = new BufferedReader(new InputStreamReader(AchievementMap.class.getResourceAsStream("/achievement/map.txt")));
|
||||
|
||||
while(true) {
|
||||
String var2 = var1.readLine();
|
||||
if(var2 == null) {
|
||||
var1.close();
|
||||
break;
|
||||
}
|
||||
while (true) {
|
||||
String var2 = var1.readLine();
|
||||
if (var2 == null) {
|
||||
var1.close();
|
||||
break;
|
||||
}
|
||||
|
||||
String[] var3 = var2.split(",");
|
||||
int var4 = Integer.parseInt(var3[0]);
|
||||
this.field_25133_b.put(Integer.valueOf(var4), var3[1]);
|
||||
}
|
||||
} catch (Exception var5) {
|
||||
var5.printStackTrace();
|
||||
}
|
||||
String[] var3 = var2.split(",");
|
||||
int var4 = Integer.parseInt(var3[0]);
|
||||
this.field_25133_b.put(Integer.valueOf(var4), var3[1]);
|
||||
}
|
||||
} catch (Exception var5) {
|
||||
var5.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static String func_25132_a(int var0) {
|
||||
return (String)field_25134_a.field_25133_b.get(Integer.valueOf(var0));
|
||||
}
|
||||
public static String func_25132_a(int var0) {
|
||||
return (String) field_25134_a.field_25133_b.get(Integer.valueOf(var0));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
|
|
@ -12,188 +10,191 @@ import net.minecraft.world.EnumBedResult;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Random;
|
||||
|
||||
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) {
|
||||
super(var1, 134, Material.cloth);
|
||||
this.setBounds();
|
||||
}
|
||||
public BlockBed(int var1) {
|
||||
super(var1, 134, Material.cloth);
|
||||
this.setBounds();
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(!func_22020_d(var6)) {
|
||||
int var7 = func_22019_c(var6);
|
||||
var2 += field_22023_a[var7][0];
|
||||
var4 += field_22023_a[var7][1];
|
||||
if(var1.getBlockId(var2, var3, var4) != this.blockID) {
|
||||
return true;
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (!func_22020_d(var6)) {
|
||||
int var7 = func_22019_c(var6);
|
||||
var2 += field_22023_a[var7][0];
|
||||
var4 += field_22023_a[var7][1];
|
||||
if (var1.getBlockId(var2, var3, var4) != this.blockID) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
}
|
||||
var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
}
|
||||
|
||||
if(!var1.worldProvider.func_28108_d()) {
|
||||
double var16 = (double)var2 + 0.5D;
|
||||
double var17 = (double)var3 + 0.5D;
|
||||
double var11 = (double)var4 + 0.5D;
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
int var13 = func_22019_c(var6);
|
||||
var2 += field_22023_a[var13][0];
|
||||
var4 += field_22023_a[var13][1];
|
||||
if(var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var16 = (var16 + (double)var2 + 0.5D) / 2.0D;
|
||||
var17 = (var17 + (double)var3 + 0.5D) / 2.0D;
|
||||
var11 = (var11 + (double)var4 + 0.5D) / 2.0D;
|
||||
}
|
||||
if (!var1.worldProvider.func_28108_d()) {
|
||||
double var16 = (double) var2 + 0.5D;
|
||||
double var17 = (double) var3 + 0.5D;
|
||||
double var11 = (double) var4 + 0.5D;
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
int var13 = func_22019_c(var6);
|
||||
var2 += field_22023_a[var13][0];
|
||||
var4 += field_22023_a[var13][1];
|
||||
if (var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var16 = (var16 + (double) var2 + 0.5D) / 2.0D;
|
||||
var17 = (var17 + (double) var3 + 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);
|
||||
return true;
|
||||
} else {
|
||||
if(func_22018_f(var6)) {
|
||||
EntityPlayer var14 = null;
|
||||
Iterator var8 = var1.playerEntities.iterator();
|
||||
var1.newExplosion((Entity) null, (double) ((float) var2 + 0.5F), (double) ((float) var3 + 0.5F), (double) ((float) var4 + 0.5F), 5.0F, true);
|
||||
return true;
|
||||
} else {
|
||||
if (func_22018_f(var6)) {
|
||||
EntityPlayer var14 = null;
|
||||
Iterator var8 = var1.playerEntities.iterator();
|
||||
|
||||
while(var8.hasNext()) {
|
||||
EntityPlayer var9 = (EntityPlayer)var8.next();
|
||||
if(var9.func_22057_E()) {
|
||||
ChunkCoordinates var10 = var9.playerLocation;
|
||||
if(var10.posX == var2 && var10.posY == var3 && var10.posZ == var4) {
|
||||
var14 = var9;
|
||||
}
|
||||
}
|
||||
}
|
||||
while (var8.hasNext()) {
|
||||
EntityPlayer var9 = (EntityPlayer) var8.next();
|
||||
if (var9.func_22057_E()) {
|
||||
ChunkCoordinates var10 = var9.playerLocation;
|
||||
if (var10.posX == var2 && var10.posY == var3 && var10.posZ == var4) {
|
||||
var14 = var9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var14 != null) {
|
||||
var5.func_22061_a("tile.bed.occupied");
|
||||
return true;
|
||||
}
|
||||
if (var14 != null) {
|
||||
var5.func_22061_a("tile.bed.occupied");
|
||||
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);
|
||||
if(var15 == EnumBedResult.OK) {
|
||||
func_22022_a(var1, var2, var3, var4, true);
|
||||
return true;
|
||||
} else {
|
||||
if(var15 == EnumBedResult.NOT_POSSIBLE_NOW) {
|
||||
var5.func_22061_a("tile.bed.noSleep");
|
||||
}
|
||||
EnumBedResult var15 = var5.goToSleep(var2, var3, var4);
|
||||
if (var15 == EnumBedResult.OK) {
|
||||
func_22022_a(var1, var2, var3, var4, true);
|
||||
return true;
|
||||
} else {
|
||||
if (var15 == EnumBedResult.NOT_POSSIBLE_NOW) {
|
||||
var5.func_22061_a("tile.bed.noSleep");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if(var1 == 0) {
|
||||
return Block.planks.blockIndexInTexture;
|
||||
} else {
|
||||
int var3 = func_22019_c(var2);
|
||||
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));
|
||||
}
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if (var1 == 0) {
|
||||
return Block.planks.blockIndexInTexture;
|
||||
} else {
|
||||
int var3 = func_22019_c(var2);
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
this.setBounds();
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
this.setBounds();
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = func_22019_c(var6);
|
||||
if(func_22020_d(var6)) {
|
||||
if(var1.getBlockId(var2 - field_22023_a[var7][0], var3, var4 - field_22023_a[var7][1]) != this.blockID) {
|
||||
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) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
if(!var1.singleplayerWorld) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = func_22019_c(var6);
|
||||
if (func_22020_d(var6)) {
|
||||
if (var1.getBlockId(var2 - field_22023_a[var7][0], var3, var4 - field_22023_a[var7][1]) != this.blockID) {
|
||||
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) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
if (!var1.singleplayerWorld) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return func_22020_d(var1) ? 0 : Item.bed.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return func_22020_d(var1) ? 0 : Item.bed.shiftedIndex;
|
||||
}
|
||||
|
||||
private void setBounds() {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 9.0F / 16.0F, 1.0F);
|
||||
}
|
||||
private void setBounds() {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 9.0F / 16.0F, 1.0F);
|
||||
}
|
||||
|
||||
public static int func_22019_c(int var0) {
|
||||
return var0 & 3;
|
||||
}
|
||||
public static int func_22019_c(int var0) {
|
||||
return var0 & 3;
|
||||
}
|
||||
|
||||
public static boolean func_22020_d(int var0) {
|
||||
return (var0 & 8) != 0;
|
||||
}
|
||||
public static boolean func_22020_d(int var0) {
|
||||
return (var0 & 8) != 0;
|
||||
}
|
||||
|
||||
public static boolean func_22018_f(int var0) {
|
||||
return (var0 & 4) != 0;
|
||||
}
|
||||
public static boolean func_22018_f(int var0) {
|
||||
return (var0 & 4) != 0;
|
||||
}
|
||||
|
||||
public static void func_22022_a(World var0, int var1, int var2, int var3, boolean var4) {
|
||||
int var5 = var0.getBlockMetadata(var1, var2, var3);
|
||||
if(var4) {
|
||||
var5 |= 4;
|
||||
} else {
|
||||
var5 &= -5;
|
||||
}
|
||||
public static void func_22022_a(World var0, int var1, int var2, int var3, boolean var4) {
|
||||
int var5 = var0.getBlockMetadata(var1, var2, var3);
|
||||
if (var4) {
|
||||
var5 |= 4;
|
||||
} else {
|
||||
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) {
|
||||
int var5 = var0.getBlockMetadata(var1, var2, var3);
|
||||
int var6 = func_22019_c(var5);
|
||||
public static ChunkCoordinates func_22021_g(World var0, int var1, int var2, int var3, int var4) {
|
||||
int var5 = var0.getBlockMetadata(var1, var2, var3);
|
||||
int var6 = func_22019_c(var5);
|
||||
|
||||
for(int var7 = 0; var7 <= 1; ++var7) {
|
||||
int var8 = var1 - field_22023_a[var6][0] * var7 - 1;
|
||||
int var9 = var3 - field_22023_a[var6][1] * var7 - 1;
|
||||
int var10 = var8 + 2;
|
||||
int var11 = var9 + 2;
|
||||
for (int var7 = 0; var7 <= 1; ++var7) {
|
||||
int var8 = var1 - field_22023_a[var6][0] * var7 - 1;
|
||||
int var9 = var3 - field_22023_a[var6][1] * var7 - 1;
|
||||
int var10 = var8 + 2;
|
||||
int var11 = var9 + 2;
|
||||
|
||||
for(int var12 = var8; var12 <= var10; ++var12) {
|
||||
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(var4 <= 0) {
|
||||
return new ChunkCoordinates(var12, var2, var13);
|
||||
}
|
||||
for (int var12 = var8; var12 <= var10; ++var12) {
|
||||
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 (var4 <= 0) {
|
||||
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) {
|
||||
if(!func_22020_d(var5)) {
|
||||
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
if (!func_22020_d(var5)) {
|
||||
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int getMobilityFlag() {
|
||||
return 1;
|
||||
}
|
||||
public int getMobilityFlag() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,19 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockBookshelf extends Block {
|
||||
public BlockBookshelf(int var1, int var2) {
|
||||
super(var1, var2, Material.wood);
|
||||
}
|
||||
public BlockBookshelf(int var1, int var2) {
|
||||
super(var1, var2, Material.wood);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 <= 1 ? 4 : this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 <= 1 ? 4 : this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
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) {
|
||||
super(var1, var2, var3);
|
||||
this.field_6084_a = var4;
|
||||
}
|
||||
protected BlockBreakable(int var1, int var2, Material var3, boolean var4) {
|
||||
super(var1, var2, var3);
|
||||
this.field_6084_a = var4;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,220 +1,221 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockButton extends Block {
|
||||
protected BlockButton(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockButton(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 20;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 20;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
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)));
|
||||
}
|
||||
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)));
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : var1.isBlockNormalCube(var2, var3, var4 + 1)));
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : var1.isBlockNormalCube(var2, var3, var4 + 1)));
|
||||
}
|
||||
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 8;
|
||||
var6 &= 7;
|
||||
if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 4;
|
||||
} else if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
} else if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 2;
|
||||
} else if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var6 = 1;
|
||||
} else {
|
||||
var6 = this.getOrientation(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 8;
|
||||
var6 &= 7;
|
||||
if (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 4;
|
||||
} else if (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
} else if (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 2;
|
||||
} else if (var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var6 = 1;
|
||||
} else {
|
||||
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) {
|
||||
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)));
|
||||
}
|
||||
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)));
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(this.func_322_g(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
boolean var7 = false;
|
||||
if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
|
||||
var7 = true;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (this.func_322_g(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
boolean var7 = false;
|
||||
if (!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
if (var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean func_322_g(World var1, int var2, int var3, int var4) {
|
||||
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean func_322_g(World var1, int var2, int var3, int var4) {
|
||||
if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var6 = var5 & 7;
|
||||
boolean var7 = (var5 & 8) > 0;
|
||||
float var8 = 6.0F / 16.0F;
|
||||
float var9 = 10.0F / 16.0F;
|
||||
float var10 = 3.0F / 16.0F;
|
||||
float var11 = 2.0F / 16.0F;
|
||||
if(var7) {
|
||||
var11 = 1.0F / 16.0F;
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var6 = var5 & 7;
|
||||
boolean var7 = (var5 & 8) > 0;
|
||||
float var8 = 6.0F / 16.0F;
|
||||
float var9 = 10.0F / 16.0F;
|
||||
float var10 = 3.0F / 16.0F;
|
||||
float var11 = 2.0F / 16.0F;
|
||||
if (var7) {
|
||||
var11 = 1.0F / 16.0F;
|
||||
}
|
||||
|
||||
if(var6 == 1) {
|
||||
this.setBlockBounds(0.0F, var8, 0.5F - var10, var11, var9, 0.5F + var10);
|
||||
} else if(var6 == 2) {
|
||||
this.setBlockBounds(1.0F - var11, var8, 0.5F - var10, 1.0F, var9, 0.5F + var10);
|
||||
} else if(var6 == 3) {
|
||||
this.setBlockBounds(0.5F - var10, var8, 0.0F, 0.5F + var10, var9, var11);
|
||||
} else if(var6 == 4) {
|
||||
this.setBlockBounds(0.5F - var10, var8, 1.0F - var11, 0.5F + var10, var9, 1.0F);
|
||||
}
|
||||
if (var6 == 1) {
|
||||
this.setBlockBounds(0.0F, var8, 0.5F - var10, var11, var9, 0.5F + var10);
|
||||
} else if (var6 == 2) {
|
||||
this.setBlockBounds(1.0F - var11, var8, 0.5F - var10, 1.0F, var9, 0.5F + var10);
|
||||
} else if (var6 == 3) {
|
||||
this.setBlockBounds(0.5F - var10, var8, 0.0F, 0.5F + var10, var9, var11);
|
||||
} else if (var6 == 4) {
|
||||
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) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 7;
|
||||
int var8 = 8 - (var6 & 8);
|
||||
if(var8 == 0) {
|
||||
return true;
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8);
|
||||
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.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
if(var7 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if(var7 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if(var7 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if(var7 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 7;
|
||||
int var8 = 8 - (var6 & 8);
|
||||
if (var8 == 0) {
|
||||
return true;
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8);
|
||||
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.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
if (var7 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if (var7 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if (var7 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if (var7 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var5 & 8) > 0) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
int var6 = var5 & 7;
|
||||
if(var6 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if(var6 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if(var6 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if(var6 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var5 & 8) > 0) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
int var6 = var5 & 7;
|
||||
if (var6 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if (var6 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if (var6 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if (var6 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
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) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0;
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0;
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) == 0) {
|
||||
return false;
|
||||
} else {
|
||||
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)));
|
||||
}
|
||||
}
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) == 0) {
|
||||
return false;
|
||||
} else {
|
||||
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)));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) != 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 & 7);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
int var7 = var6 & 7;
|
||||
if(var7 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if(var7 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if(var7 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if(var7 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) != 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 & 7);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
int var7 = var6 & 7;
|
||||
if (var7 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if (var7 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if (var7 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if (var7 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
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.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.5F);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,81 +1,82 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockCactus extends Block {
|
||||
protected BlockCactus(int var1, int var2) {
|
||||
super(var1, var2, Material.cactus);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockCactus(int var1, int var2) {
|
||||
super(var1, var2, Material.cactus);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(var1.isAirBlock(var2, var3 + 1, var4)) {
|
||||
int var6;
|
||||
for(var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) {
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (var1.isAirBlock(var2, var3 + 1, var4)) {
|
||||
int var6;
|
||||
for (var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) {
|
||||
}
|
||||
|
||||
if(var6 < 3) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var7 == 15) {
|
||||
var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var6 < 3) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var7 == 15) {
|
||||
var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
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));
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
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));
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture);
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
if(var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) {
|
||||
return false;
|
||||
} else if(var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) {
|
||||
return false;
|
||||
} else if(var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) {
|
||||
return false;
|
||||
} else if(var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) {
|
||||
return false;
|
||||
} else {
|
||||
int var5 = var1.getBlockId(var2, var3 - 1, var4);
|
||||
return var5 == Block.cactus.blockID || var5 == Block.sand.blockID;
|
||||
}
|
||||
}
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
if (var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) {
|
||||
return false;
|
||||
} else if (var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) {
|
||||
return false;
|
||||
} else if (var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) {
|
||||
return false;
|
||||
} else if (var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) {
|
||||
return false;
|
||||
} else {
|
||||
int var5 = var1.getBlockId(var2, var3 - 1, var4);
|
||||
return var5 == Block.cactus.blockID || var5 == Block.sand.blockID;
|
||||
}
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
var5.attackEntityFrom((Entity)null, 1);
|
||||
}
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
var5.attackEntityFrom((Entity) null, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,94 +1,95 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockCake extends Block {
|
||||
protected BlockCake(int var1, int var2) {
|
||||
super(var1, var2, Material.cakeMaterial);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockCake(int var1, int var2) {
|
||||
super(var1, var2, Material.cakeMaterial);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 1.0F / 16.0F;
|
||||
float var7 = (float)(1 + var5 * 2) / 16.0F;
|
||||
float var8 = 0.5F;
|
||||
this.setBlockBounds(var7, 0.0F, var6, 1.0F - var6, var8, 1.0F - var6);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 1.0F / 16.0F;
|
||||
float var7 = (float) (1 + var5 * 2) / 16.0F;
|
||||
float var8 = 0.5F;
|
||||
this.setBlockBounds(var7, 0.0F, var6, 1.0F - var6, var8, 1.0F - var6);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 1.0F / 16.0F;
|
||||
float var7 = (float)(1 + var5 * 2) / 16.0F;
|
||||
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));
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 1.0F / 16.0F;
|
||||
float var7 = (float) (1 + var5 * 2) / 16.0F;
|
||||
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));
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture + 3 : this.blockIndexInTexture + 1);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture + 3 : this.blockIndexInTexture + 1);
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.eatCakeSlice(var1, var2, var3, var4, var5);
|
||||
return true;
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.eatCakeSlice(var1, var2, var3, var4, var5);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.eatCakeSlice(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.eatCakeSlice(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
private void eatCakeSlice(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(var5.health < 20) {
|
||||
var5.heal(3);
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) + 1;
|
||||
if(var6 >= 6) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
var1.markBlockAsNeedsUpdate(var2, var3, var4);
|
||||
}
|
||||
}
|
||||
private void eatCakeSlice(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var5.health < 20) {
|
||||
var5.heal(3);
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) + 1;
|
||||
if (var6 >= 6) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
var1.markBlockAsNeedsUpdate(var2, var3, 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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
return var1.getBlockMaterial(var2, var3 - 1, var4).isSolid();
|
||||
}
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
return var1.getBlockMaterial(var2, var3 - 1, var4).isSolid();
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.block.tile.TileEntityChest;
|
||||
|
|
@ -11,112 +10,114 @@ import net.minecraft.entity.EntityPlayer;
|
|||
import net.minecraft.item.crafting.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockChest extends BlockContainer {
|
||||
private Random random = new Random();
|
||||
private Random random = new Random();
|
||||
|
||||
protected BlockChest(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 26;
|
||||
}
|
||||
protected BlockChest(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 26;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture));
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture));
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
int var5 = 0;
|
||||
if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
int var5 = 0;
|
||||
if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
if (var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
if (var1.getBlockId(var2, var3, var4 - 1) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
if (var1.getBlockId(var2, var3, var4 + 1) == this.blockID) {
|
||||
++var5;
|
||||
}
|
||||
|
||||
return var5 > 1 ? false : (this.isThereANeighborChest(var1, var2 - 1, var3, var4) ? false : (this.isThereANeighborChest(var1, var2 + 1, var3, var4) ? false : (this.isThereANeighborChest(var1, var2, var3, var4 - 1) ? false : !this.isThereANeighborChest(var1, var2, var3, var4 + 1))));
|
||||
}
|
||||
return var5 > 1 ? false : (this.isThereANeighborChest(var1, var2 - 1, var3, var4) ? false : (this.isThereANeighborChest(var1, var2 + 1, var3, var4) ? false : (this.isThereANeighborChest(var1, var2, var3, var4 - 1) ? false : !this.isThereANeighborChest(var1, var2, var3, var4 + 1))));
|
||||
}
|
||||
|
||||
private boolean isThereANeighborChest(World var1, int var2, int var3, int var4) {
|
||||
return var1.getBlockId(var2, var3, var4) != this.blockID ? false : (var1.getBlockId(var2 - 1, var3, var4) == this.blockID ? true : (var1.getBlockId(var2 + 1, var3, var4) == this.blockID ? true : (var1.getBlockId(var2, var3, var4 - 1) == this.blockID ? true : var1.getBlockId(var2, var3, var4 + 1) == this.blockID)));
|
||||
}
|
||||
private boolean isThereANeighborChest(World var1, int var2, int var3, int var4) {
|
||||
return var1.getBlockId(var2, var3, var4) != this.blockID ? false : (var1.getBlockId(var2 - 1, var3, var4) == this.blockID ? true : (var1.getBlockId(var2 + 1, var3, var4) == this.blockID ? true : (var1.getBlockId(var2, var3, var4 - 1) == this.blockID ? true : var1.getBlockId(var2, var3, var4 + 1) == this.blockID)));
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
TileEntityChest var5 = (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4);
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
TileEntityChest var5 = (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4);
|
||||
|
||||
for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
|
||||
ItemStack var7 = var5.getStackInSlot(var6);
|
||||
if(var7 != null) {
|
||||
float var8 = this.random.nextFloat() * 0.8F + 0.1F;
|
||||
float var9 = this.random.nextFloat() * 0.8F + 0.1F;
|
||||
float var10 = this.random.nextFloat() * 0.8F + 0.1F;
|
||||
for (int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
|
||||
ItemStack var7 = var5.getStackInSlot(var6);
|
||||
if (var7 != null) {
|
||||
float var8 = this.random.nextFloat() * 0.8F + 0.1F;
|
||||
float var9 = this.random.nextFloat() * 0.8F + 0.1F;
|
||||
float var10 = this.random.nextFloat() * 0.8F + 0.1F;
|
||||
|
||||
while(var7.stackSize > 0) {
|
||||
int var11 = this.random.nextInt(21) + 10;
|
||||
if(var11 > var7.stackSize) {
|
||||
var11 = var7.stackSize;
|
||||
}
|
||||
while (var7.stackSize > 0) {
|
||||
int var11 = this.random.nextInt(21) + 10;
|
||||
if (var11 > var7.stackSize) {
|
||||
var11 = var7.stackSize;
|
||||
}
|
||||
|
||||
var7.stackSize -= var11;
|
||||
EntityItem var12 = new EntityItem(var1, (double)((float)var2 + var8), (double)((float)var3 + var9), (double)((float)var4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
|
||||
float var13 = 0.05F;
|
||||
var12.motionX = (double)((float)this.random.nextGaussian() * var13);
|
||||
var12.motionY = (double)((float)this.random.nextGaussian() * var13 + 0.2F);
|
||||
var12.motionZ = (double)((float)this.random.nextGaussian() * var13);
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
}
|
||||
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()));
|
||||
float var13 = 0.05F;
|
||||
var12.motionX = (double) ((float) this.random.nextGaussian() * var13);
|
||||
var12.motionY = (double) ((float) this.random.nextGaussian() * var13 + 0.2F);
|
||||
var12.motionZ = (double) ((float) this.random.nextGaussian() * var13);
|
||||
var1.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) {
|
||||
Object var6 = (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4);
|
||||
if(var1.isBlockNormalCube(var2, var3 + 1, var4)) {
|
||||
return true;
|
||||
} else if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 - 1, var3 + 1, var4)) {
|
||||
return true;
|
||||
} else if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 + 1, var3 + 1, var4)) {
|
||||
return true;
|
||||
} else if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 - 1)) {
|
||||
return true;
|
||||
} else if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 + 1)) {
|
||||
return true;
|
||||
} else {
|
||||
if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (TileEntityChest)var1.getBlockTileEntity(var2 - 1, var3, var4), (IInventory)var6);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
Object var6 = (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4);
|
||||
if (var1.isBlockNormalCube(var2, var3 + 1, var4)) {
|
||||
return true;
|
||||
} else if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 - 1, var3 + 1, var4)) {
|
||||
return true;
|
||||
} else if (var1.getBlockId(var2 + 1, var3, var4) == this.blockID && var1.isBlockNormalCube(var2 + 1, var3 + 1, var4)) {
|
||||
return true;
|
||||
} else if (var1.getBlockId(var2, var3, var4 - 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 - 1)) {
|
||||
return true;
|
||||
} else if (var1.getBlockId(var2, var3, var4 + 1) == this.blockID && var1.isBlockNormalCube(var2, var3 + 1, var4 + 1)) {
|
||||
return true;
|
||||
} else {
|
||||
if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (TileEntityChest) var1.getBlockTileEntity(var2 - 1, var3, var4), (IInventory) var6);
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (IInventory)var6, (TileEntityChest)var1.getBlockTileEntity(var2 + 1, var3, var4));
|
||||
}
|
||||
if (var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (IInventory) var6, (TileEntityChest) var1.getBlockTileEntity(var2 + 1, var3, var4));
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2, var3, var4 - 1) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4 - 1), (IInventory)var6);
|
||||
}
|
||||
if (var1.getBlockId(var2, var3, var4 - 1) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4 - 1), (IInventory) var6);
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2, var3, var4 + 1) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (IInventory)var6, (TileEntityChest)var1.getBlockTileEntity(var2, var3, var4 + 1));
|
||||
}
|
||||
if (var1.getBlockId(var2, var3, var4 + 1) == this.blockID) {
|
||||
var6 = new InventoryLargeChest("Large chest", (IInventory) var6, (TileEntityChest) var1.getBlockTileEntity(var2, var3, var4 + 1));
|
||||
}
|
||||
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
var5.displayGUIChest((IInventory)var6);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
var5.displayGUIChest((IInventory) var6);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityChest();
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityChest();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,20 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockClay extends Block {
|
||||
public BlockClay(int var1, int var2) {
|
||||
super(var1, var2, Material.clay);
|
||||
}
|
||||
public BlockClay(int var1, int var2) {
|
||||
super(var1, var2, Material.clay);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.clay.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.clay.shiftedIndex;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 4;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,28 +3,28 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockCloth extends Block {
|
||||
public BlockCloth() {
|
||||
super(35, 64, Material.cloth);
|
||||
}
|
||||
public BlockCloth() {
|
||||
super(35, 64, Material.cloth);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if(var2 == 0) {
|
||||
return this.blockIndexInTexture;
|
||||
} else {
|
||||
var2 = ~(var2 & 15);
|
||||
return 113 + ((var2 & 8) >> 3) + (var2 & 7) * 16;
|
||||
}
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if (var2 == 0) {
|
||||
return this.blockIndexInTexture;
|
||||
} else {
|
||||
var2 = ~(var2 & 15);
|
||||
return 113 + ((var2 & 8) >> 3) + (var2 & 7) * 16;
|
||||
}
|
||||
}
|
||||
|
||||
protected int damageDropped(int var1) {
|
||||
return var1;
|
||||
}
|
||||
protected int damageDropped(int var1) {
|
||||
return var1;
|
||||
}
|
||||
|
||||
public static int func_21033_c(int var0) {
|
||||
return ~var0 & 15;
|
||||
}
|
||||
public static int func_21033_c(int var0) {
|
||||
return ~var0 & 15;
|
||||
}
|
||||
|
||||
public static int func_21034_d(int var0) {
|
||||
return ~var0 & 15;
|
||||
}
|
||||
public static int func_21034_d(int var0) {
|
||||
return ~var0 & 15;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,25 +5,25 @@ import net.minecraft.block.tile.TileEntity;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public abstract class BlockContainer extends Block {
|
||||
protected BlockContainer(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
isBlockContainer[var1] = true;
|
||||
}
|
||||
protected BlockContainer(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
isBlockContainer[var1] = true;
|
||||
}
|
||||
|
||||
protected BlockContainer(int var1, int var2, Material var3) {
|
||||
super(var1, var2, var3);
|
||||
isBlockContainer[var1] = true;
|
||||
}
|
||||
protected BlockContainer(int var1, int var2, Material var3) {
|
||||
super(var1, var2, var3);
|
||||
isBlockContainer[var1] = true;
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
var1.setBlockTileEntity(var2, var3, var4, this.getBlockEntity());
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
var1.setBlockTileEntity(var2, var3, var4, this.getBlockEntity());
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
var1.removeBlockTileEntity(var2, var3, var4);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
var1.removeBlockTileEntity(var2, var3, var4);
|
||||
}
|
||||
|
||||
protected abstract TileEntity getBlockEntity();
|
||||
protected abstract TileEntity getBlockEntity();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,114 +1,115 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.entity.EntityItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.crafting.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockCrops extends BlockFlower {
|
||||
protected BlockCrops(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
this.blockIndexInTexture = var2;
|
||||
this.setTickOnLoad(true);
|
||||
float var3 = 0.5F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.25F, 0.5F + var3);
|
||||
}
|
||||
protected BlockCrops(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
this.blockIndexInTexture = var2;
|
||||
this.setTickOnLoad(true);
|
||||
float var3 = 0.5F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.25F, 0.5F + var3);
|
||||
}
|
||||
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return var1 == Block.tilledField.blockID;
|
||||
}
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return var1 == Block.tilledField.blockID;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var6 < 7) {
|
||||
float var7 = this.getGrowthRate(var1, var2, var3, var4);
|
||||
if(var5.nextInt((int)(100.0F / var7)) == 0) {
|
||||
++var6;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
if (var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var6 < 7) {
|
||||
float var7 = this.getGrowthRate(var1, var2, var3, var4);
|
||||
if (var5.nextInt((int) (100.0F / var7)) == 0) {
|
||||
++var6;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void fertilize(World var1, int var2, int var3, int var4) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 7);
|
||||
}
|
||||
public void fertilize(World var1, int var2, int var3, int var4) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 7);
|
||||
}
|
||||
|
||||
private float getGrowthRate(World var1, int var2, int var3, int var4) {
|
||||
float var5 = 1.0F;
|
||||
int var6 = var1.getBlockId(var2, var3, var4 - 1);
|
||||
int var7 = var1.getBlockId(var2, var3, var4 + 1);
|
||||
int var8 = var1.getBlockId(var2 - 1, var3, var4);
|
||||
int var9 = var1.getBlockId(var2 + 1, var3, var4);
|
||||
int var10 = var1.getBlockId(var2 - 1, var3, var4 - 1);
|
||||
int var11 = var1.getBlockId(var2 + 1, var3, var4 - 1);
|
||||
int var12 = var1.getBlockId(var2 + 1, var3, var4 + 1);
|
||||
int var13 = var1.getBlockId(var2 - 1, var3, var4 + 1);
|
||||
boolean var14 = var8 == this.blockID || var9 == this.blockID;
|
||||
boolean var15 = var6 == this.blockID || var7 == this.blockID;
|
||||
boolean var16 = var10 == this.blockID || var11 == this.blockID || var12 == this.blockID || var13 == this.blockID;
|
||||
private float getGrowthRate(World var1, int var2, int var3, int var4) {
|
||||
float var5 = 1.0F;
|
||||
int var6 = var1.getBlockId(var2, var3, var4 - 1);
|
||||
int var7 = var1.getBlockId(var2, var3, var4 + 1);
|
||||
int var8 = var1.getBlockId(var2 - 1, var3, var4);
|
||||
int var9 = var1.getBlockId(var2 + 1, var3, var4);
|
||||
int var10 = var1.getBlockId(var2 - 1, var3, var4 - 1);
|
||||
int var11 = var1.getBlockId(var2 + 1, var3, var4 - 1);
|
||||
int var12 = var1.getBlockId(var2 + 1, var3, var4 + 1);
|
||||
int var13 = var1.getBlockId(var2 - 1, var3, var4 + 1);
|
||||
boolean var14 = var8 == this.blockID || var9 == this.blockID;
|
||||
boolean var15 = var6 == this.blockID || var7 == this.blockID;
|
||||
boolean var16 = var10 == this.blockID || var11 == this.blockID || var12 == this.blockID || var13 == this.blockID;
|
||||
|
||||
for(int var17 = var2 - 1; var17 <= var2 + 1; ++var17) {
|
||||
for(int var18 = var4 - 1; var18 <= var4 + 1; ++var18) {
|
||||
int var19 = var1.getBlockId(var17, var3 - 1, var18);
|
||||
float var20 = 0.0F;
|
||||
if(var19 == Block.tilledField.blockID) {
|
||||
var20 = 1.0F;
|
||||
if(var1.getBlockMetadata(var17, var3 - 1, var18) > 0) {
|
||||
var20 = 3.0F;
|
||||
}
|
||||
}
|
||||
for (int var17 = var2 - 1; var17 <= var2 + 1; ++var17) {
|
||||
for (int var18 = var4 - 1; var18 <= var4 + 1; ++var18) {
|
||||
int var19 = var1.getBlockId(var17, var3 - 1, var18);
|
||||
float var20 = 0.0F;
|
||||
if (var19 == Block.tilledField.blockID) {
|
||||
var20 = 1.0F;
|
||||
if (var1.getBlockMetadata(var17, var3 - 1, var18) > 0) {
|
||||
var20 = 3.0F;
|
||||
}
|
||||
}
|
||||
|
||||
if(var17 != var2 || var18 != var4) {
|
||||
var20 /= 4.0F;
|
||||
}
|
||||
if (var17 != var2 || var18 != var4) {
|
||||
var20 /= 4.0F;
|
||||
}
|
||||
|
||||
var5 += var20;
|
||||
}
|
||||
}
|
||||
var5 += var20;
|
||||
}
|
||||
}
|
||||
|
||||
if(var16 || var14 && var15) {
|
||||
var5 /= 2.0F;
|
||||
}
|
||||
if (var16 || var14 && var15) {
|
||||
var5 /= 2.0F;
|
||||
}
|
||||
|
||||
return var5;
|
||||
}
|
||||
return var5;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if(var2 < 0) {
|
||||
var2 = 7;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if (var2 < 0) {
|
||||
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) {
|
||||
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
if(!var1.singleplayerWorld) {
|
||||
for(int var7 = 0; var7 < 3; ++var7) {
|
||||
if(var1.rand.nextInt(15) <= var5) {
|
||||
float var8 = 0.7F;
|
||||
float var9 = 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;
|
||||
EntityItem var12 = new EntityItem(var1, (double)((float)var2 + var9), (double)((float)var3 + var10), (double)((float)var4 + var11), new ItemStack(Item.seeds));
|
||||
var12.delayBeforeCanPickup = 10;
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
if (!var1.singleplayerWorld) {
|
||||
for (int var7 = 0; var7 < 3; ++var7) {
|
||||
if (var1.rand.nextInt(15) <= var5) {
|
||||
float var8 = 0.7F;
|
||||
float var9 = 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;
|
||||
EntityItem var12 = new EntityItem(var1, (double) ((float) var2 + var9), (double) ((float) var3 + var10), (double) ((float) var4 + var11), new ItemStack(Item.seeds));
|
||||
var12.delayBeforeCanPickup = 10;
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return var1 == 7 ? Item.wheat.shiftedIndex : -1;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return var1 == 7 ? Item.wheat.shiftedIndex : -1;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,21 +3,21 @@ package net.minecraft.block;
|
|||
import java.util.Random;
|
||||
|
||||
public class BlockDeadBush extends BlockFlower {
|
||||
protected BlockDeadBush(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.4F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3);
|
||||
}
|
||||
protected BlockDeadBush(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.4F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3);
|
||||
}
|
||||
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return var1 == Block.sand.blockID;
|
||||
}
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return var1 == Block.sand.blockID;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return -1;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,79 +1,80 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityMinecart;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockDetectorRail extends BlockRail {
|
||||
public BlockDetectorRail(int var1, int var2) {
|
||||
super(var1, var2, true);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
public BlockDetectorRail(int var1, int var2) {
|
||||
super(var1, var2, true);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 20;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 20;
|
||||
}
|
||||
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) == 0) {
|
||||
this.func_27035_f(var1, var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) == 0) {
|
||||
this.func_27035_f(var1, var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) != 0) {
|
||||
this.func_27035_f(var1, var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) != 0) {
|
||||
this.func_27035_f(var1, var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) != 0;
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) != 0;
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) == 0 ? false : var5 == 1;
|
||||
}
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
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) {
|
||||
boolean var6 = (var5 & 8) != 0;
|
||||
boolean var7 = false;
|
||||
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)));
|
||||
if(var9.size() > 0) {
|
||||
var7 = true;
|
||||
}
|
||||
private void func_27035_f(World var1, int var2, int var3, int var4, int var5) {
|
||||
boolean var6 = (var5 & 8) != 0;
|
||||
boolean var7 = false;
|
||||
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)));
|
||||
if (var9.size() > 0) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var7 && !var6) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var5 | 8);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
}
|
||||
if (var7 && !var6) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var5 | 8);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
}
|
||||
|
||||
if(!var7 && var6) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var5 & 7);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
}
|
||||
if (!var7 && var6) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var5 & 7);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
}
|
||||
|
||||
if(var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
if (var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockDirt extends Block {
|
||||
protected BlockDirt(int var1, int var2) {
|
||||
super(var1, var2, Material.ground);
|
||||
}
|
||||
protected BlockDirt(int var1, int var2) {
|
||||
super(var1, var2, Material.ground);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,206 +1,202 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.block.tile.TileEntityDispenser;
|
||||
import net.minecraft.entity.EntityArrow;
|
||||
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.entity.*;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.crafting.ItemStack;
|
||||
import net.minecraft.math.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockDispenser extends BlockContainer {
|
||||
private Random field_28032_a = new Random();
|
||||
private Random field_28032_a = new Random();
|
||||
|
||||
protected BlockDispenser(int var1) {
|
||||
super(var1, Material.rock);
|
||||
this.blockIndexInTexture = 45;
|
||||
}
|
||||
protected BlockDispenser(int var1) {
|
||||
super(var1, Material.rock);
|
||||
this.blockIndexInTexture = 45;
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 4;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 4;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.dispenser.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.dispenser.blockID;
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
this.setDispenserDefaultDirection(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
this.setDispenserDefaultDirection(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
private void setDispenserDefaultDirection(World var1, int var2, int var3, int var4) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var5 = var1.getBlockId(var2, var3, var4 - 1);
|
||||
int var6 = var1.getBlockId(var2, var3, var4 + 1);
|
||||
int var7 = var1.getBlockId(var2 - 1, var3, var4);
|
||||
int var8 = var1.getBlockId(var2 + 1, var3, var4);
|
||||
byte var9 = 3;
|
||||
if(Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) {
|
||||
var9 = 3;
|
||||
}
|
||||
private void setDispenserDefaultDirection(World var1, int var2, int var3, int var4) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var5 = var1.getBlockId(var2, var3, var4 - 1);
|
||||
int var6 = var1.getBlockId(var2, var3, var4 + 1);
|
||||
int var7 = var1.getBlockId(var2 - 1, var3, var4);
|
||||
int var8 = var1.getBlockId(var2 + 1, var3, var4);
|
||||
byte var9 = 3;
|
||||
if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) {
|
||||
var9 = 3;
|
||||
}
|
||||
|
||||
if(Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) {
|
||||
var9 = 2;
|
||||
}
|
||||
if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) {
|
||||
var9 = 2;
|
||||
}
|
||||
|
||||
if(Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) {
|
||||
var9 = 5;
|
||||
}
|
||||
if (Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) {
|
||||
var9 = 5;
|
||||
}
|
||||
|
||||
if(Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) {
|
||||
var9 = 4;
|
||||
}
|
||||
if (Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) {
|
||||
var9 = 4;
|
||||
}
|
||||
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
|
||||
}
|
||||
}
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture + 17 : (var1 == 0 ? this.blockIndexInTexture + 17 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture));
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
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) {
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
TileEntityDispenser var6 = (TileEntityDispenser)var1.getBlockTileEntity(var2, var3, var4);
|
||||
var5.displayGUIDispenser(var6);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
TileEntityDispenser var6 = (TileEntityDispenser) var1.getBlockTileEntity(var2, var3, var4);
|
||||
var5.displayGUIDispenser(var6);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void dispenseItem(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
byte var9 = 0;
|
||||
byte var10 = 0;
|
||||
if(var6 == 3) {
|
||||
var10 = 1;
|
||||
} else if(var6 == 2) {
|
||||
var10 = -1;
|
||||
} else if(var6 == 5) {
|
||||
var9 = 1;
|
||||
} else {
|
||||
var9 = -1;
|
||||
}
|
||||
private void dispenseItem(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
byte var9 = 0;
|
||||
byte var10 = 0;
|
||||
if (var6 == 3) {
|
||||
var10 = 1;
|
||||
} else if (var6 == 2) {
|
||||
var10 = -1;
|
||||
} else if (var6 == 5) {
|
||||
var9 = 1;
|
||||
} else {
|
||||
var9 = -1;
|
||||
}
|
||||
|
||||
TileEntityDispenser var11 = (TileEntityDispenser)var1.getBlockTileEntity(var2, var3, var4);
|
||||
ItemStack var12 = var11.getRandomStackFromInventory();
|
||||
double var13 = (double)var2 + (double)var9 * 0.6D + 0.5D;
|
||||
double var15 = (double)var3 + 0.5D;
|
||||
double var17 = (double)var4 + (double)var10 * 0.6D + 0.5D;
|
||||
if(var12 == null) {
|
||||
var1.func_28097_e(1001, var2, var3, var4, 0);
|
||||
} else {
|
||||
if(var12.itemID == Item.arrow.shiftedIndex) {
|
||||
EntityArrow var19 = new EntityArrow(var1, var13, var15, var17);
|
||||
var19.setArrowHeading((double)var9, (double)0.1F, (double)var10, 1.1F, 6.0F);
|
||||
var19.field_28012_a = true;
|
||||
var1.entityJoinedWorld(var19);
|
||||
var1.func_28097_e(1002, var2, var3, var4, 0);
|
||||
} else if(var12.itemID == Item.egg.shiftedIndex) {
|
||||
EntityEgg var22 = new EntityEgg(var1, var13, var15, var17);
|
||||
var22.func_20078_a((double)var9, (double)0.1F, (double)var10, 1.1F, 6.0F);
|
||||
var1.entityJoinedWorld(var22);
|
||||
var1.func_28097_e(1002, var2, var3, var4, 0);
|
||||
} else if(var12.itemID == Item.snowball.shiftedIndex) {
|
||||
EntitySnowball var23 = new EntitySnowball(var1, var13, var15, var17);
|
||||
var23.func_6141_a((double)var9, (double)0.1F, (double)var10, 1.1F, 6.0F);
|
||||
var1.entityJoinedWorld(var23);
|
||||
var1.func_28097_e(1002, var2, var3, var4, 0);
|
||||
} else {
|
||||
EntityItem var24 = new EntityItem(var1, var13, var15 - 0.3D, var17, var12);
|
||||
double var20 = var5.nextDouble() * 0.1D + 0.2D;
|
||||
var24.motionX = (double)var9 * var20;
|
||||
var24.motionY = (double)0.2F;
|
||||
var24.motionZ = (double)var10 * var20;
|
||||
var24.motionX += 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;
|
||||
var1.entityJoinedWorld(var24);
|
||||
var1.func_28097_e(1000, var2, var3, var4, 0);
|
||||
}
|
||||
TileEntityDispenser var11 = (TileEntityDispenser) var1.getBlockTileEntity(var2, var3, var4);
|
||||
ItemStack var12 = var11.getRandomStackFromInventory();
|
||||
double var13 = (double) var2 + (double) var9 * 0.6D + 0.5D;
|
||||
double var15 = (double) var3 + 0.5D;
|
||||
double var17 = (double) var4 + (double) var10 * 0.6D + 0.5D;
|
||||
if (var12 == null) {
|
||||
var1.func_28097_e(1001, var2, var3, var4, 0);
|
||||
} else {
|
||||
if (var12.itemID == Item.arrow.shiftedIndex) {
|
||||
EntityArrow var19 = new EntityArrow(var1, var13, var15, var17);
|
||||
var19.setArrowHeading((double) var9, (double) 0.1F, (double) var10, 1.1F, 6.0F);
|
||||
var19.field_28012_a = true;
|
||||
var1.entityJoinedWorld(var19);
|
||||
var1.func_28097_e(1002, var2, var3, var4, 0);
|
||||
} else if (var12.itemID == Item.egg.shiftedIndex) {
|
||||
EntityEgg var22 = new EntityEgg(var1, var13, var15, var17);
|
||||
var22.func_20078_a((double) var9, (double) 0.1F, (double) var10, 1.1F, 6.0F);
|
||||
var1.entityJoinedWorld(var22);
|
||||
var1.func_28097_e(1002, var2, var3, var4, 0);
|
||||
} else if (var12.itemID == Item.snowball.shiftedIndex) {
|
||||
EntitySnowball var23 = new EntitySnowball(var1, var13, var15, var17);
|
||||
var23.func_6141_a((double) var9, (double) 0.1F, (double) var10, 1.1F, 6.0F);
|
||||
var1.entityJoinedWorld(var23);
|
||||
var1.func_28097_e(1002, var2, var3, var4, 0);
|
||||
} else {
|
||||
EntityItem var24 = new EntityItem(var1, var13, var15 - 0.3D, var17, var12);
|
||||
double var20 = var5.nextDouble() * 0.1D + 0.2D;
|
||||
var24.motionX = (double) var9 * var20;
|
||||
var24.motionY = (double) 0.2F;
|
||||
var24.motionZ = (double) var10 * var20;
|
||||
var24.motionX += 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;
|
||||
var1.entityJoinedWorld(var24);
|
||||
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) {
|
||||
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var6 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
|
||||
if(var6) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var6 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
|
||||
if (var6) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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)) {
|
||||
this.dispenseItem(var1, var2, var3, var4, 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)) {
|
||||
this.dispenseItem(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityDispenser();
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityDispenser();
|
||||
}
|
||||
|
||||
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;
|
||||
if(var6 == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
}
|
||||
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;
|
||||
if (var6 == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
}
|
||||
|
||||
if(var6 == 1) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
|
||||
}
|
||||
if (var6 == 1) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
|
||||
}
|
||||
|
||||
if(var6 == 2) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
}
|
||||
if (var6 == 2) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
}
|
||||
|
||||
if(var6 == 3) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
|
||||
}
|
||||
if (var6 == 3) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
TileEntityDispenser var5 = (TileEntityDispenser)var1.getBlockTileEntity(var2, var3, var4);
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
TileEntityDispenser var5 = (TileEntityDispenser) var1.getBlockTileEntity(var2, var3, var4);
|
||||
|
||||
for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
|
||||
ItemStack var7 = var5.getStackInSlot(var6);
|
||||
if(var7 != null) {
|
||||
float var8 = 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;
|
||||
for (int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
|
||||
ItemStack var7 = var5.getStackInSlot(var6);
|
||||
if (var7 != null) {
|
||||
float var8 = 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;
|
||||
|
||||
while(var7.stackSize > 0) {
|
||||
int var11 = this.field_28032_a.nextInt(21) + 10;
|
||||
if(var11 > var7.stackSize) {
|
||||
var11 = var7.stackSize;
|
||||
}
|
||||
while (var7.stackSize > 0) {
|
||||
int var11 = this.field_28032_a.nextInt(21) + 10;
|
||||
if (var11 > var7.stackSize) {
|
||||
var11 = var7.stackSize;
|
||||
}
|
||||
|
||||
var7.stackSize -= var11;
|
||||
EntityItem var12 = new EntityItem(var1, (double)((float)var2 + var8), (double)((float)var3 + var9), (double)((float)var4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
|
||||
float var13 = 0.05F;
|
||||
var12.motionX = (double)((float)this.field_28032_a.nextGaussian() * var13);
|
||||
var12.motionY = (double)((float)this.field_28032_a.nextGaussian() * var13 + 0.2F);
|
||||
var12.motionZ = (double)((float)this.field_28032_a.nextGaussian() * var13);
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
}
|
||||
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()));
|
||||
float var13 = 0.05F;
|
||||
var12.motionX = (double) ((float) this.field_28032_a.nextGaussian() * var13);
|
||||
var12.motionY = (double) ((float) this.field_28032_a.nextGaussian() * var13 + 0.2F);
|
||||
var12.motionZ = (double) ((float) this.field_28032_a.nextGaussian() * var13);
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
|
|
@ -10,185 +9,187 @@ import net.minecraft.util.MovingObjectPosition;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockDoor extends Block {
|
||||
protected BlockDoor(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
this.blockIndexInTexture = 97;
|
||||
if(var2 == Material.iron) {
|
||||
++this.blockIndexInTexture;
|
||||
}
|
||||
protected BlockDoor(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
this.blockIndexInTexture = 97;
|
||||
if (var2 == Material.iron) {
|
||||
++this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
float var3 = 0.5F;
|
||||
float var4 = 1.0F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3);
|
||||
}
|
||||
float var3 = 0.5F;
|
||||
float var4 = 1.0F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if(var1 != 0 && var1 != 1) {
|
||||
int var3 = this.func_271_d(var2);
|
||||
if((var3 == 0 || var3 == 2) ^ var1 <= 3) {
|
||||
return this.blockIndexInTexture;
|
||||
} else {
|
||||
int var4 = var3 / 2 + (var1 & 1 ^ var3);
|
||||
var4 += (var2 & 4) / 4;
|
||||
int var5 = this.blockIndexInTexture - (var2 & 8) * 2;
|
||||
if((var4 & 1) != 0) {
|
||||
var5 = -var5;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if (var1 != 0 && var1 != 1) {
|
||||
int var3 = this.func_271_d(var2);
|
||||
if ((var3 == 0 || var3 == 2) ^ var1 <= 3) {
|
||||
return this.blockIndexInTexture;
|
||||
} else {
|
||||
int var4 = var3 / 2 + (var1 & 1 ^ var3);
|
||||
var4 += (var2 & 4) / 4;
|
||||
int var5 = this.blockIndexInTexture - (var2 & 8) * 2;
|
||||
if ((var4 & 1) != 0) {
|
||||
var5 = -var5;
|
||||
}
|
||||
|
||||
return var5;
|
||||
}
|
||||
} else {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
}
|
||||
return var5;
|
||||
}
|
||||
} else {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
this.func_273_b(this.func_271_d(var1.getBlockMetadata(var2, var3, 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)));
|
||||
}
|
||||
|
||||
public void func_273_b(int var1) {
|
||||
float var2 = 3.0F / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F);
|
||||
if(var1 == 0) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2);
|
||||
}
|
||||
public void func_273_b(int var1) {
|
||||
float var2 = 3.0F / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F);
|
||||
if (var1 == 0) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2);
|
||||
}
|
||||
|
||||
if(var1 == 1) {
|
||||
this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
if (var1 == 1) {
|
||||
this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(var1 == 2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
if (var1 == 2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(var1 == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F);
|
||||
}
|
||||
if (var1 == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(this.blockMaterial == Material.iron) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) != 0) {
|
||||
if(var1.getBlockId(var2, var3 - 1, var4) == this.blockID) {
|
||||
this.blockActivated(var1, var2, var3 - 1, var4, var5);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (this.blockMaterial == Material.iron) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) != 0) {
|
||||
if (var1.getBlockId(var2, var3 - 1, var4) == this.blockID) {
|
||||
this.blockActivated(var1, var2, var3 - 1, var4, var5);
|
||||
}
|
||||
|
||||
return true;
|
||||
} else {
|
||||
if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8);
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
if (var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8);
|
||||
}
|
||||
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4);
|
||||
var1.func_28101_a(var5, 1003, var2, var3, var4, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4);
|
||||
var1.func_28101_a(var5, 1003, var2, var3, var4, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void func_272_a(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) != 0) {
|
||||
if(var1.getBlockId(var2, var3 - 1, var4) == this.blockID) {
|
||||
this.func_272_a(var1, var2, var3 - 1, var4, var5);
|
||||
}
|
||||
public void func_272_a(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) != 0) {
|
||||
if (var1.getBlockId(var2, var3 - 1, var4) == this.blockID) {
|
||||
this.func_272_a(var1, var2, var3 - 1, var4, var5);
|
||||
}
|
||||
|
||||
} else {
|
||||
boolean var7 = (var1.getBlockMetadata(var2, var3, var4) & 4) > 0;
|
||||
if(var7 != var5) {
|
||||
if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8);
|
||||
}
|
||||
} else {
|
||||
boolean var7 = (var1.getBlockMetadata(var2, var3, var4) & 4) > 0;
|
||||
if (var7 != var5) {
|
||||
if (var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3 + 1, var4, (var6 ^ 4) + 8);
|
||||
}
|
||||
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4);
|
||||
var1.func_28101_a((EntityPlayer)null, 1003, var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.markBlocksDirty(var2, var3 - 1, var4, var2, var3, var4);
|
||||
var1.func_28101_a((EntityPlayer) null, 1003, var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) != 0) {
|
||||
if(var1.getBlockId(var2, var3 - 1, var4) != this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) != 0) {
|
||||
if (var1.getBlockId(var2, var3 - 1, var4) != this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
this.onNeighborBlockChange(var1, var2, var3 - 1, var4, var5);
|
||||
}
|
||||
} else {
|
||||
boolean var7 = false;
|
||||
if(var1.getBlockId(var2, var3 + 1, var4) != this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var7 = true;
|
||||
}
|
||||
if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
this.onNeighborBlockChange(var1, var2, var3 - 1, var4, var5);
|
||||
}
|
||||
} else {
|
||||
boolean var7 = false;
|
||||
if (var1.getBlockId(var2, var3 + 1, var4) != this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var7 = true;
|
||||
if(var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3 + 1, var4, 0);
|
||||
}
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var7 = true;
|
||||
if (var1.getBlockId(var2, var3 + 1, var4) == this.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3 + 1, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
if(var7) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
}
|
||||
} else if(var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var8 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
|
||||
this.func_272_a(var1, var2, var3, var4, var8);
|
||||
}
|
||||
}
|
||||
if (var7) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
}
|
||||
} else if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var8 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4) || var1.isBlockIndirectlyGettingPowered(var2, var3 + 1, var4);
|
||||
this.func_272_a(var1, var2, var3, var4, var8);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return (var1 & 8) != 0 ? 0 : (this.blockMaterial == Material.iron ? Item.doorSteel.shiftedIndex : Item.doorWood.shiftedIndex);
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
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) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public int func_271_d(int var1) {
|
||||
return (var1 & 4) == 0 ? var1 - 1 & 3 : var1 & 3;
|
||||
}
|
||||
public int func_271_d(int var1) {
|
||||
return (var1 & 4) == 0 ? var1 - 1 & 3 : var1 & 3;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var3 >= 127 ? false : var1.isBlockNormalCube(var2, var3 - 1, var4) && super.canPlaceBlockAt(var1, var2, var3, var4) && super.canPlaceBlockAt(var1, var2, var3 + 1, var4);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public static boolean func_27036_e(int var0) {
|
||||
return (var0 & 4) != 0;
|
||||
}
|
||||
public static boolean func_27036_e(int var0) {
|
||||
return (var0 & 4) != 0;
|
||||
}
|
||||
|
||||
public int getMobilityFlag() {
|
||||
return 1;
|
||||
}
|
||||
public int getMobilityFlag() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,97 +1,98 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockFarmland extends Block {
|
||||
protected BlockFarmland(int var1) {
|
||||
super(var1, Material.ground);
|
||||
this.blockIndexInTexture = 87;
|
||||
this.setTickOnLoad(true);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 15.0F / 16.0F, 1.0F);
|
||||
this.setLightOpacity(255);
|
||||
}
|
||||
protected BlockFarmland(int var1) {
|
||||
super(var1, Material.ground);
|
||||
this.blockIndexInTexture = 87;
|
||||
this.setTickOnLoad(true);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 15.0F / 16.0F, 1.0F);
|
||||
this.setLightOpacity(255);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return AxisAlignedBB.getBoundingBoxFromPool((double)(var2 + 0), (double)(var3 + 0), (double)(var4 + 0), (double)(var2 + 1), (double)(var3 + 1), (double)(var4 + 1));
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return AxisAlignedBB.getBoundingBoxFromPool((double) (var2 + 0), (double) (var3 + 0), (double) (var4 + 0), (double) (var2 + 1), (double) (var3 + 1), (double) (var4 + 1));
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return var1 == 1 && var2 > 0 ? this.blockIndexInTexture - 1 : (var1 == 1 ? this.blockIndexInTexture : 2);
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return var1 == 1 && var2 > 0 ? this.blockIndexInTexture - 1 : (var1 == 1 ? this.blockIndexInTexture : 2);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(var5.nextInt(5) == 0) {
|
||||
if(!this.isWaterNearby(var1, var2, var3, var4) && !var1.canLightningStrikeAt(var2, var3 + 1, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var6 > 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 - 1);
|
||||
} else if(!this.isCropsNearby(var1, var2, var3, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
}
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 7);
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (var5.nextInt(5) == 0) {
|
||||
if (!this.isWaterNearby(var1, var2, var3, var4) && !var1.canLightningStrikeAt(var2, var3 + 1, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var6 > 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 - 1);
|
||||
} else if (!this.isCropsNearby(var1, var2, var3, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
}
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 7);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if(var1.rand.nextInt(4) == 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
}
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if (var1.rand.nextInt(4) == 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isCropsNearby(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 0;
|
||||
private boolean isCropsNearby(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 0;
|
||||
|
||||
for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
|
||||
for(int var7 = var4 - var5; var7 <= var4 + var5; ++var7) {
|
||||
if(var1.getBlockId(var6, var3 + 1, var7) == Block.crops.blockID) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
|
||||
for (int var7 = var4 - var5; var7 <= var4 + var5; ++var7) {
|
||||
if (var1.getBlockId(var6, var3 + 1, var7) == Block.crops.blockID) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean isWaterNearby(World var1, int var2, int var3, int var4) {
|
||||
for(int var5 = var2 - 4; var5 <= var2 + 4; ++var5) {
|
||||
for(int var6 = var3; var6 <= var3 + 1; ++var6) {
|
||||
for(int var7 = var4 - 4; var7 <= var4 + 4; ++var7) {
|
||||
if(var1.getBlockMaterial(var5, var6, var7) == Material.water) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private boolean isWaterNearby(World var1, int var2, int var3, int var4) {
|
||||
for (int var5 = var2 - 4; var5 <= var2 + 4; ++var5) {
|
||||
for (int var6 = var3; var6 <= var3 + 1; ++var6) {
|
||||
for (int var7 = var4 - 4; var7 <= var4 + 4; ++var7) {
|
||||
if (var1.getBlockMaterial(var5, var6, var7) == Material.water) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
Material var6 = var1.getBlockMaterial(var2, var3 + 1, var4);
|
||||
if(var6.isSolid()) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
Material var6 = var1.getBlockMaterial(var2, var3 + 1, var4);
|
||||
if (var6.isSolid()) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.dirt.idDropped(0, var2);
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.dirt.idDropped(0, var2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,23 +5,23 @@ import net.minecraft.math.AxisAlignedBB;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockFence extends Block {
|
||||
public BlockFence(int var1, int var2) {
|
||||
super(var1, var2, Material.wood);
|
||||
}
|
||||
public BlockFence(int var1, int var2) {
|
||||
super(var1, var2, Material.wood);
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,188 +1,189 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockFire extends Block {
|
||||
private int[] chanceToEncourageFire = new int[256];
|
||||
private int[] abilityToCatchFire = new int[256];
|
||||
private int[] chanceToEncourageFire = new int[256];
|
||||
private int[] abilityToCatchFire = new int[256];
|
||||
|
||||
protected BlockFire(int var1, int var2) {
|
||||
super(var1, var2, Material.fire);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockFire(int var1, int var2) {
|
||||
super(var1, var2, Material.fire);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void setFireBurnRates() {
|
||||
this.setBurnRate(Block.planks.blockID, 5, 20);
|
||||
this.setBurnRate(Block.fence.blockID, 5, 20);
|
||||
this.setBurnRate(Block.stairCompactPlanks.blockID, 5, 20);
|
||||
this.setBurnRate(Block.wood.blockID, 5, 5);
|
||||
this.setBurnRate(Block.leaves.blockID, 30, 60);
|
||||
this.setBurnRate(Block.bookShelf.blockID, 30, 20);
|
||||
this.setBurnRate(Block.tnt.blockID, 15, 100);
|
||||
this.setBurnRate(Block.tallGrass.blockID, 60, 100);
|
||||
this.setBurnRate(Block.cloth.blockID, 30, 60);
|
||||
}
|
||||
public void setFireBurnRates() {
|
||||
this.setBurnRate(Block.planks.blockID, 5, 20);
|
||||
this.setBurnRate(Block.fence.blockID, 5, 20);
|
||||
this.setBurnRate(Block.stairCompactPlanks.blockID, 5, 20);
|
||||
this.setBurnRate(Block.wood.blockID, 5, 5);
|
||||
this.setBurnRate(Block.leaves.blockID, 30, 60);
|
||||
this.setBurnRate(Block.bookShelf.blockID, 30, 20);
|
||||
this.setBurnRate(Block.tnt.blockID, 15, 100);
|
||||
this.setBurnRate(Block.tallGrass.blockID, 60, 100);
|
||||
this.setBurnRate(Block.cloth.blockID, 30, 60);
|
||||
}
|
||||
|
||||
private void setBurnRate(int var1, int var2, int var3) {
|
||||
this.chanceToEncourageFire[var1] = var2;
|
||||
this.abilityToCatchFire[var1] = var3;
|
||||
}
|
||||
private void setBurnRate(int var1, int var2, int var3) {
|
||||
this.chanceToEncourageFire[var1] = var2;
|
||||
this.abilityToCatchFire[var1] = var3;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 40;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 40;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
boolean var6 = var1.getBlockId(var2, var3 - 1, var4) == Block.bloodStone.blockID;
|
||||
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
boolean var6 = var1.getBlockId(var2, var3 - 1, var4) == Block.bloodStone.blockID;
|
||||
if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
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)) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var7 < 15) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var7 + var5.nextInt(3) / 2);
|
||||
}
|
||||
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);
|
||||
if (var7 < 15) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var7 + var5.nextInt(3) / 2);
|
||||
}
|
||||
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
if(!var6 && !this.func_268_g(var1, var2, var3, var4)) {
|
||||
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) || var7 > 3) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
if (!var6 && !this.func_268_g(var1, var2, var3, var4)) {
|
||||
if (!var1.isBlockNormalCube(var2, var3 - 1, var4) || var7 > 3) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
} else if(!var6 && !this.canBlockCatchFire(var1, var2, var3 - 1, var4) && var7 == 15 && var5.nextInt(4) == 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} 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, 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);
|
||||
} else if (!var6 && !this.canBlockCatchFire(var1, var2, var3 - 1, var4) && var7 == 15 && var5.nextInt(4) == 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} 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, 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);
|
||||
|
||||
for(int var8 = var2 - 1; var8 <= var2 + 1; ++var8) {
|
||||
for(int var9 = var4 - 1; var9 <= var4 + 1; ++var9) {
|
||||
for(int var10 = var3 - 1; var10 <= var3 + 4; ++var10) {
|
||||
if(var8 != var2 || var10 != var3 || var9 != var4) {
|
||||
int var11 = 100;
|
||||
if(var10 > var3 + 1) {
|
||||
var11 += (var10 - (var3 + 1)) * 100;
|
||||
}
|
||||
for (int var8 = var2 - 1; var8 <= var2 + 1; ++var8) {
|
||||
for (int var9 = var4 - 1; var9 <= var4 + 1; ++var9) {
|
||||
for (int var10 = var3 - 1; var10 <= var3 + 4; ++var10) {
|
||||
if (var8 != var2 || var10 != var3 || var9 != var4) {
|
||||
int var11 = 100;
|
||||
if (var10 > var3 + 1) {
|
||||
var11 += (var10 - (var3 + 1)) * 100;
|
||||
}
|
||||
|
||||
int var12 = this.getChanceOfNeighborsEncouragingFire(var1, var8, var10, var9);
|
||||
if(var12 > 0) {
|
||||
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)) {
|
||||
int var14 = var7 + var5.nextInt(5) / 4;
|
||||
if(var14 > 15) {
|
||||
var14 = 15;
|
||||
}
|
||||
int var12 = this.getChanceOfNeighborsEncouragingFire(var1, var8, var10, var9);
|
||||
if (var12 > 0) {
|
||||
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)) {
|
||||
int var14 = var7 + var5.nextInt(5) / 4;
|
||||
if (var14 > 15) {
|
||||
var14 = 15;
|
||||
}
|
||||
|
||||
var1.setBlockAndMetadataWithNotify(var8, var10, var9, this.blockID, var14);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var1.setBlockAndMetadataWithNotify(var8, var10, var9, this.blockID, var14);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
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)];
|
||||
if(var6.nextInt(var5) < var8) {
|
||||
boolean var9 = var1.getBlockId(var2, var3, var4) == Block.tnt.blockID;
|
||||
if(var6.nextInt(var7 + 10) < 5 && !var1.canLightningStrikeAt(var2, var3, var4)) {
|
||||
int var10 = var7 + var6.nextInt(5) / 4;
|
||||
if(var10 > 15) {
|
||||
var10 = 15;
|
||||
}
|
||||
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)];
|
||||
if (var6.nextInt(var5) < var8) {
|
||||
boolean var9 = var1.getBlockId(var2, var3, var4) == Block.tnt.blockID;
|
||||
if (var6.nextInt(var7 + 10) < 5 && !var1.canLightningStrikeAt(var2, var3, var4)) {
|
||||
int var10 = var7 + var6.nextInt(5) / 4;
|
||||
if (var10 > 15) {
|
||||
var10 = 15;
|
||||
}
|
||||
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var10);
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var10);
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
if(var9) {
|
||||
Block.tnt.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
|
||||
}
|
||||
}
|
||||
if (var9) {
|
||||
Block.tnt.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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)))));
|
||||
}
|
||||
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)))));
|
||||
}
|
||||
|
||||
private int getChanceOfNeighborsEncouragingFire(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 0;
|
||||
if(!var1.isAirBlock(var2, var3, var4)) {
|
||||
return 0;
|
||||
} else {
|
||||
int var6 = this.getChanceToEncourageFire(var1, var2 + 1, var3, var4, var5);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2 - 1, var3, var4, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3 - 1, var4, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3 + 1, var4, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 - 1, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 + 1, var6);
|
||||
return var6;
|
||||
}
|
||||
}
|
||||
private int getChanceOfNeighborsEncouragingFire(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 0;
|
||||
if (!var1.isAirBlock(var2, var3, var4)) {
|
||||
return 0;
|
||||
} else {
|
||||
int var6 = this.getChanceToEncourageFire(var1, var2 + 1, var3, var4, var5);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2 - 1, var3, var4, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3 - 1, var4, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3 + 1, var4, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 - 1, var6);
|
||||
var6 = this.getChanceToEncourageFire(var1, var2, var3, var4 + 1, var6);
|
||||
return var6;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isCollidable() {
|
||||
return false;
|
||||
}
|
||||
public boolean isCollidable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canBlockCatchFire(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
return this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)] > 0;
|
||||
}
|
||||
public boolean canBlockCatchFire(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
return this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)] > 0;
|
||||
}
|
||||
|
||||
public int getChanceToEncourageFire(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)];
|
||||
return var6 > var5 ? var6 : var5;
|
||||
}
|
||||
public int getChanceToEncourageFire(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = this.chanceToEncourageFire[var1.getBlockId(var2, var3, var4)];
|
||||
return var6 > var5 ? var6 : var5;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4) || this.func_268_g(var1, var2, var3, 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);
|
||||
}
|
||||
|
||||
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)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
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)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
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.isBlockNormalCube(var2, var3 - 1, var4) && !this.func_268_g(var1, var2, var3, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
}
|
||||
}
|
||||
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.isBlockNormalCube(var2, var3 - 1, var4) && !this.func_268_g(var1, var2, var3, var4)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,57 +1,58 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockFlower extends Block {
|
||||
protected BlockFlower(int var1, int var2) {
|
||||
super(var1, Material.plants);
|
||||
this.blockIndexInTexture = var2;
|
||||
this.setTickOnLoad(true);
|
||||
float var3 = 0.2F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 3.0F, 0.5F + var3);
|
||||
}
|
||||
protected BlockFlower(int var1, int var2) {
|
||||
super(var1, Material.plants);
|
||||
this.blockIndexInTexture = var2;
|
||||
this.setTickOnLoad(true);
|
||||
float var3 = 0.2F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 3.0F, 0.5F + var3);
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return super.canPlaceBlockAt(var1, var2, var3, var4) && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, 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));
|
||||
}
|
||||
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return var1 == Block.grass.blockID || var1 == Block.dirt.blockID || var1 == Block.tilledField.blockID;
|
||||
}
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return var1 == Block.grass.blockID || var1 == Block.dirt.blockID || var1 == Block.tilledField.blockID;
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
this.func_276_g(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
this.func_276_g(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
this.func_276_g(var1, var2, var3, var4);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
this.func_276_g(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
protected final void func_276_g(World var1, int var2, int var3, int var4) {
|
||||
if(!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
protected final void func_276_g(World var1, int var2, int var3, int var4) {
|
||||
if (!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
return (var1.getBlockLightValueNoChecks(var2, var3, var4) >= 8 || var1.canBlockSeeTheSky(var2, var3, var4)) && this.canThisPlantGrowOnThisBlockID(var1.getBlockId(var2, var3 - 1, 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));
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,265 +1,266 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockFlowing extends BlockFluid {
|
||||
int field_659_a = 0;
|
||||
boolean[] field_658_b = new boolean[4];
|
||||
int[] field_660_c = new int[4];
|
||||
int field_659_a = 0;
|
||||
boolean[] field_658_b = new boolean[4];
|
||||
int[] field_660_c = new int[4];
|
||||
|
||||
protected BlockFlowing(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
protected BlockFlowing(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
private void func_30004_i(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var1.setBlockAndMetadata(var2, var3, var4, this.blockID + 1, var5);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
var1.markBlockNeedsUpdate(var2, var3, var4);
|
||||
}
|
||||
private void func_30004_i(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var1.setBlockAndMetadata(var2, var3, var4, this.blockID + 1, var5);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
var1.markBlockNeedsUpdate(var2, var3, var4);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = this.func_301_g(var1, var2, var3, var4);
|
||||
byte var7 = 1;
|
||||
if(this.blockMaterial == Material.lava && !var1.worldProvider.isHellWorld) {
|
||||
var7 = 2;
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = this.func_301_g(var1, var2, var3, var4);
|
||||
byte var7 = 1;
|
||||
if (this.blockMaterial == Material.lava && !var1.worldProvider.isHellWorld) {
|
||||
var7 = 2;
|
||||
}
|
||||
|
||||
boolean var8 = true;
|
||||
int var10;
|
||||
if(var6 > 0) {
|
||||
byte var9 = -100;
|
||||
this.field_659_a = 0;
|
||||
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, var3, var4 - 1, var12);
|
||||
var12 = this.func_307_e(var1, var2, var3, var4 + 1, var12);
|
||||
var10 = var12 + var7;
|
||||
if(var10 >= 8 || var12 < 0) {
|
||||
var10 = -1;
|
||||
}
|
||||
boolean var8 = true;
|
||||
int var10;
|
||||
if (var6 > 0) {
|
||||
byte var9 = -100;
|
||||
this.field_659_a = 0;
|
||||
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, var3, var4 - 1, var12);
|
||||
var12 = this.func_307_e(var1, var2, var3, var4 + 1, var12);
|
||||
var10 = var12 + var7;
|
||||
if (var10 >= 8 || var12 < 0) {
|
||||
var10 = -1;
|
||||
}
|
||||
|
||||
if(this.func_301_g(var1, var2, var3 + 1, var4) >= 0) {
|
||||
int var11 = this.func_301_g(var1, var2, var3 + 1, var4);
|
||||
if(var11 >= 8) {
|
||||
var10 = var11;
|
||||
} else {
|
||||
var10 = var11 + 8;
|
||||
}
|
||||
}
|
||||
if (this.func_301_g(var1, var2, var3 + 1, var4) >= 0) {
|
||||
int var11 = this.func_301_g(var1, var2, var3 + 1, var4);
|
||||
if (var11 >= 8) {
|
||||
var10 = var11;
|
||||
} else {
|
||||
var10 = var11 + 8;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.field_659_a >= 2 && this.blockMaterial == Material.water) {
|
||||
if(var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) {
|
||||
var10 = 0;
|
||||
} else if(var1.getBlockMaterial(var2, var3 - 1, var4) == this.blockMaterial && var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
var10 = 0;
|
||||
}
|
||||
}
|
||||
if (this.field_659_a >= 2 && this.blockMaterial == Material.water) {
|
||||
if (var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) {
|
||||
var10 = 0;
|
||||
} else if (var1.getBlockMaterial(var2, var3 - 1, var4) == this.blockMaterial && var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
var10 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(this.blockMaterial == Material.lava && var6 < 8 && var10 < 8 && var10 > var6 && var5.nextInt(4) != 0) {
|
||||
var10 = var6;
|
||||
var8 = false;
|
||||
}
|
||||
if (this.blockMaterial == Material.lava && var6 < 8 && var10 < 8 && var10 > var6 && var5.nextInt(4) != 0) {
|
||||
var10 = var6;
|
||||
var8 = false;
|
||||
}
|
||||
|
||||
if(var10 != var6) {
|
||||
var6 = var10;
|
||||
if(var10 < 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var10);
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
}
|
||||
} else if(var8) {
|
||||
this.func_30004_i(var1, var2, var3, var4);
|
||||
}
|
||||
} else {
|
||||
this.func_30004_i(var1, var2, var3, var4);
|
||||
}
|
||||
if (var10 != var6) {
|
||||
var6 = var10;
|
||||
if (var10 < 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var10);
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
}
|
||||
} else if (var8) {
|
||||
this.func_30004_i(var1, var2, var3, var4);
|
||||
}
|
||||
} else {
|
||||
this.func_30004_i(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
if(this.func_312_l(var1, var2, var3 - 1, var4)) {
|
||||
if(var6 >= 8) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6);
|
||||
} else {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6 + 8);
|
||||
}
|
||||
} else if(var6 >= 0 && (var6 == 0 || this.func_309_k(var1, var2, var3 - 1, var4))) {
|
||||
boolean[] var13 = this.func_4035_j(var1, var2, var3, var4);
|
||||
var10 = var6 + var7;
|
||||
if(var6 >= 8) {
|
||||
var10 = 1;
|
||||
}
|
||||
if (this.func_312_l(var1, var2, var3 - 1, var4)) {
|
||||
if (var6 >= 8) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6);
|
||||
} else {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, this.blockID, var6 + 8);
|
||||
}
|
||||
} else if (var6 >= 0 && (var6 == 0 || this.func_309_k(var1, var2, var3 - 1, var4))) {
|
||||
boolean[] var13 = this.func_4035_j(var1, var2, var3, var4);
|
||||
var10 = var6 + var7;
|
||||
if (var6 >= 8) {
|
||||
var10 = 1;
|
||||
}
|
||||
|
||||
if(var10 >= 8) {
|
||||
return;
|
||||
}
|
||||
if (var10 >= 8) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(var13[0]) {
|
||||
this.func_311_f(var1, var2 - 1, var3, var4, var10);
|
||||
}
|
||||
if (var13[0]) {
|
||||
this.func_311_f(var1, var2 - 1, var3, var4, var10);
|
||||
}
|
||||
|
||||
if(var13[1]) {
|
||||
this.func_311_f(var1, var2 + 1, var3, var4, var10);
|
||||
}
|
||||
if (var13[1]) {
|
||||
this.func_311_f(var1, var2 + 1, var3, var4, var10);
|
||||
}
|
||||
|
||||
if(var13[2]) {
|
||||
this.func_311_f(var1, var2, var3, var4 - 1, var10);
|
||||
}
|
||||
if (var13[2]) {
|
||||
this.func_311_f(var1, var2, var3, var4 - 1, var10);
|
||||
}
|
||||
|
||||
if(var13[3]) {
|
||||
this.func_311_f(var1, var2, var3, var4 + 1, var10);
|
||||
}
|
||||
}
|
||||
if (var13[3]) {
|
||||
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) {
|
||||
if(this.func_312_l(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockId(var2, var3, var4);
|
||||
if(var6 > 0) {
|
||||
if(this.blockMaterial == Material.lava) {
|
||||
this.func_300_h(var1, var2, var3, var4);
|
||||
} else {
|
||||
Block.blocksList[var6].dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
}
|
||||
}
|
||||
private void func_311_f(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (this.func_312_l(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockId(var2, var3, var4);
|
||||
if (var6 > 0) {
|
||||
if (this.blockMaterial == Material.lava) {
|
||||
this.func_300_h(var1, var2, var3, var4);
|
||||
} else {
|
||||
Block.blocksList[var6].dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
}
|
||||
}
|
||||
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, this.blockID, var5);
|
||||
}
|
||||
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) {
|
||||
int var7 = 1000;
|
||||
private int func_4034_a(World var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
int var7 = 1000;
|
||||
|
||||
for(int var8 = 0; var8 < 4; ++var8) {
|
||||
if((var8 != 0 || var6 != 1) && (var8 != 1 || var6 != 0) && (var8 != 2 || var6 != 3) && (var8 != 3 || var6 != 2)) {
|
||||
int var9 = var2;
|
||||
int var11 = var4;
|
||||
if(var8 == 0) {
|
||||
var9 = var2 - 1;
|
||||
}
|
||||
for (int var8 = 0; var8 < 4; ++var8) {
|
||||
if ((var8 != 0 || var6 != 1) && (var8 != 1 || var6 != 0) && (var8 != 2 || var6 != 3) && (var8 != 3 || var6 != 2)) {
|
||||
int var9 = var2;
|
||||
int var11 = var4;
|
||||
if (var8 == 0) {
|
||||
var9 = var2 - 1;
|
||||
}
|
||||
|
||||
if(var8 == 1) {
|
||||
++var9;
|
||||
}
|
||||
if (var8 == 1) {
|
||||
++var9;
|
||||
}
|
||||
|
||||
if(var8 == 2) {
|
||||
var11 = var4 - 1;
|
||||
}
|
||||
if (var8 == 2) {
|
||||
var11 = var4 - 1;
|
||||
}
|
||||
|
||||
if(var8 == 3) {
|
||||
++var11;
|
||||
}
|
||||
if (var8 == 3) {
|
||||
++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 - 1, var11)) {
|
||||
return var5;
|
||||
}
|
||||
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)) {
|
||||
return var5;
|
||||
}
|
||||
|
||||
if(var5 < 4) {
|
||||
int var12 = this.func_4034_a(var1, var9, var3, var11, var5 + 1, var8);
|
||||
if(var12 < var7) {
|
||||
var7 = var12;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var5 < 4) {
|
||||
int var12 = this.func_4034_a(var1, var9, var3, var11, var5 + 1, var8);
|
||||
if (var12 < var7) {
|
||||
var7 = var12;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var7;
|
||||
}
|
||||
return var7;
|
||||
}
|
||||
|
||||
private boolean[] func_4035_j(World var1, int var2, int var3, int var4) {
|
||||
int var5;
|
||||
int var6;
|
||||
for(var5 = 0; var5 < 4; ++var5) {
|
||||
this.field_660_c[var5] = 1000;
|
||||
var6 = var2;
|
||||
int var8 = var4;
|
||||
if(var5 == 0) {
|
||||
var6 = var2 - 1;
|
||||
}
|
||||
private boolean[] func_4035_j(World var1, int var2, int var3, int var4) {
|
||||
int var5;
|
||||
int var6;
|
||||
for (var5 = 0; var5 < 4; ++var5) {
|
||||
this.field_660_c[var5] = 1000;
|
||||
var6 = var2;
|
||||
int var8 = var4;
|
||||
if (var5 == 0) {
|
||||
var6 = var2 - 1;
|
||||
}
|
||||
|
||||
if(var5 == 1) {
|
||||
++var6;
|
||||
}
|
||||
if (var5 == 1) {
|
||||
++var6;
|
||||
}
|
||||
|
||||
if(var5 == 2) {
|
||||
var8 = var4 - 1;
|
||||
}
|
||||
if (var5 == 2) {
|
||||
var8 = var4 - 1;
|
||||
}
|
||||
|
||||
if(var5 == 3) {
|
||||
++var8;
|
||||
}
|
||||
if (var5 == 3) {
|
||||
++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 - 1, var8)) {
|
||||
this.field_660_c[var5] = 0;
|
||||
} else {
|
||||
this.field_660_c[var5] = this.func_4034_a(var1, var6, var3, var8, 1, var5);
|
||||
}
|
||||
}
|
||||
}
|
||||
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)) {
|
||||
this.field_660_c[var5] = 0;
|
||||
} else {
|
||||
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) {
|
||||
if(this.field_660_c[var6] < var5) {
|
||||
var5 = this.field_660_c[var6];
|
||||
}
|
||||
}
|
||||
for (var6 = 1; var6 < 4; ++var6) {
|
||||
if (this.field_660_c[var6] < var5) {
|
||||
var5 = this.field_660_c[var6];
|
||||
}
|
||||
}
|
||||
|
||||
for(var6 = 0; var6 < 4; ++var6) {
|
||||
this.field_658_b[var6] = this.field_660_c[var6] == var5;
|
||||
}
|
||||
for (var6 = 0; var6 < 4; ++var6) {
|
||||
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) {
|
||||
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 == 0) {
|
||||
return false;
|
||||
} else {
|
||||
Material var6 = Block.blocksList[var5].blockMaterial;
|
||||
return var6.getIsSolid();
|
||||
}
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean func_309_k(World var1, int var2, int var3, int 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 == 0) {
|
||||
return false;
|
||||
} else {
|
||||
Material var6 = Block.blocksList[var5].blockMaterial;
|
||||
return var6.getIsSolid();
|
||||
}
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
if(var6 < 0) {
|
||||
return var5;
|
||||
} else {
|
||||
if(var6 == 0) {
|
||||
++this.field_659_a;
|
||||
}
|
||||
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);
|
||||
if (var6 < 0) {
|
||||
return var5;
|
||||
} else {
|
||||
if (var6 == 0) {
|
||||
++this.field_659_a;
|
||||
}
|
||||
|
||||
if(var6 >= 8) {
|
||||
var6 = 0;
|
||||
}
|
||||
if (var6 >= 8) {
|
||||
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) {
|
||||
Material var5 = var1.getBlockMaterial(var2, var3, var4);
|
||||
return var5 == this.blockMaterial ? false : (var5 == Material.lava ? false : !this.func_309_k(var1, var2, var3, var4));
|
||||
}
|
||||
private boolean func_312_l(World var1, int var2, int var3, int var4) {
|
||||
Material var5 = var1.getBlockMaterial(var2, var3, var4);
|
||||
return var5 == this.blockMaterial ? false : (var5 == Material.lava ? false : !this.func_309_k(var1, var2, var3, var4));
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
if(var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
if (var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
|
|
@ -8,224 +7,226 @@ import net.minecraft.math.Vec3D;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public abstract class BlockFluid extends Block {
|
||||
protected BlockFluid(int var1, Material var2) {
|
||||
super(var1, (var2 == Material.lava ? 14 : 12) * 16 + 13, var2);
|
||||
float var3 = 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.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockFluid(int var1, Material var2) {
|
||||
super(var1, (var2 == Material.lava ? 14 : 12) * 16 + 13, var2);
|
||||
float var3 = 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.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public static float setFluidHeight(int var0) {
|
||||
if(var0 >= 8) {
|
||||
var0 = 0;
|
||||
}
|
||||
public static float setFluidHeight(int var0) {
|
||||
if (var0 >= 8) {
|
||||
var0 = 0;
|
||||
}
|
||||
|
||||
float var1 = (float)(var0 + 1) / 9.0F;
|
||||
return var1;
|
||||
}
|
||||
float var1 = (float) (var0 + 1) / 9.0F;
|
||||
return var1;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 != 0 && var1 != 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 != 0 && var1 != 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
protected int func_303_b(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
if(var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial) {
|
||||
return -1;
|
||||
} else {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var5 >= 8) {
|
||||
var5 = 0;
|
||||
}
|
||||
protected int func_303_b(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
if (var1.getBlockMaterial(var2, var3, var4) != this.blockMaterial) {
|
||||
return -1;
|
||||
} else {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var5 >= 8) {
|
||||
var5 = 0;
|
||||
}
|
||||
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
return var5;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canCollideCheck(int var1, boolean var2) {
|
||||
return var2 && var1 == 0;
|
||||
}
|
||||
public boolean canCollideCheck(int var1, boolean var2) {
|
||||
return var2 && var1 == 0;
|
||||
}
|
||||
|
||||
public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
Material var6 = var1.getBlockMaterial(var2, var3, var4);
|
||||
return var6 == this.blockMaterial ? false : (var6 == Material.ice ? false : (var5 == 1 ? true : super.shouldSideBeRendered(var1, var2, var3, var4, var5)));
|
||||
}
|
||||
public boolean shouldSideBeRendered(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
Material var6 = var1.getBlockMaterial(var2, var3, var4);
|
||||
return var6 == this.blockMaterial ? false : (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) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
private Vec3D func_298_c(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
Vec3D var5 = Vec3D.createVector(0.0D, 0.0D, 0.0D);
|
||||
int var6 = this.func_303_b(var1, var2, var3, var4);
|
||||
private Vec3D func_298_c(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
Vec3D var5 = Vec3D.createVector(0.0D, 0.0D, 0.0D);
|
||||
int var6 = this.func_303_b(var1, var2, var3, var4);
|
||||
|
||||
for(int var7 = 0; var7 < 4; ++var7) {
|
||||
int var8 = var2;
|
||||
int var10 = var4;
|
||||
if(var7 == 0) {
|
||||
var8 = var2 - 1;
|
||||
}
|
||||
for (int var7 = 0; var7 < 4; ++var7) {
|
||||
int var8 = var2;
|
||||
int var10 = var4;
|
||||
if (var7 == 0) {
|
||||
var8 = var2 - 1;
|
||||
}
|
||||
|
||||
if(var7 == 1) {
|
||||
var10 = var4 - 1;
|
||||
}
|
||||
if (var7 == 1) {
|
||||
var10 = var4 - 1;
|
||||
}
|
||||
|
||||
if(var7 == 2) {
|
||||
++var8;
|
||||
}
|
||||
if (var7 == 2) {
|
||||
++var8;
|
||||
}
|
||||
|
||||
if(var7 == 3) {
|
||||
++var10;
|
||||
}
|
||||
if (var7 == 3) {
|
||||
++var10;
|
||||
}
|
||||
|
||||
int var11 = this.func_303_b(var1, var8, var3, var10);
|
||||
int var12;
|
||||
if(var11 < 0) {
|
||||
if(!var1.getBlockMaterial(var8, var3, var10).getIsSolid()) {
|
||||
var11 = this.func_303_b(var1, var8, var3 - 1, var10);
|
||||
if(var11 >= 0) {
|
||||
var12 = var11 - (var6 - 8);
|
||||
var5 = var5.addVector((double)((var8 - var2) * var12), (double)((var3 - var3) * var12), (double)((var10 - var4) * var12));
|
||||
}
|
||||
}
|
||||
} else if(var11 >= 0) {
|
||||
var12 = var11 - var6;
|
||||
var5 = var5.addVector((double)((var8 - var2) * var12), (double)((var3 - var3) * var12), (double)((var10 - var4) * var12));
|
||||
}
|
||||
}
|
||||
int var11 = this.func_303_b(var1, var8, var3, var10);
|
||||
int var12;
|
||||
if (var11 < 0) {
|
||||
if (!var1.getBlockMaterial(var8, var3, var10).getIsSolid()) {
|
||||
var11 = this.func_303_b(var1, var8, var3 - 1, var10);
|
||||
if (var11 >= 0) {
|
||||
var12 = var11 - (var6 - 8);
|
||||
var5 = var5.addVector((double) ((var8 - var2) * var12), (double) ((var3 - var3) * var12), (double) ((var10 - var4) * var12));
|
||||
}
|
||||
}
|
||||
} else if (var11 >= 0) {
|
||||
var12 = var11 - var6;
|
||||
var5 = var5.addVector((double) ((var8 - var2) * var12), (double) ((var3 - var3) * var12), (double) ((var10 - var4) * var12));
|
||||
}
|
||||
}
|
||||
|
||||
if(var1.getBlockMetadata(var2, var3, var4) >= 8) {
|
||||
boolean var13 = false;
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2, var3, var4 - 1, 2)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var1.getBlockMetadata(var2, var3, var4) >= 8) {
|
||||
boolean var13 = false;
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2, var3, var4 - 1, 2)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2, var3, var4 + 1, 3)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2, var3, var4 + 1, 3)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2 - 1, var3, var4, 4)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2 - 1, var3, var4, 4)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2 + 1, var3, var4, 5)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2 + 1, var3, var4, 5)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 - 1, 2)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 - 1, 2)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 + 1, 3)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2, var3 + 1, var4 + 1, 3)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2 - 1, var3 + 1, var4, 4)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2 - 1, var3 + 1, var4, 4)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13 || this.shouldSideBeRendered(var1, var2 + 1, var3 + 1, var4, 5)) {
|
||||
var13 = true;
|
||||
}
|
||||
if (var13 || this.shouldSideBeRendered(var1, var2 + 1, var3 + 1, var4, 5)) {
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if(var13) {
|
||||
var5 = var5.normalize().addVector(0.0D, -6.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
if (var13) {
|
||||
var5 = var5.normalize().addVector(0.0D, -6.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
|
||||
var5 = var5.normalize();
|
||||
return var5;
|
||||
}
|
||||
var5 = var5.normalize();
|
||||
return var5;
|
||||
}
|
||||
|
||||
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);
|
||||
var6.xCoord += var7.xCoord;
|
||||
var6.yCoord += var7.yCoord;
|
||||
var6.zCoord += var7.zCoord;
|
||||
}
|
||||
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);
|
||||
var6.xCoord += var7.xCoord;
|
||||
var6.yCoord += var7.yCoord;
|
||||
var6.zCoord += var7.zCoord;
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return this.blockMaterial == Material.water ? 5 : (this.blockMaterial == Material.lava ? 30 : 0);
|
||||
}
|
||||
public int tickRate() {
|
||||
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) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
this.checkForHarden(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
this.checkForHarden(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.checkForHarden(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.checkForHarden(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
private void checkForHarden(World var1, int var2, int var3, int var4) {
|
||||
if(var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
if(this.blockMaterial == Material.lava) {
|
||||
boolean var5 = false;
|
||||
if(var5 || var1.getBlockMaterial(var2, var3, var4 - 1) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
private void checkForHarden(World var1, int var2, int var3, int var4) {
|
||||
if (var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
if (this.blockMaterial == Material.lava) {
|
||||
boolean var5 = false;
|
||||
if (var5 || var1.getBlockMaterial(var2, var3, var4 - 1) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
|
||||
if(var5 || var1.getBlockMaterial(var2, var3, var4 + 1) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
if (var5 || var1.getBlockMaterial(var2, var3, var4 + 1) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
|
||||
if(var5 || var1.getBlockMaterial(var2 - 1, var3, var4) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
if (var5 || var1.getBlockMaterial(var2 - 1, var3, var4) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
|
||||
if(var5 || var1.getBlockMaterial(var2 + 1, var3, var4) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
if (var5 || var1.getBlockMaterial(var2 + 1, var3, var4) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
|
||||
if(var5 || var1.getBlockMaterial(var2, var3 + 1, var4) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
if (var5 || var1.getBlockMaterial(var2, var3 + 1, var4) == Material.water) {
|
||||
var5 = true;
|
||||
}
|
||||
|
||||
if(var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var6 == 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.obsidian.blockID);
|
||||
} else if(var6 <= 4) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.cobblestone.blockID);
|
||||
}
|
||||
if (var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var6 == 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.obsidian.blockID);
|
||||
} else if (var6 <= 4) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.cobblestone.blockID);
|
||||
}
|
||||
|
||||
this.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) {
|
||||
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);
|
||||
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);
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.block.tile.TileEntityFurnace;
|
||||
|
|
@ -11,136 +10,138 @@ import net.minecraft.item.crafting.ItemStack;
|
|||
import net.minecraft.math.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockFurnace extends BlockContainer {
|
||||
private Random field_28033_a = new Random();
|
||||
private final boolean isActive;
|
||||
private static boolean field_28034_c = false;
|
||||
private Random field_28033_a = new Random();
|
||||
private final boolean isActive;
|
||||
private static boolean field_28034_c = false;
|
||||
|
||||
protected BlockFurnace(int var1, boolean var2) {
|
||||
super(var1, Material.rock);
|
||||
this.isActive = var2;
|
||||
this.blockIndexInTexture = 45;
|
||||
}
|
||||
protected BlockFurnace(int var1, boolean var2) {
|
||||
super(var1, Material.rock);
|
||||
this.isActive = var2;
|
||||
this.blockIndexInTexture = 45;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.stoneOvenIdle.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.stoneOvenIdle.blockID;
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
this.setDefaultDirection(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
this.setDefaultDirection(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
private void setDefaultDirection(World var1, int var2, int var3, int var4) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var5 = var1.getBlockId(var2, var3, var4 - 1);
|
||||
int var6 = var1.getBlockId(var2, var3, var4 + 1);
|
||||
int var7 = var1.getBlockId(var2 - 1, var3, var4);
|
||||
int var8 = var1.getBlockId(var2 + 1, var3, var4);
|
||||
byte var9 = 3;
|
||||
if(Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) {
|
||||
var9 = 3;
|
||||
}
|
||||
private void setDefaultDirection(World var1, int var2, int var3, int var4) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var5 = var1.getBlockId(var2, var3, var4 - 1);
|
||||
int var6 = var1.getBlockId(var2, var3, var4 + 1);
|
||||
int var7 = var1.getBlockId(var2 - 1, var3, var4);
|
||||
int var8 = var1.getBlockId(var2 + 1, var3, var4);
|
||||
byte var9 = 3;
|
||||
if (Block.opaqueCubeLookup[var5] && !Block.opaqueCubeLookup[var6]) {
|
||||
var9 = 3;
|
||||
}
|
||||
|
||||
if(Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) {
|
||||
var9 = 2;
|
||||
}
|
||||
if (Block.opaqueCubeLookup[var6] && !Block.opaqueCubeLookup[var5]) {
|
||||
var9 = 2;
|
||||
}
|
||||
|
||||
if(Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) {
|
||||
var9 = 5;
|
||||
}
|
||||
if (Block.opaqueCubeLookup[var7] && !Block.opaqueCubeLookup[var8]) {
|
||||
var9 = 5;
|
||||
}
|
||||
|
||||
if(Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) {
|
||||
var9 = 4;
|
||||
}
|
||||
if (Block.opaqueCubeLookup[var8] && !Block.opaqueCubeLookup[var7]) {
|
||||
var9 = 4;
|
||||
}
|
||||
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
|
||||
}
|
||||
}
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture + 17 : (var1 == 0 ? this.blockIndexInTexture + 17 : (var1 == 3 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture));
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
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) {
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
TileEntityFurnace var6 = (TileEntityFurnace)var1.getBlockTileEntity(var2, var3, var4);
|
||||
var5.displayGUIFurnace(var6);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
TileEntityFurnace var6 = (TileEntityFurnace) var1.getBlockTileEntity(var2, var3, var4);
|
||||
var5.displayGUIFurnace(var6);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static void updateFurnaceBlockState(boolean var0, World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
field_28034_c = true;
|
||||
if(var0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenActive.blockID);
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenIdle.blockID);
|
||||
}
|
||||
public static void updateFurnaceBlockState(boolean var0, World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
field_28034_c = true;
|
||||
if (var0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenActive.blockID);
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.stoneOvenIdle.blockID);
|
||||
}
|
||||
|
||||
field_28034_c = false;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var5);
|
||||
var6.validate();
|
||||
var1.setBlockTileEntity(var2, var3, var4, var6);
|
||||
}
|
||||
field_28034_c = false;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var5);
|
||||
var6.validate();
|
||||
var1.setBlockTileEntity(var2, var3, var4, var6);
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityFurnace();
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityFurnace();
|
||||
}
|
||||
|
||||
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;
|
||||
if(var6 == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
}
|
||||
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;
|
||||
if (var6 == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
}
|
||||
|
||||
if(var6 == 1) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
|
||||
}
|
||||
if (var6 == 1) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
|
||||
}
|
||||
|
||||
if(var6 == 2) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
}
|
||||
if (var6 == 2) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
}
|
||||
|
||||
if(var6 == 3) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
|
||||
}
|
||||
if (var6 == 3) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
if(!field_28034_c) {
|
||||
TileEntityFurnace var5 = (TileEntityFurnace)var1.getBlockTileEntity(var2, var3, var4);
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
if (!field_28034_c) {
|
||||
TileEntityFurnace var5 = (TileEntityFurnace) var1.getBlockTileEntity(var2, var3, var4);
|
||||
|
||||
for(int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
|
||||
ItemStack var7 = var5.getStackInSlot(var6);
|
||||
if(var7 != null) {
|
||||
float var8 = 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;
|
||||
for (int var6 = 0; var6 < var5.getSizeInventory(); ++var6) {
|
||||
ItemStack var7 = var5.getStackInSlot(var6);
|
||||
if (var7 != null) {
|
||||
float var8 = 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;
|
||||
|
||||
while(var7.stackSize > 0) {
|
||||
int var11 = this.field_28033_a.nextInt(21) + 10;
|
||||
if(var11 > var7.stackSize) {
|
||||
var11 = var7.stackSize;
|
||||
}
|
||||
while (var7.stackSize > 0) {
|
||||
int var11 = this.field_28033_a.nextInt(21) + 10;
|
||||
if (var11 > var7.stackSize) {
|
||||
var11 = var7.stackSize;
|
||||
}
|
||||
|
||||
var7.stackSize -= var11;
|
||||
EntityItem var12 = new EntityItem(var1, (double)((float)var2 + var8), (double)((float)var3 + var9), (double)((float)var4 + var10), new ItemStack(var7.itemID, var11, var7.getItemDamage()));
|
||||
float var13 = 0.05F;
|
||||
var12.motionX = (double)((float)this.field_28033_a.nextGaussian() * var13);
|
||||
var12.motionY = (double)((float)this.field_28033_a.nextGaussian() * var13 + 0.2F);
|
||||
var12.motionZ = (double)((float)this.field_28033_a.nextGaussian() * var13);
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
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()));
|
||||
float var13 = 0.05F;
|
||||
var12.motionX = (double) ((float) this.field_28033_a.nextGaussian() * var13);
|
||||
var12.motionY = (double) ((float) this.field_28033_a.nextGaussian() * var13 + 0.2F);
|
||||
var12.motionZ = (double) ((float) this.field_28033_a.nextGaussian() * var13);
|
||||
var1.entityJoinedWorld(var12);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockGlass extends BlockBreakable {
|
||||
public BlockGlass(int var1, int var2, Material var3, boolean var4) {
|
||||
super(var1, var2, var3, var4);
|
||||
}
|
||||
import java.util.Random;
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public class BlockGlass extends BlockBreakable {
|
||||
public BlockGlass(int var1, int var2, Material var3, boolean var4) {
|
||||
super(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,20 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockGlowStone extends Block {
|
||||
public BlockGlowStone(int var1, int var2, Material var3) {
|
||||
super(var1, var2, var3);
|
||||
}
|
||||
public BlockGlowStone(int var1, int var2, Material var3) {
|
||||
super(var1, var2, var3);
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 2 + var1.nextInt(3);
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 2 + var1.nextInt(3);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.lightStoneDust.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.lightStoneDust.shiftedIndex;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +1,39 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockGrass extends Block {
|
||||
protected BlockGrass(int var1) {
|
||||
super(var1, Material.grass);
|
||||
this.blockIndexInTexture = 3;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockGrass(int var1) {
|
||||
super(var1, Material.grass);
|
||||
this.blockIndexInTexture = 3;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
if(var1.getBlockLightValue(var2, var3 + 1, var4) < 4 && Block.lightOpacity[var1.getBlockId(var2, var3 + 1, var4)] > 2) {
|
||||
if(var5.nextInt(4) != 0) {
|
||||
return;
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
if (var1.getBlockLightValue(var2, var3 + 1, var4) < 4 && Block.lightOpacity[var1.getBlockId(var2, var3 + 1, var4)] > 2) {
|
||||
if (var5.nextInt(4) != 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
} else if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) {
|
||||
int var6 = var2 + var5.nextInt(3) - 1;
|
||||
int var7 = var3 + var5.nextInt(5) - 3;
|
||||
int var8 = var4 + var5.nextInt(3) - 1;
|
||||
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) {
|
||||
var1.setBlockWithNotify(var6, var7, var8, Block.grass.blockID);
|
||||
}
|
||||
}
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.dirt.blockID);
|
||||
} else if (var1.getBlockLightValue(var2, var3 + 1, var4) >= 9) {
|
||||
int var6 = var2 + var5.nextInt(3) - 1;
|
||||
int var7 = var3 + var5.nextInt(5) - 3;
|
||||
int var8 = var4 + var5.nextInt(3) - 1;
|
||||
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) {
|
||||
var1.setBlockWithNotify(var6, var7, var8, Block.grass.blockID);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.dirt.idDropped(0, var2);
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.dirt.idDropped(0, var2);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
public class BlockGravel extends BlockSand {
|
||||
public BlockGravel(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
import java.util.Random;
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return var2.nextInt(10) == 0 ? Item.flint.shiftedIndex : this.blockID;
|
||||
}
|
||||
public class BlockGravel extends BlockSand {
|
||||
public BlockGravel(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return var2.nextInt(10) == 0 ? Item.flint.shiftedIndex : this.blockID;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,40 +1,41 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.world.EnumLightSource;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockIce extends BlockBreakable {
|
||||
public BlockIce(int var1, int var2) {
|
||||
super(var1, var2, Material.ice, false);
|
||||
this.slipperiness = 0.98F;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
public BlockIce(int var1, int var2) {
|
||||
super(var1, var2, Material.ice, false);
|
||||
this.slipperiness = 0.98F;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
|
||||
super.harvestBlock(var1, var2, var3, var4, var5, var6);
|
||||
Material var7 = var1.getBlockMaterial(var3, var4 - 1, var5);
|
||||
if(var7.getIsSolid() || var7.getIsLiquid()) {
|
||||
var1.setBlockWithNotify(var3, var4, var5, Block.waterMoving.blockID);
|
||||
}
|
||||
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
|
||||
super.harvestBlock(var1, var2, var3, var4, var5, var6);
|
||||
Material var7 = var1.getBlockMaterial(var3, var4 - 1, var5);
|
||||
if (var7.getIsSolid() || var7.getIsLiquid()) {
|
||||
var1.setBlockWithNotify(var3, var4, var5, Block.waterMoving.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
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]) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.waterStill.blockID);
|
||||
}
|
||||
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]) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.waterStill.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int getMobilityFlag() {
|
||||
return 0;
|
||||
}
|
||||
public int getMobilityFlag() {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,65 +9,65 @@ import net.minecraft.item.crafting.ItemStack;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockJukeBox extends BlockContainer {
|
||||
protected BlockJukeBox(int var1, int var2) {
|
||||
super(var1, var2, Material.wood);
|
||||
}
|
||||
protected BlockJukeBox(int var1, int var2) {
|
||||
super(var1, var2, Material.wood);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.blockIndexInTexture + (var1 == 1 ? 1 : 0);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.blockIndexInTexture + (var1 == 1 ? 1 : 0);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
return false;
|
||||
} else {
|
||||
this.func_28035_b_(var1, var2, var3, var4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
return false;
|
||||
} else {
|
||||
this.func_28035_b_(var1, var2, var3, var4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void ejectRecord(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
TileEntityRecordPlayer var6 = (TileEntityRecordPlayer)var1.getBlockTileEntity(var2, var3, var4);
|
||||
var6.field_28009_a = var5;
|
||||
var6.onInventoryChanged();
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
}
|
||||
}
|
||||
public void ejectRecord(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
TileEntityRecordPlayer var6 = (TileEntityRecordPlayer) var1.getBlockTileEntity(var2, var3, var4);
|
||||
var6.field_28009_a = var5;
|
||||
var6.onInventoryChanged();
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
}
|
||||
}
|
||||
|
||||
public void func_28035_b_(World var1, int var2, int var3, int var4) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
TileEntityRecordPlayer var5 = (TileEntityRecordPlayer)var1.getBlockTileEntity(var2, var3, var4);
|
||||
int var6 = var5.field_28009_a;
|
||||
if(var6 != 0) {
|
||||
var1.func_28097_e(1005, var2, var3, var4, 0);
|
||||
var1.playRecord((String)null, var2, var3, var4);
|
||||
var5.field_28009_a = 0;
|
||||
var5.onInventoryChanged();
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
float var8 = 0.7F;
|
||||
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 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));
|
||||
var15.delayBeforeCanPickup = 10;
|
||||
var1.entityJoinedWorld(var15);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void func_28035_b_(World var1, int var2, int var3, int var4) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
TileEntityRecordPlayer var5 = (TileEntityRecordPlayer) var1.getBlockTileEntity(var2, var3, var4);
|
||||
int var6 = var5.field_28009_a;
|
||||
if (var6 != 0) {
|
||||
var1.func_28097_e(1005, var2, var3, var4, 0);
|
||||
var1.playRecord((String) null, var2, var3, var4);
|
||||
var5.field_28009_a = 0;
|
||||
var5.onInventoryChanged();
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
float var8 = 0.7F;
|
||||
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 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));
|
||||
var15.delayBeforeCanPickup = 10;
|
||||
var1.entityJoinedWorld(var15);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
this.func_28035_b_(var1, var2, var3, var4);
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
this.func_28035_b_(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) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
}
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
super.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityRecordPlayer();
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityRecordPlayer();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,98 +1,99 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockLadder extends Block {
|
||||
protected BlockLadder(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
}
|
||||
protected BlockLadder(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 2.0F / 16.0F;
|
||||
if(var5 == 2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 1.0F - var6, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 2.0F / 16.0F;
|
||||
if (var5 == 2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 1.0F - var6, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(var5 == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var6);
|
||||
}
|
||||
if (var5 == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var6);
|
||||
}
|
||||
|
||||
if(var5 == 4) {
|
||||
this.setBlockBounds(1.0F - var6, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
if (var5 == 4) {
|
||||
this.setBlockBounds(1.0F - var6, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if(var5 == 5) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, var6, 1.0F, 1.0F);
|
||||
}
|
||||
if (var5 == 5) {
|
||||
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() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : var1.isBlockNormalCube(var2, var3, var4 + 1)));
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : var1.isBlockNormalCube(var2, var3, var4 + 1)));
|
||||
}
|
||||
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 == 0 || var5 == 2) && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 2;
|
||||
}
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 == 0 || var5 == 2) && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 2;
|
||||
}
|
||||
|
||||
if((var6 == 0 || var5 == 3) && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
}
|
||||
if ((var6 == 0 || var5 == 3) && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
}
|
||||
|
||||
if((var6 == 0 || var5 == 4) && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 4;
|
||||
}
|
||||
if ((var6 == 0 || var5 == 4) && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 4;
|
||||
}
|
||||
|
||||
if((var6 == 0 || var5 == 5) && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var6 = 5;
|
||||
}
|
||||
if ((var6 == 0 || var5 == 5) && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
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) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = false;
|
||||
if(var6 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var7 = true;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = false;
|
||||
if (var6 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var6 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var7 = true;
|
||||
}
|
||||
if (var6 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var6 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var7 = true;
|
||||
}
|
||||
if (var6 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var6 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var7 = true;
|
||||
}
|
||||
if (var6 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
if (!var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
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) {
|
||||
return 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
|
|
@ -9,165 +8,167 @@ import net.minecraft.item.crafting.ItemStack;
|
|||
import net.minecraft.statistics.StatList;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockLeaves extends BlockLeavesBase {
|
||||
private int baseIndexInPNG;
|
||||
int[] adjacentTreeBlocks;
|
||||
private int baseIndexInPNG;
|
||||
int[] adjacentTreeBlocks;
|
||||
|
||||
protected BlockLeaves(int var1, int var2) {
|
||||
super(var1, var2, Material.leaves, false);
|
||||
this.baseIndexInPNG = var2;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockLeaves(int var1, int var2) {
|
||||
super(var1, var2, Material.leaves, false);
|
||||
this.baseIndexInPNG = var2;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 1;
|
||||
int var6 = var5 + 1;
|
||||
if(var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) {
|
||||
for(int var7 = -var5; var7 <= var5; ++var7) {
|
||||
for(int var8 = -var5; var8 <= var5; ++var8) {
|
||||
for(int var9 = -var5; var9 <= var5; ++var9) {
|
||||
int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9);
|
||||
if(var10 == Block.leaves.blockID) {
|
||||
int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9);
|
||||
var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 1;
|
||||
int var6 = var5 + 1;
|
||||
if (var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) {
|
||||
for (int var7 = -var5; var7 <= var5; ++var7) {
|
||||
for (int var8 = -var5; var8 <= var5; ++var8) {
|
||||
for (int var9 = -var5; var9 <= var5; ++var9) {
|
||||
int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9);
|
||||
if (var10 == Block.leaves.blockID) {
|
||||
int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9);
|
||||
var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) != 0) {
|
||||
byte var7 = 4;
|
||||
int var8 = var7 + 1;
|
||||
byte var9 = 32;
|
||||
int var10 = var9 * var9;
|
||||
int var11 = var9 / 2;
|
||||
if(this.adjacentTreeBlocks == null) {
|
||||
this.adjacentTreeBlocks = new int[var9 * var9 * var9];
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) != 0) {
|
||||
byte var7 = 4;
|
||||
int var8 = var7 + 1;
|
||||
byte var9 = 32;
|
||||
int var10 = var9 * var9;
|
||||
int var11 = var9 / 2;
|
||||
if (this.adjacentTreeBlocks == null) {
|
||||
this.adjacentTreeBlocks = new int[var9 * var9 * var9];
|
||||
}
|
||||
|
||||
int var12;
|
||||
if(var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) {
|
||||
var12 = -var7;
|
||||
int var12;
|
||||
if (var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) {
|
||||
var12 = -var7;
|
||||
|
||||
label111:
|
||||
while(true) {
|
||||
int var13;
|
||||
int var14;
|
||||
int var15;
|
||||
if(var12 > var7) {
|
||||
var12 = 1;
|
||||
label111:
|
||||
while (true) {
|
||||
int var13;
|
||||
int var14;
|
||||
int var15;
|
||||
if (var12 > var7) {
|
||||
var12 = 1;
|
||||
|
||||
while(true) {
|
||||
if(var12 > 4) {
|
||||
break label111;
|
||||
}
|
||||
while (true) {
|
||||
if (var12 > 4) {
|
||||
break label111;
|
||||
}
|
||||
|
||||
for(var13 = -var7; var13 <= var7; ++var13) {
|
||||
for(var14 = -var7; var14 <= var7; ++var14) {
|
||||
for(var15 = -var7; var15 <= var7; ++var15) {
|
||||
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) {
|
||||
this.adjacentTreeBlocks[(var13 + var11 - 1) * var10 + (var14 + var11) * var9 + var15 + var11] = var12;
|
||||
}
|
||||
for (var13 = -var7; var13 <= var7; ++var13) {
|
||||
for (var14 = -var7; var14 <= var7; ++var14) {
|
||||
for (var15 = -var7; var15 <= var7; ++var15) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
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) {
|
||||
this.adjacentTreeBlocks[(var13 + var11) * var10 + (var14 + var11) * var9 + var15 + var11 + 1] = var12;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
++var12;
|
||||
}
|
||||
}
|
||||
++var12;
|
||||
}
|
||||
}
|
||||
|
||||
for(var13 = -var7; var13 <= var7; ++var13) {
|
||||
for(var14 = -var7; var14 <= var7; ++var14) {
|
||||
var15 = var1.getBlockId(var2 + var12, var3 + var13, var4 + var14);
|
||||
if(var15 == Block.wood.blockID) {
|
||||
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = 0;
|
||||
} else if(var15 == Block.leaves.blockID) {
|
||||
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -2;
|
||||
} else {
|
||||
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (var13 = -var7; var13 <= var7; ++var13) {
|
||||
for (var14 = -var7; var14 <= var7; ++var14) {
|
||||
var15 = var1.getBlockId(var2 + var12, var3 + var13, var4 + var14);
|
||||
if (var15 == Block.wood.blockID) {
|
||||
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = 0;
|
||||
} else if (var15 == Block.leaves.blockID) {
|
||||
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -2;
|
||||
} else {
|
||||
this.adjacentTreeBlocks[(var12 + var11) * var10 + (var13 + var11) * var9 + var14 + var11] = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
++var12;
|
||||
}
|
||||
}
|
||||
++var12;
|
||||
}
|
||||
}
|
||||
|
||||
var12 = this.adjacentTreeBlocks[var11 * var10 + var11 * var9 + var11];
|
||||
if(var12 >= 0) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var6 & -9);
|
||||
} else {
|
||||
this.removeLeaves(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
var12 = this.adjacentTreeBlocks[var11 * var10 + var11 * var9 + var11];
|
||||
if (var12 >= 0) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var6 & -9);
|
||||
} else {
|
||||
this.removeLeaves(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void removeLeaves(World var1, int var2, int var3, int var4) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
private void removeLeaves(World var1, int var2, int var3, int var4) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return var1.nextInt(20) == 0 ? 1 : 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return var1.nextInt(20) == 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.sapling.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.sapling.blockID;
|
||||
}
|
||||
|
||||
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) {
|
||||
var2.addStat(StatList.mineBlockStatArray[this.blockID], 1);
|
||||
this.dropBlockAsItem_do(var1, var3, var4, var5, new ItemStack(Block.leaves.blockID, 1, var6 & 3));
|
||||
} else {
|
||||
super.harvestBlock(var1, var2, var3, var4, var5, 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) {
|
||||
var2.addStat(StatList.mineBlockStatArray[this.blockID], 1);
|
||||
this.dropBlockAsItem_do(var1, var3, var4, var5, new ItemStack(Block.leaves.blockID, 1, var6 & 3));
|
||||
} else {
|
||||
super.harvestBlock(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected int damageDropped(int var1) {
|
||||
return var1 & 3;
|
||||
}
|
||||
protected int damageDropped(int var1) {
|
||||
return var1 & 3;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return !this.graphicsLevel;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return !this.graphicsLevel;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return (var2 & 3) == 1 ? this.blockIndexInTexture + 80 : this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return (var2 & 3) == 1 ? this.blockIndexInTexture + 80 : this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
super.onEntityWalking(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
super.onEntityWalking(var1, var2, var3, var4, var5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockLeavesBase extends Block {
|
||||
protected boolean graphicsLevel;
|
||||
protected boolean graphicsLevel;
|
||||
|
||||
protected BlockLeavesBase(int var1, int var2, Material var3, boolean var4) {
|
||||
super(var1, var2, var3);
|
||||
this.graphicsLevel = var4;
|
||||
}
|
||||
protected BlockLeavesBase(int var1, int var2, Material var3, boolean var4) {
|
||||
super(var1, var2, var3);
|
||||
this.graphicsLevel = var4;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,194 +7,194 @@ import net.minecraft.world.IBlockAccess;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockLever extends Block {
|
||||
protected BlockLever(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
}
|
||||
protected BlockLever(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
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))));
|
||||
}
|
||||
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))));
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : var1.isBlockNormalCube(var2, var3 - 1, var4))));
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2 - 1, var3, var4) ? true : (var1.isBlockNormalCube(var2 + 1, var3, var4) ? true : (var1.isBlockNormalCube(var2, var3, var4 - 1) ? true : (var1.isBlockNormalCube(var2, var3, var4 + 1) ? true : var1.isBlockNormalCube(var2, var3 - 1, var4))));
|
||||
}
|
||||
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 8;
|
||||
var6 &= 7;
|
||||
var6 = -1;
|
||||
if(var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var6 = 5 + var1.rand.nextInt(2);
|
||||
}
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 8;
|
||||
var6 &= 7;
|
||||
var6 = -1;
|
||||
if (var5 == 1 && var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var6 = 5 + var1.rand.nextInt(2);
|
||||
}
|
||||
|
||||
if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 4;
|
||||
}
|
||||
if (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 4;
|
||||
}
|
||||
|
||||
if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
}
|
||||
if (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
}
|
||||
|
||||
if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 2;
|
||||
}
|
||||
if (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 2;
|
||||
}
|
||||
|
||||
if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var6 = 1;
|
||||
}
|
||||
if (var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var6 = 1;
|
||||
}
|
||||
|
||||
if(var6 == -1) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + var7);
|
||||
}
|
||||
}
|
||||
if (var6 == -1) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 + var7);
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(this.checkIfAttachedToBlock(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
boolean var7 = false;
|
||||
if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
|
||||
var7 = true;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (this.checkIfAttachedToBlock(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
boolean var7 = false;
|
||||
if (!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 5) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 5) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 6) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3 - 1, var4) && var6 == 6) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
if (var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkIfAttachedToBlock(World var1, int var2, int var3, int var4) {
|
||||
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean checkIfAttachedToBlock(World var1, int var2, int var3, int var4) {
|
||||
if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
float var6 = 3.0F / 16.0F;
|
||||
if(var5 == 1) {
|
||||
this.setBlockBounds(0.0F, 0.2F, 0.5F - var6, var6 * 2.0F, 0.8F, 0.5F + var6);
|
||||
} else if(var5 == 2) {
|
||||
this.setBlockBounds(1.0F - var6 * 2.0F, 0.2F, 0.5F - var6, 1.0F, 0.8F, 0.5F + var6);
|
||||
} else if(var5 == 3) {
|
||||
this.setBlockBounds(0.5F - var6, 0.2F, 0.0F, 0.5F + var6, 0.8F, var6 * 2.0F);
|
||||
} else if(var5 == 4) {
|
||||
this.setBlockBounds(0.5F - var6, 0.2F, 1.0F - var6 * 2.0F, 0.5F + var6, 0.8F, 1.0F);
|
||||
} else {
|
||||
var6 = 0.25F;
|
||||
this.setBlockBounds(0.5F - var6, 0.0F, 0.5F - var6, 0.5F + var6, 0.6F, 0.5F + var6);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
float var6 = 3.0F / 16.0F;
|
||||
if (var5 == 1) {
|
||||
this.setBlockBounds(0.0F, 0.2F, 0.5F - var6, var6 * 2.0F, 0.8F, 0.5F + var6);
|
||||
} else if (var5 == 2) {
|
||||
this.setBlockBounds(1.0F - var6 * 2.0F, 0.2F, 0.5F - var6, 1.0F, 0.8F, 0.5F + var6);
|
||||
} else if (var5 == 3) {
|
||||
this.setBlockBounds(0.5F - var6, 0.2F, 0.0F, 0.5F + var6, 0.8F, var6 * 2.0F);
|
||||
} else if (var5 == 4) {
|
||||
this.setBlockBounds(0.5F - var6, 0.2F, 1.0F - var6 * 2.0F, 0.5F + var6, 0.8F, 1.0F);
|
||||
} else {
|
||||
var6 = 0.25F;
|
||||
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) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 7;
|
||||
int var8 = 8 - (var6 & 8);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8);
|
||||
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.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
if(var7 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if(var7 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if(var7 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if(var7 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6 & 7;
|
||||
int var8 = 8 - (var6 & 8);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + var8);
|
||||
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.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
if (var7 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if (var7 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if (var7 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if (var7 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var5 & 8) > 0) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
int var6 = var5 & 7;
|
||||
if(var6 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if(var6 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if(var6 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if(var6 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var5 & 8) > 0) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
int var6 = var5 & 7;
|
||||
if (var6 == 1) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 - 1, var3, var4, this.blockID);
|
||||
} else if (var6 == 2) {
|
||||
var1.notifyBlocksOfNeighborChange(var2 + 1, var3, var4, this.blockID);
|
||||
} else if (var6 == 3) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 - 1, this.blockID);
|
||||
} else if (var6 == 4) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
} else {
|
||||
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) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0;
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
return (var1.getBlockMetadata(var2, var3, var4) & 8) > 0;
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) == 0) {
|
||||
return false;
|
||||
} else {
|
||||
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))));
|
||||
}
|
||||
}
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) == 0) {
|
||||
return false;
|
||||
} else {
|
||||
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))));
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,25 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockLockedChest extends Block {
|
||||
protected BlockLockedChest(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 26;
|
||||
}
|
||||
protected BlockLockedChest(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 26;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture));
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 1 : (var1 == 0 ? this.blockIndexInTexture - 1 : (var1 == 3 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture));
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return true;
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,54 +1,55 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockLog extends Block {
|
||||
protected BlockLog(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 20;
|
||||
}
|
||||
protected BlockLog(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 20;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.wood.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.wood.blockID;
|
||||
}
|
||||
|
||||
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
|
||||
super.harvestBlock(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
|
||||
super.harvestBlock(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 4;
|
||||
int var6 = var5 + 1;
|
||||
if(var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) {
|
||||
for(int var7 = -var5; var7 <= var5; ++var7) {
|
||||
for(int var8 = -var5; var8 <= var5; ++var8) {
|
||||
for(int var9 = -var5; var9 <= var5; ++var9) {
|
||||
int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9);
|
||||
if(var10 == Block.leaves.blockID) {
|
||||
int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9);
|
||||
if((var11 & 8) == 0) {
|
||||
var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 4;
|
||||
int var6 = var5 + 1;
|
||||
if (var1.checkChunksExist(var2 - var6, var3 - var6, var4 - var6, var2 + var6, var3 + var6, var4 + var6)) {
|
||||
for (int var7 = -var5; var7 <= var5; ++var7) {
|
||||
for (int var8 = -var5; var8 <= var5; ++var8) {
|
||||
for (int var9 = -var5; var9 <= var5; ++var9) {
|
||||
int var10 = var1.getBlockId(var2 + var7, var3 + var8, var4 + var9);
|
||||
if (var10 == Block.leaves.blockID) {
|
||||
int var11 = var1.getBlockMetadata(var2 + var7, var3 + var8, var4 + var9);
|
||||
if ((var11 & 8) == 0) {
|
||||
var1.setBlockMetadata(var2 + var7, var3 + var8, var4 + var9, var11 | 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return var1 == 1 ? 21 : (var1 == 0 ? 21 : (var2 == 1 ? 116 : (var2 == 2 ? 117 : 20)));
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return var1 == 1 ? 21 : (var1 == 0 ? 21 : (var2 == 1 ? 116 : (var2 == 2 ? 117 : 20)));
|
||||
}
|
||||
|
||||
protected int damageDropped(int var1) {
|
||||
return var1;
|
||||
}
|
||||
protected int damageDropped(int var1) {
|
||||
return var1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +1,29 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.block.tile.TileEntityMobSpawner;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockMobSpawner extends BlockContainer {
|
||||
protected BlockMobSpawner(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
protected BlockMobSpawner(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityMobSpawner();
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityMobSpawner();
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,37 +1,38 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockMushroom extends BlockFlower {
|
||||
protected BlockMushroom(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.2F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockMushroom(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.2F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(var5.nextInt(100) == 0) {
|
||||
int var6 = var2 + var5.nextInt(3) - 1;
|
||||
int var7 = var3 + var5.nextInt(2) - var5.nextInt(2);
|
||||
int var8 = var4 + var5.nextInt(3) - 1;
|
||||
if(var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) {
|
||||
int var10000 = var2 + (var5.nextInt(3) - 1);
|
||||
var10000 = var4 + (var5.nextInt(3) - 1);
|
||||
if(var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) {
|
||||
var1.setBlockWithNotify(var6, var7, var8, this.blockID);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (var5.nextInt(100) == 0) {
|
||||
int var6 = var2 + var5.nextInt(3) - 1;
|
||||
int var7 = var3 + var5.nextInt(2) - var5.nextInt(2);
|
||||
int var8 = var4 + var5.nextInt(3) - 1;
|
||||
if (var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) {
|
||||
int var10000 = var2 + (var5.nextInt(3) - 1);
|
||||
var10000 = var4 + (var5.nextInt(3) - 1);
|
||||
if (var1.isAirBlock(var6, var7, var8) && this.canBlockStay(var1, var6, var7, var8)) {
|
||||
var1.setBlockWithNotify(var6, var7, var8, this.blockID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return Block.opaqueCubeLookup[var1];
|
||||
}
|
||||
protected boolean canThisPlantGrowOnThisBlockID(int var1) {
|
||||
return Block.opaqueCubeLookup[var1];
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockNetherrack extends Block {
|
||||
public BlockNetherrack(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
public BlockNetherrack(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,71 +7,71 @@ import net.minecraft.entity.EntityPlayer;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockNote extends BlockContainer {
|
||||
public BlockNote(int var1) {
|
||||
super(var1, 74, Material.wood);
|
||||
}
|
||||
public BlockNote(int var1) {
|
||||
super(var1, 74, Material.wood);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var6 = var1.isBlockGettingPowered(var2, var3, var4);
|
||||
TileEntityNote var7 = (TileEntityNote)var1.getBlockTileEntity(var2, var3, var4);
|
||||
if(var7.previousRedstoneState != var6) {
|
||||
if(var6) {
|
||||
var7.triggerNote(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var6 = var1.isBlockGettingPowered(var2, var3, var4);
|
||||
TileEntityNote var7 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
|
||||
if (var7.previousRedstoneState != var6) {
|
||||
if (var6) {
|
||||
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) {
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
TileEntityNote var6 = (TileEntityNote)var1.getBlockTileEntity(var2, var3, var4);
|
||||
var6.changePitch();
|
||||
var6.triggerNote(var1, var2, var3, var4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
TileEntityNote var6 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
|
||||
var6.changePitch();
|
||||
var6.triggerNote(var1, var2, var3, var4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
TileEntityNote var6 = (TileEntityNote)var1.getBlockTileEntity(var2, var3, var4);
|
||||
var6.triggerNote(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
TileEntityNote var6 = (TileEntityNote) var1.getBlockTileEntity(var2, var3, var4);
|
||||
var6.triggerNote(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityNote();
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
return new TileEntityNote();
|
||||
}
|
||||
|
||||
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);
|
||||
String var8 = "harp";
|
||||
if(var5 == 1) {
|
||||
var8 = "bd";
|
||||
}
|
||||
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);
|
||||
String var8 = "harp";
|
||||
if (var5 == 1) {
|
||||
var8 = "bd";
|
||||
}
|
||||
|
||||
if(var5 == 2) {
|
||||
var8 = "snare";
|
||||
}
|
||||
if (var5 == 2) {
|
||||
var8 = "snare";
|
||||
}
|
||||
|
||||
if(var5 == 3) {
|
||||
var8 = "hat";
|
||||
}
|
||||
if (var5 == 3) {
|
||||
var8 = "hat";
|
||||
}
|
||||
|
||||
if(var5 == 4) {
|
||||
var8 = "bassattack";
|
||||
}
|
||||
if (var5 == 4) {
|
||||
var8 = "bassattack";
|
||||
}
|
||||
|
||||
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.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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@ package net.minecraft.block;
|
|||
import java.util.Random;
|
||||
|
||||
public class BlockObsidian extends BlockStone {
|
||||
public BlockObsidian(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
public BlockObsidian(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.obsidian.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.obsidian.blockID;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +1,24 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockOre extends Block {
|
||||
public BlockOre(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
public BlockOre(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return this.blockID == Block.oreCoal.blockID ? Item.coal.shiftedIndex : (this.blockID == Block.oreDiamond.blockID ? Item.diamond.shiftedIndex : (this.blockID == Block.oreLapis.blockID ? Item.dyePowder.shiftedIndex : this.blockID));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return this.blockID == Block.oreLapis.blockID ? 4 + var1.nextInt(5) : 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return this.blockID == Block.oreLapis.blockID ? 4 + var1.nextInt(5) : 1;
|
||||
}
|
||||
|
||||
protected int damageDropped(int var1) {
|
||||
return this.blockID == Block.oreLapis.blockID ? 4 : 0;
|
||||
}
|
||||
protected int damageDropped(int var1) {
|
||||
return this.blockID == Block.oreLapis.blockID ? 4 : 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockOreStorage extends Block {
|
||||
public BlockOreStorage(int var1, int var2) {
|
||||
super(var1, Material.iron);
|
||||
this.blockIndexInTexture = var2;
|
||||
}
|
||||
public BlockOreStorage(int var1, int var2) {
|
||||
super(var1, Material.iron);
|
||||
this.blockIndexInTexture = var2;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.block.tile.TileEntityPiston;
|
||||
|
|
@ -12,316 +11,318 @@ import net.minecraft.util.PistonBlockTextures;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class BlockPistonBase extends Block {
|
||||
private boolean isSticky;
|
||||
private boolean ignoreUpdates;
|
||||
private boolean isSticky;
|
||||
private boolean ignoreUpdates;
|
||||
|
||||
public BlockPistonBase(int var1, int var2, boolean var3) {
|
||||
super(var1, var2, Material.piston);
|
||||
this.isSticky = var3;
|
||||
this.setStepSound(soundStoneFootstep);
|
||||
this.setHardness(0.5F);
|
||||
}
|
||||
public BlockPistonBase(int var1, int var2, boolean var3) {
|
||||
super(var1, var2, Material.piston);
|
||||
this.isSticky = var3;
|
||||
this.setStepSound(soundStoneFootstep);
|
||||
this.setHardness(0.5F);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int 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));
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int 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));
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
return false;
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
|
||||
int var6 = determineOrientation(var1, var2, var3, var4, (EntityPlayer)var5);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
if(!var1.singleplayerWorld) {
|
||||
this.updatePistonState(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockPlacedBy(World var1, int var2, int var3, int var4, EntityLiving var5) {
|
||||
int var6 = determineOrientation(var1, var2, var3, var4, (EntityPlayer) var5);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
if (!var1.singleplayerWorld) {
|
||||
this.updatePistonState(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!var1.singleplayerWorld && !this.ignoreUpdates) {
|
||||
this.updatePistonState(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld && !this.ignoreUpdates) {
|
||||
this.updatePistonState(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if(!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
|
||||
this.updatePistonState(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if (!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
|
||||
this.updatePistonState(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void updatePistonState(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var6 = getOrientation(var5);
|
||||
boolean var7 = this.isPowered(var1, var2, var3, var4, var6);
|
||||
if(var5 != 7) {
|
||||
if(var7 && !isExtended(var5)) {
|
||||
if(canExtend(var1, var2, var3, var4, var6)) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var6 | 8);
|
||||
var1.playNoteAt(var2, var3, var4, 0, var6);
|
||||
}
|
||||
} else if(!var7 && isExtended(var5)) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var6);
|
||||
var1.playNoteAt(var2, var3, var4, 1, var6);
|
||||
}
|
||||
private void updatePistonState(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var6 = getOrientation(var5);
|
||||
boolean var7 = this.isPowered(var1, var2, var3, var4, var6);
|
||||
if (var5 != 7) {
|
||||
if (var7 && !isExtended(var5)) {
|
||||
if (canExtend(var1, var2, var3, var4, var6)) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var6 | 8);
|
||||
var1.playNoteAt(var2, var3, var4, 0, var6);
|
||||
}
|
||||
} else if (!var7 && isExtended(var5)) {
|
||||
var1.setBlockMetadata(var2, var3, var4, var6);
|
||||
var1.playNoteAt(var2, var3, var4, 1, var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
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)))))))))));
|
||||
}
|
||||
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)))))))))));
|
||||
}
|
||||
|
||||
public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
this.ignoreUpdates = true;
|
||||
if(var5 == 0) {
|
||||
if(this.tryExtend(var1, var2, var3, var4, var6)) {
|
||||
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);
|
||||
}
|
||||
} 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]);
|
||||
if(var8 != null && var8 instanceof TileEntityPiston) {
|
||||
((TileEntityPiston)var8).clearPistonTileEntity();
|
||||
}
|
||||
public void playBlock(World var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
this.ignoreUpdates = true;
|
||||
if (var5 == 0) {
|
||||
if (this.tryExtend(var1, var2, var3, var4, var6)) {
|
||||
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);
|
||||
}
|
||||
} 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]);
|
||||
if (var8 != null && var8 instanceof TileEntityPiston) {
|
||||
((TileEntityPiston) var8).clearPistonTileEntity();
|
||||
}
|
||||
|
||||
var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var6);
|
||||
var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(this.blockID, var6, var6, false, true));
|
||||
if(this.isSticky) {
|
||||
int var9 = var2 + PistonBlockTextures.field_31051_b[var6] * 2;
|
||||
int var10 = var3 + PistonBlockTextures.field_31054_c[var6] * 2;
|
||||
int var11 = var4 + PistonBlockTextures.field_31053_d[var6] * 2;
|
||||
int var12 = var1.getBlockId(var9, var10, var11);
|
||||
int var13 = var1.getBlockMetadata(var9, var10, var11);
|
||||
boolean var14 = false;
|
||||
if(var12 == Block.pistonMoving.blockID) {
|
||||
TileEntity var15 = var1.getBlockTileEntity(var9, var10, var11);
|
||||
if(var15 != null && var15 instanceof TileEntityPiston) {
|
||||
TileEntityPiston var16 = (TileEntityPiston)var15;
|
||||
if(var16.func_31008_d() == var6 && var16.func_31010_c()) {
|
||||
var16.clearPistonTileEntity();
|
||||
var12 = var16.getStoredBlockID();
|
||||
var13 = var16.func_31005_e();
|
||||
var14 = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var6);
|
||||
var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(this.blockID, var6, var6, false, true));
|
||||
if (this.isSticky) {
|
||||
int var9 = var2 + PistonBlockTextures.field_31051_b[var6] * 2;
|
||||
int var10 = var3 + PistonBlockTextures.field_31054_c[var6] * 2;
|
||||
int var11 = var4 + PistonBlockTextures.field_31053_d[var6] * 2;
|
||||
int var12 = var1.getBlockId(var9, var10, var11);
|
||||
int var13 = var1.getBlockMetadata(var9, var10, var11);
|
||||
boolean var14 = false;
|
||||
if (var12 == Block.pistonMoving.blockID) {
|
||||
TileEntity var15 = var1.getBlockTileEntity(var9, var10, var11);
|
||||
if (var15 != null && var15 instanceof TileEntityPiston) {
|
||||
TileEntityPiston var16 = (TileEntityPiston) var15;
|
||||
if (var16.func_31008_d() == var6 && var16.func_31010_c()) {
|
||||
var16.clearPistonTileEntity();
|
||||
var12 = var16.getStoredBlockID();
|
||||
var13 = var16.func_31005_e();
|
||||
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) {
|
||||
this.ignoreUpdates = false;
|
||||
var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0);
|
||||
this.ignoreUpdates = true;
|
||||
}
|
||||
} else {
|
||||
this.ignoreUpdates = false;
|
||||
var1.setBlockWithNotify(var9, var10, var11, 0);
|
||||
this.ignoreUpdates = true;
|
||||
var2 += PistonBlockTextures.field_31051_b[var6];
|
||||
var3 += PistonBlockTextures.field_31054_c[var6];
|
||||
var4 += PistonBlockTextures.field_31053_d[var6];
|
||||
var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var13);
|
||||
var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(var12, var13, var6, false, false));
|
||||
}
|
||||
} else {
|
||||
this.ignoreUpdates = false;
|
||||
var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0);
|
||||
this.ignoreUpdates = 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) {
|
||||
this.ignoreUpdates = false;
|
||||
var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0);
|
||||
this.ignoreUpdates = true;
|
||||
}
|
||||
} else {
|
||||
this.ignoreUpdates = false;
|
||||
var1.setBlockWithNotify(var9, var10, var11, 0);
|
||||
this.ignoreUpdates = true;
|
||||
var2 += PistonBlockTextures.field_31051_b[var6];
|
||||
var3 += PistonBlockTextures.field_31054_c[var6];
|
||||
var4 += PistonBlockTextures.field_31053_d[var6];
|
||||
var1.setBlockAndMetadata(var2, var3, var4, Block.pistonMoving.blockID, var13);
|
||||
var1.setBlockTileEntity(var2, var3, var4, BlockPistonMoving.getTileEntity(var12, var13, var6, false, false));
|
||||
}
|
||||
} else {
|
||||
this.ignoreUpdates = false;
|
||||
var1.setBlockWithNotify(var2 + PistonBlockTextures.field_31051_b[var6], var3 + PistonBlockTextures.field_31054_c[var6], var4 + PistonBlockTextures.field_31053_d[var6], 0);
|
||||
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) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(isExtended(var5)) {
|
||||
switch(getOrientation(var5)) {
|
||||
case 0:
|
||||
this.setBlockBounds(0.0F, 0.25F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 1:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 12.0F / 16.0F, 1.0F);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 12.0F / 16.0F);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 5:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F);
|
||||
}
|
||||
} else {
|
||||
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) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (isExtended(var5)) {
|
||||
switch (getOrientation(var5)) {
|
||||
case 0:
|
||||
this.setBlockBounds(0.0F, 0.25F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 1:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 12.0F / 16.0F, 1.0F);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 12.0F / 16.0F);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 5:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F);
|
||||
}
|
||||
} else {
|
||||
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) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, 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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static int getOrientation(int var0) {
|
||||
return var0 & 7;
|
||||
}
|
||||
public static int getOrientation(int var0) {
|
||||
return var0 & 7;
|
||||
}
|
||||
|
||||
public static boolean isExtended(int var0) {
|
||||
return (var0 & 8) != 0;
|
||||
}
|
||||
public static boolean isExtended(int var0) {
|
||||
return (var0 & 8) != 0;
|
||||
}
|
||||
|
||||
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) {
|
||||
double var5 = var4.posY + 1.82D - (double)var4.yOffset;
|
||||
if(var5 - (double)var2 > 2.0D) {
|
||||
return 1;
|
||||
}
|
||||
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) {
|
||||
double var5 = var4.posY + 1.82D - (double) var4.yOffset;
|
||||
if (var5 - (double) var2 > 2.0D) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if((double)var2 - var5 > 0.0D) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if ((double) var2 - var5 > 0.0D) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
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)));
|
||||
}
|
||||
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)));
|
||||
}
|
||||
|
||||
private static boolean canPushBlock(int var0, World var1, int var2, int var3, int var4, boolean var5) {
|
||||
if(var0 == Block.obsidian.blockID) {
|
||||
return false;
|
||||
} else {
|
||||
if(var0 != Block.pistonBase.blockID && var0 != Block.pistonStickyBase.blockID) {
|
||||
if(Block.blocksList[var0].getHardness() == -1.0F) {
|
||||
return false;
|
||||
}
|
||||
private static boolean canPushBlock(int var0, World var1, int var2, int var3, int var4, boolean var5) {
|
||||
if (var0 == Block.obsidian.blockID) {
|
||||
return false;
|
||||
} else {
|
||||
if (var0 != Block.pistonBase.blockID && var0 != Block.pistonStickyBase.blockID) {
|
||||
if (Block.blocksList[var0].getHardness() == -1.0F) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(Block.blocksList[var0].getMobilityFlag() == 2) {
|
||||
return false;
|
||||
}
|
||||
if (Block.blocksList[var0].getMobilityFlag() == 2) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!var5 && Block.blocksList[var0].getMobilityFlag() == 1) {
|
||||
return false;
|
||||
}
|
||||
} else if(isExtended(var1.getBlockMetadata(var2, var3, var4))) {
|
||||
return false;
|
||||
}
|
||||
if (!var5 && Block.blocksList[var0].getMobilityFlag() == 1) {
|
||||
return false;
|
||||
}
|
||||
} else if (isExtended(var1.getBlockMetadata(var2, var3, var4))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
return var6 == null;
|
||||
}
|
||||
}
|
||||
TileEntity var6 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
return var6 == null;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean canExtend(World var0, int var1, int var2, int var3, int var4) {
|
||||
int var5 = var1 + PistonBlockTextures.field_31051_b[var4];
|
||||
int var6 = var2 + PistonBlockTextures.field_31054_c[var4];
|
||||
int var7 = var3 + PistonBlockTextures.field_31053_d[var4];
|
||||
int var8 = 0;
|
||||
private static boolean canExtend(World var0, int var1, int var2, int var3, int var4) {
|
||||
int var5 = var1 + PistonBlockTextures.field_31051_b[var4];
|
||||
int var6 = var2 + PistonBlockTextures.field_31054_c[var4];
|
||||
int var7 = var3 + PistonBlockTextures.field_31053_d[var4];
|
||||
int var8 = 0;
|
||||
|
||||
while(true) {
|
||||
if(var8 < 13) {
|
||||
if(var6 <= 0 || var6 >= 127) {
|
||||
return false;
|
||||
}
|
||||
while (true) {
|
||||
if (var8 < 13) {
|
||||
if (var6 <= 0 || var6 >= 127) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int var9 = var0.getBlockId(var5, var6, var7);
|
||||
if(var9 != 0) {
|
||||
if(!canPushBlock(var9, var0, var5, var6, var7, true)) {
|
||||
return false;
|
||||
}
|
||||
int var9 = var0.getBlockId(var5, var6, var7);
|
||||
if (var9 != 0) {
|
||||
if (!canPushBlock(var9, var0, var5, var6, var7, true)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(Block.blocksList[var9].getMobilityFlag() != 1) {
|
||||
if(var8 == 12) {
|
||||
return false;
|
||||
}
|
||||
if (Block.blocksList[var9].getMobilityFlag() != 1) {
|
||||
if (var8 == 12) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var5 += PistonBlockTextures.field_31051_b[var4];
|
||||
var6 += PistonBlockTextures.field_31054_c[var4];
|
||||
var7 += PistonBlockTextures.field_31053_d[var4];
|
||||
++var8;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
var5 += PistonBlockTextures.field_31051_b[var4];
|
||||
var6 += PistonBlockTextures.field_31054_c[var4];
|
||||
var7 += PistonBlockTextures.field_31053_d[var4];
|
||||
++var8;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean tryExtend(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var2 + PistonBlockTextures.field_31051_b[var5];
|
||||
int var7 = var3 + PistonBlockTextures.field_31054_c[var5];
|
||||
int var8 = var4 + PistonBlockTextures.field_31053_d[var5];
|
||||
int var9 = 0;
|
||||
private boolean tryExtend(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var2 + PistonBlockTextures.field_31051_b[var5];
|
||||
int var7 = var3 + PistonBlockTextures.field_31054_c[var5];
|
||||
int var8 = var4 + PistonBlockTextures.field_31053_d[var5];
|
||||
int var9 = 0;
|
||||
|
||||
while(true) {
|
||||
int var10;
|
||||
if(var9 < 13) {
|
||||
if(var7 <= 0 || var7 >= 127) {
|
||||
return false;
|
||||
}
|
||||
while (true) {
|
||||
int var10;
|
||||
if (var9 < 13) {
|
||||
if (var7 <= 0 || var7 >= 127) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var10 = var1.getBlockId(var6, var7, var8);
|
||||
if(var10 != 0) {
|
||||
if(!canPushBlock(var10, var1, var6, var7, var8, true)) {
|
||||
return false;
|
||||
}
|
||||
var10 = var1.getBlockId(var6, var7, var8);
|
||||
if (var10 != 0) {
|
||||
if (!canPushBlock(var10, var1, var6, var7, var8, true)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(Block.blocksList[var10].getMobilityFlag() != 1) {
|
||||
if(var9 == 12) {
|
||||
return false;
|
||||
}
|
||||
if (Block.blocksList[var10].getMobilityFlag() != 1) {
|
||||
if (var9 == 12) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var6 += PistonBlockTextures.field_31051_b[var5];
|
||||
var7 += PistonBlockTextures.field_31054_c[var5];
|
||||
var8 += PistonBlockTextures.field_31053_d[var5];
|
||||
++var9;
|
||||
continue;
|
||||
}
|
||||
var6 += PistonBlockTextures.field_31051_b[var5];
|
||||
var7 += PistonBlockTextures.field_31054_c[var5];
|
||||
var8 += PistonBlockTextures.field_31053_d[var5];
|
||||
++var9;
|
||||
continue;
|
||||
}
|
||||
|
||||
Block.blocksList[var10].dropBlockAsItem(var1, var6, var7, var8, var1.getBlockMetadata(var6, var7, var8));
|
||||
var1.setBlockWithNotify(var6, var7, var8, 0);
|
||||
}
|
||||
}
|
||||
Block.blocksList[var10].dropBlockAsItem(var1, var6, var7, var8, var1.getBlockMetadata(var6, var7, var8));
|
||||
var1.setBlockWithNotify(var6, var7, var8, 0);
|
||||
}
|
||||
}
|
||||
|
||||
while(var6 != var2 || var7 != var3 || var8 != var4) {
|
||||
var9 = var6 - PistonBlockTextures.field_31051_b[var5];
|
||||
var10 = var7 - PistonBlockTextures.field_31054_c[var5];
|
||||
int var11 = var8 - PistonBlockTextures.field_31053_d[var5];
|
||||
int var12 = var1.getBlockId(var9, var10, var11);
|
||||
int var13 = var1.getBlockMetadata(var9, var10, var11);
|
||||
if(var12 == this.blockID && var9 == var2 && var10 == var3 && var11 == var4) {
|
||||
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));
|
||||
} else {
|
||||
var1.setBlockAndMetadata(var6, var7, var8, Block.pistonMoving.blockID, var13);
|
||||
var1.setBlockTileEntity(var6, var7, var8, BlockPistonMoving.getTileEntity(var12, var13, var5, true, false));
|
||||
}
|
||||
while (var6 != var2 || var7 != var3 || var8 != var4) {
|
||||
var9 = var6 - PistonBlockTextures.field_31051_b[var5];
|
||||
var10 = var7 - PistonBlockTextures.field_31054_c[var5];
|
||||
int var11 = var8 - PistonBlockTextures.field_31053_d[var5];
|
||||
int var12 = var1.getBlockId(var9, var10, var11);
|
||||
int var13 = var1.getBlockMetadata(var9, var10, var11);
|
||||
if (var12 == this.blockID && var9 == var2 && var10 == var3 && var11 == var4) {
|
||||
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));
|
||||
} else {
|
||||
var1.setBlockAndMetadata(var6, var7, var8, Block.pistonMoving.blockID, var13);
|
||||
var1.setBlockTileEntity(var6, var7, var8, BlockPistonMoving.getTileEntity(var12, var13, var5, true, false));
|
||||
}
|
||||
|
||||
var6 = var9;
|
||||
var7 = var10;
|
||||
var8 = var11;
|
||||
}
|
||||
var6 = var9;
|
||||
var7 = var10;
|
||||
var8 = var11;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,144 +1,145 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.util.PistonBlockTextures;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockPistonExtension extends Block {
|
||||
private int field_31046_a = -1;
|
||||
private int field_31046_a = -1;
|
||||
|
||||
public BlockPistonExtension(int var1, int var2) {
|
||||
super(var1, var2, Material.piston);
|
||||
this.setStepSound(soundStoneFootstep);
|
||||
this.setHardness(0.5F);
|
||||
}
|
||||
public BlockPistonExtension(int var1, int var2) {
|
||||
super(var1, var2, Material.piston);
|
||||
this.setStepSound(soundStoneFootstep);
|
||||
this.setHardness(0.5F);
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var6 = PistonBlockTextures.field_31052_a[func_31045_b(var5)];
|
||||
var2 += PistonBlockTextures.field_31051_b[var6];
|
||||
var3 += PistonBlockTextures.field_31054_c[var6];
|
||||
var4 += PistonBlockTextures.field_31053_d[var6];
|
||||
int var7 = var1.getBlockId(var2, var3, var4);
|
||||
if(var7 == Block.pistonBase.blockID || var7 == Block.pistonStickyBase.blockID) {
|
||||
var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(BlockPistonBase.isExtended(var5)) {
|
||||
Block.blocksList[var7].dropBlockAsItem(var1, var2, var3, var4, var5);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var6 = PistonBlockTextures.field_31052_a[func_31045_b(var5)];
|
||||
var2 += PistonBlockTextures.field_31051_b[var6];
|
||||
var3 += PistonBlockTextures.field_31054_c[var6];
|
||||
var4 += PistonBlockTextures.field_31053_d[var6];
|
||||
int var7 = var1.getBlockId(var2, var3, var4);
|
||||
if (var7 == Block.pistonBase.blockID || var7 == Block.pistonStickyBase.blockID) {
|
||||
var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (BlockPistonBase.isExtended(var5)) {
|
||||
Block.blocksList[var7].dropBlockAsItem(var1, var2, var3, var4, var5);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int 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);
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int 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);
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return false;
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
|
||||
return false;
|
||||
}
|
||||
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
switch(func_31045_b(var7)) {
|
||||
case 0:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 1:
|
||||
this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 5:
|
||||
this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
switch (func_31045_b(var7)) {
|
||||
case 0:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 1:
|
||||
this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F);
|
||||
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);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
break;
|
||||
case 5:
|
||||
this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
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);
|
||||
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) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
switch(func_31045_b(var5)) {
|
||||
case 0:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F);
|
||||
break;
|
||||
case 1:
|
||||
this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 5:
|
||||
this.setBlockBounds(12.0F / 16.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
switch (func_31045_b(var5)) {
|
||||
case 0:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F);
|
||||
break;
|
||||
case 1:
|
||||
this.setBlockBounds(0.0F, 12.0F / 16.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 2:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F);
|
||||
break;
|
||||
case 3:
|
||||
this.setBlockBounds(0.0F, 0.0F, 12.0F / 16.0F, 1.0F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 4:
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F);
|
||||
break;
|
||||
case 5:
|
||||
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) {
|
||||
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]);
|
||||
if(var7 != Block.pistonBase.blockID && var7 != Block.pistonStickyBase.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} 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);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
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]);
|
||||
if (var7 != Block.pistonBase.blockID && var7 != Block.pistonStickyBase.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} 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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static int func_31045_b(int var0) {
|
||||
return var0 & 7;
|
||||
}
|
||||
public static int func_31045_b(int var0) {
|
||||
return var0 & 7;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.block.tile.TileEntityPiston;
|
||||
|
|
@ -10,137 +9,139 @@ import net.minecraft.util.PistonBlockTextures;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockPistonMoving extends BlockContainer {
|
||||
public BlockPistonMoving(int var1) {
|
||||
super(var1, Material.piston);
|
||||
this.setHardness(-1.0F);
|
||||
}
|
||||
public BlockPistonMoving(int var1) {
|
||||
super(var1, Material.piston);
|
||||
this.setHardness(-1.0F);
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
return null;
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
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) {
|
||||
TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
if(var5 != null && var5 instanceof TileEntityPiston) {
|
||||
((TileEntityPiston)var5).clearPistonTileEntity();
|
||||
} else {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
if (var5 != null && var5 instanceof TileEntityPiston) {
|
||||
((TileEntityPiston) var5).clearPistonTileEntity();
|
||||
} else {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return false;
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
|
||||
return false;
|
||||
}
|
||||
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
TileEntityPiston var7 = this.getTileEntityAtLocation(var1, var2, var3, var4);
|
||||
if(var7 != null) {
|
||||
Block.blocksList[var7.getStoredBlockID()].dropBlockAsItem(var1, var2, var3, var4, var7.func_31005_e());
|
||||
}
|
||||
}
|
||||
}
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
TileEntityPiston var7 = this.getTileEntityAtLocation(var1, var2, var3, var4);
|
||||
if (var7 != null) {
|
||||
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) {
|
||||
if(!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld && var1.getBlockTileEntity(var2, var3, var4) == null) {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static TileEntity getTileEntity(int var0, int var1, int var2, boolean var3, boolean var4) {
|
||||
return new TileEntityPiston(var0, var1, var2, var3, var4);
|
||||
}
|
||||
public static TileEntity getTileEntity(int var0, int var1, int var2, boolean var3, boolean var4) {
|
||||
return new TileEntityPiston(var0, var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4);
|
||||
if(var5 == null) {
|
||||
return null;
|
||||
} else {
|
||||
float var6 = var5.func_31007_a(0.0F);
|
||||
if(var5.func_31010_c()) {
|
||||
var6 = 1.0F - var6;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4);
|
||||
if (var5 == null) {
|
||||
return null;
|
||||
} else {
|
||||
float var6 = var5.func_31007_a(0.0F);
|
||||
if (var5.func_31010_c()) {
|
||||
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) {
|
||||
TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4);
|
||||
if(var5 != null) {
|
||||
Block var6 = Block.blocksList[var5.getStoredBlockID()];
|
||||
if(var6 == null || var6 == this) {
|
||||
return;
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
TileEntityPiston var5 = this.getTileEntityAtLocation(var1, var2, var3, var4);
|
||||
if (var5 != null) {
|
||||
Block var6 = Block.blocksList[var5.getStoredBlockID()];
|
||||
if (var6 == null || var6 == this) {
|
||||
return;
|
||||
}
|
||||
|
||||
var6.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
float var7 = var5.func_31007_a(0.0F);
|
||||
if(var5.func_31010_c()) {
|
||||
var7 = 1.0F - var7;
|
||||
}
|
||||
var6.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
float var7 = var5.func_31007_a(0.0F);
|
||||
if (var5.func_31010_c()) {
|
||||
var7 = 1.0F - var7;
|
||||
}
|
||||
|
||||
int var8 = var5.func_31008_d();
|
||||
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.minZ = var6.minZ - (double)((float)PistonBlockTextures.field_31053_d[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.maxZ = var6.maxZ - (double)((float)PistonBlockTextures.field_31053_d[var8] * var7);
|
||||
}
|
||||
int var8 = var5.func_31008_d();
|
||||
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.minZ = var6.minZ - (double) ((float) PistonBlockTextures.field_31053_d[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.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) {
|
||||
if(var5 != 0 && var5 != this.blockID) {
|
||||
AxisAlignedBB var8 = Block.blocksList[var5].getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
if(var8 == null) {
|
||||
return null;
|
||||
} else {
|
||||
var8.minX -= (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.maxY -= (double)((float)PistonBlockTextures.field_31054_c[var7] * var6);
|
||||
var8.minZ -= (double)((float)PistonBlockTextures.field_31053_d[var7] * var6);
|
||||
var8.maxZ -= (double)((float)PistonBlockTextures.field_31053_d[var7] * var6);
|
||||
return var8;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
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) {
|
||||
AxisAlignedBB var8 = Block.blocksList[var5].getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
if (var8 == null) {
|
||||
return null;
|
||||
} else {
|
||||
var8.minX -= (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.maxY -= (double) ((float) PistonBlockTextures.field_31054_c[var7] * var6);
|
||||
var8.minZ -= (double) ((float) PistonBlockTextures.field_31053_d[var7] * var6);
|
||||
var8.maxZ -= (double) ((float) PistonBlockTextures.field_31053_d[var7] * var6);
|
||||
return var8;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private TileEntityPiston getTileEntityAtLocation(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
return var5 != null && var5 instanceof TileEntityPiston ? (TileEntityPiston)var5 : null;
|
||||
}
|
||||
private TileEntityPiston getTileEntityAtLocation(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
TileEntity var5 = var1.getBlockTileEntity(var2, var3, var4);
|
||||
return var5 != null && var5 instanceof TileEntityPiston ? (TileEntityPiston) var5 : null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,135 +1,136 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockPortal extends BlockBreakable {
|
||||
public BlockPortal(int var1, int var2) {
|
||||
super(var1, var2, Material.portal, false);
|
||||
}
|
||||
public BlockPortal(int var1, int var2) {
|
||||
super(var1, var2, Material.portal, false);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
float var5;
|
||||
float var6;
|
||||
if(var1.getBlockId(var2 - 1, var3, var4) != this.blockID && var1.getBlockId(var2 + 1, var3, var4) != this.blockID) {
|
||||
var5 = 2.0F / 16.0F;
|
||||
var6 = 0.5F;
|
||||
this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
|
||||
} else {
|
||||
var5 = 0.5F;
|
||||
var6 = 2.0F / 16.0F;
|
||||
this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
float var5;
|
||||
float var6;
|
||||
if (var1.getBlockId(var2 - 1, var3, var4) != this.blockID && var1.getBlockId(var2 + 1, var3, var4) != this.blockID) {
|
||||
var5 = 2.0F / 16.0F;
|
||||
var6 = 0.5F;
|
||||
this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
|
||||
} else {
|
||||
var5 = 0.5F;
|
||||
var6 = 2.0F / 16.0F;
|
||||
this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean tryToCreatePortal(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 0;
|
||||
byte var6 = 0;
|
||||
if(var1.getBlockId(var2 - 1, var3, var4) == Block.obsidian.blockID || var1.getBlockId(var2 + 1, var3, var4) == Block.obsidian.blockID) {
|
||||
var5 = 1;
|
||||
}
|
||||
public boolean tryToCreatePortal(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 0;
|
||||
byte var6 = 0;
|
||||
if (var1.getBlockId(var2 - 1, var3, var4) == Block.obsidian.blockID || var1.getBlockId(var2 + 1, var3, var4) == Block.obsidian.blockID) {
|
||||
var5 = 1;
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2, var3, var4 - 1) == Block.obsidian.blockID || var1.getBlockId(var2, var3, var4 + 1) == Block.obsidian.blockID) {
|
||||
var6 = 1;
|
||||
}
|
||||
if (var1.getBlockId(var2, var3, var4 - 1) == Block.obsidian.blockID || var1.getBlockId(var2, var3, var4 + 1) == Block.obsidian.blockID) {
|
||||
var6 = 1;
|
||||
}
|
||||
|
||||
if(var5 == var6) {
|
||||
return false;
|
||||
} else {
|
||||
if(var1.getBlockId(var2 - var5, var3, var4 - var6) == 0) {
|
||||
var2 -= var5;
|
||||
var4 -= var6;
|
||||
}
|
||||
if (var5 == var6) {
|
||||
return false;
|
||||
} else {
|
||||
if (var1.getBlockId(var2 - var5, var3, var4 - var6) == 0) {
|
||||
var2 -= var5;
|
||||
var4 -= var6;
|
||||
}
|
||||
|
||||
int var7;
|
||||
int var8;
|
||||
for(var7 = -1; var7 <= 2; ++var7) {
|
||||
for(var8 = -1; var8 <= 3; ++var8) {
|
||||
boolean var9 = 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);
|
||||
if(var9) {
|
||||
if(var10 != Block.obsidian.blockID) {
|
||||
return false;
|
||||
}
|
||||
} else if(var10 != 0 && var10 != Block.fire.blockID) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int var7;
|
||||
int var8;
|
||||
for (var7 = -1; var7 <= 2; ++var7) {
|
||||
for (var8 = -1; var8 <= 3; ++var8) {
|
||||
boolean var9 = 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);
|
||||
if (var9) {
|
||||
if (var10 != Block.obsidian.blockID) {
|
||||
return false;
|
||||
}
|
||||
} else if (var10 != 0 && var10 != Block.fire.blockID) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var1.editingBlocks = true;
|
||||
var1.editingBlocks = true;
|
||||
|
||||
for(var7 = 0; var7 < 2; ++var7) {
|
||||
for(var8 = 0; var8 < 3; ++var8) {
|
||||
var1.setBlockWithNotify(var2 + var5 * var7, var3 + var8, var4 + var6 * var7, Block.portal.blockID);
|
||||
}
|
||||
}
|
||||
for (var7 = 0; var7 < 2; ++var7) {
|
||||
for (var8 = 0; var8 < 3; ++var8) {
|
||||
var1.setBlockWithNotify(var2 + var5 * var7, var3 + var8, var4 + var6 * var7, Block.portal.blockID);
|
||||
}
|
||||
}
|
||||
|
||||
var1.editingBlocks = false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var1.editingBlocks = false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
byte var6 = 0;
|
||||
byte var7 = 1;
|
||||
if(var1.getBlockId(var2 - 1, var3, var4) == this.blockID || var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
|
||||
var6 = 1;
|
||||
var7 = 0;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
byte var6 = 0;
|
||||
byte var7 = 1;
|
||||
if (var1.getBlockId(var2 - 1, var3, var4) == this.blockID || var1.getBlockId(var2 + 1, var3, var4) == this.blockID) {
|
||||
var6 = 1;
|
||||
var7 = 0;
|
||||
}
|
||||
|
||||
int var8;
|
||||
for(var8 = var3; var1.getBlockId(var2, var8 - 1, var4) == this.blockID; --var8) {
|
||||
}
|
||||
int var8;
|
||||
for (var8 = var3; var1.getBlockId(var2, var8 - 1, var4) == this.blockID; --var8) {
|
||||
}
|
||||
|
||||
if(var1.getBlockId(var2, var8 - 1, var4) != Block.obsidian.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
int var9;
|
||||
for(var9 = 1; var9 < 4 && var1.getBlockId(var2, var8 + var9, var4) == this.blockID; ++var9) {
|
||||
}
|
||||
if (var1.getBlockId(var2, var8 - 1, var4) != Block.obsidian.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
int 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) {
|
||||
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;
|
||||
if(var10 && var11) {
|
||||
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)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
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 var11 = var1.getBlockId(var2, var3, var4 - 1) == this.blockID || var1.getBlockId(var2, var3, var4 + 1) == this.blockID;
|
||||
if (var10 && var11) {
|
||||
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)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if(var5.ridingEntity == null && var5.riddenByEntity == null) {
|
||||
var5.setInPortal();
|
||||
}
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if (var5.ridingEntity == null && var5.riddenByEntity == null) {
|
||||
var5.setInPortal();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
|
|
@ -11,146 +9,149 @@ import net.minecraft.math.AxisAlignedBB;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockPressurePlate extends Block {
|
||||
private EnumMobType triggerMobType;
|
||||
private EnumMobType triggerMobType;
|
||||
|
||||
protected BlockPressurePlate(int var1, int var2, EnumMobType var3, Material var4) {
|
||||
super(var1, var2, var4);
|
||||
this.triggerMobType = var3;
|
||||
this.setTickOnLoad(true);
|
||||
float var5 = 1.0F / 16.0F;
|
||||
this.setBlockBounds(var5, 0.0F, var5, 1.0F - var5, 0.03125F, 1.0F - var5);
|
||||
}
|
||||
protected BlockPressurePlate(int var1, int var2, EnumMobType var3, Material var4) {
|
||||
super(var1, var2, var4);
|
||||
this.triggerMobType = var3;
|
||||
this.setTickOnLoad(true);
|
||||
float var5 = 1.0F / 16.0F;
|
||||
this.setBlockBounds(var5, 0.0F, var5, 1.0F - var5, 0.03125F, 1.0F - var5);
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 20;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 20;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
boolean var6 = false;
|
||||
if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var6 = true;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
boolean var6 = false;
|
||||
if (!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var6 = true;
|
||||
}
|
||||
|
||||
if(var6) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
if (var6) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
if(var1.getBlockMetadata(var2, var3, var4) != 0) {
|
||||
this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
if (var1.getBlockMetadata(var2, var3, var4) != 0) {
|
||||
this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
if(var1.getBlockMetadata(var2, var3, var4) != 1) {
|
||||
this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
if (var1.getBlockMetadata(var2, var3, var4) != 1) {
|
||||
this.setStateIfMobInteractsWithPlate(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setStateIfMobInteractsWithPlate(World var1, int var2, int var3, int var4) {
|
||||
boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1;
|
||||
boolean var6 = false;
|
||||
float var7 = 2.0F / 16.0F;
|
||||
List var8 = null;
|
||||
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)));
|
||||
}
|
||||
private void setStateIfMobInteractsWithPlate(World var1, int var2, int var3, int var4) {
|
||||
boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1;
|
||||
boolean var6 = false;
|
||||
float var7 = 2.0F / 16.0F;
|
||||
List var8 = null;
|
||||
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)));
|
||||
}
|
||||
|
||||
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)));
|
||||
}
|
||||
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)));
|
||||
}
|
||||
|
||||
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)));
|
||||
}
|
||||
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)));
|
||||
}
|
||||
|
||||
if(var8.size() > 0) {
|
||||
var6 = true;
|
||||
}
|
||||
if (var8.size() > 0) {
|
||||
var6 = true;
|
||||
}
|
||||
|
||||
if(var6 && !var5) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
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);
|
||||
}
|
||||
if (var6 && !var5) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
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);
|
||||
}
|
||||
|
||||
if(!var6 && var5) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
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);
|
||||
}
|
||||
if (!var6 && var5) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
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);
|
||||
}
|
||||
|
||||
if(var6) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
if (var6) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var5 > 0) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var5 > 0) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, 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) {
|
||||
boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1;
|
||||
float var6 = 1.0F / 16.0F;
|
||||
if(var5) {
|
||||
this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 0.03125F, 1.0F - var6);
|
||||
} else {
|
||||
this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 1.0F / 16.0F, 1.0F - var6);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
boolean var5 = var1.getBlockMetadata(var2, var3, var4) == 1;
|
||||
float var6 = 1.0F / 16.0F;
|
||||
if (var5) {
|
||||
this.setBlockBounds(var6, 0.0F, var6, 1.0F - var6, 0.03125F, 1.0F - var6);
|
||||
} else {
|
||||
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) {
|
||||
return var1.getBlockMetadata(var2, var3, var4) > 0;
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
return var1.getBlockMetadata(var2, var3, var4) > 0;
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return var1.getBlockMetadata(var2, var3, var4) == 0 ? false : var5 == 1;
|
||||
}
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return var1.getBlockMetadata(var2, var3, var4) == 0 ? false : var5 == 1;
|
||||
}
|
||||
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public int getMobilityFlag() {
|
||||
return 1;
|
||||
}
|
||||
public int getMobilityFlag() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,45 +6,45 @@ import net.minecraft.math.MathHelper;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockPumpkin extends Block {
|
||||
private boolean blockType;
|
||||
private boolean blockType;
|
||||
|
||||
protected BlockPumpkin(int var1, int var2, boolean var3) {
|
||||
super(var1, Material.pumpkin);
|
||||
this.blockIndexInTexture = var2;
|
||||
this.setTickOnLoad(true);
|
||||
this.blockType = var3;
|
||||
}
|
||||
protected BlockPumpkin(int var1, int var2, boolean var3) {
|
||||
super(var1, Material.pumpkin);
|
||||
this.blockIndexInTexture = var2;
|
||||
this.setTickOnLoad(true);
|
||||
this.blockType = var3;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if(var1 == 1) {
|
||||
return this.blockIndexInTexture;
|
||||
} else if(var1 == 0) {
|
||||
return this.blockIndexInTexture;
|
||||
} else {
|
||||
int var3 = this.blockIndexInTexture + 1 + 16;
|
||||
if(this.blockType) {
|
||||
++var3;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if (var1 == 1) {
|
||||
return this.blockIndexInTexture;
|
||||
} else if (var1 == 0) {
|
||||
return this.blockIndexInTexture;
|
||||
} else {
|
||||
int var3 = this.blockIndexInTexture + 1 + 16;
|
||||
if (this.blockType) {
|
||||
++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) {
|
||||
return var1 == 1 ? this.blockIndexInTexture : (var1 == 0 ? this.blockIndexInTexture : (var1 == 3 ? this.blockIndexInTexture + 1 + 16 : this.blockIndexInTexture + 16));
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
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) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockId(var2, var3, var4);
|
||||
return (var5 == 0 || Block.blocksList[var5].blockMaterial.func_27090_g()) && var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockId(var2, var3, 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) {
|
||||
int var6 = MathHelper.floor_double((double)(var5.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
}
|
||||
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;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.math.Vec3D;
|
||||
|
|
@ -8,245 +7,247 @@ import net.minecraft.util.MovingObjectPosition;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
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) {
|
||||
int var4 = var0.getBlockId(var1, var2, var3);
|
||||
return var4 == Block.minecartTrack.blockID || var4 == Block.railPowered.blockID || var4 == Block.railDetector.blockID;
|
||||
}
|
||||
public static final boolean func_27029_g(World var0, int var1, int var2, int var3) {
|
||||
int var4 = var0.getBlockId(var1, var2, var3);
|
||||
return var4 == Block.minecartTrack.blockID || var4 == Block.railPowered.blockID || var4 == Block.railDetector.blockID;
|
||||
}
|
||||
|
||||
public static final boolean func_27030_c(int var0) {
|
||||
return var0 == Block.minecartTrack.blockID || var0 == Block.railPowered.blockID || var0 == Block.railDetector.blockID;
|
||||
}
|
||||
public static final boolean func_27030_c(int var0) {
|
||||
return var0 == Block.minecartTrack.blockID || var0 == Block.railPowered.blockID || var0 == Block.railDetector.blockID;
|
||||
}
|
||||
|
||||
protected BlockRail(int var1, int var2, boolean var3) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.field_27034_a = var3;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
}
|
||||
protected BlockRail(int var1, int var2, boolean var3) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.field_27034_a = var3;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
}
|
||||
|
||||
public boolean func_27028_d() {
|
||||
return this.field_27034_a;
|
||||
}
|
||||
public boolean func_27028_d() {
|
||||
return this.field_27034_a;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var5 >= 2 && var5 <= 5) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 10.0F / 16.0F, 1.0F);
|
||||
} else {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var5 >= 2 && var5 <= 5) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 10.0F / 16.0F, 1.0F);
|
||||
} else {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if(this.field_27034_a) {
|
||||
if(this.blockID == Block.railPowered.blockID && (var2 & 8) == 0) {
|
||||
return this.blockIndexInTexture - 16;
|
||||
}
|
||||
} else if(var2 >= 6) {
|
||||
return this.blockIndexInTexture - 16;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
if (this.field_27034_a) {
|
||||
if (this.blockID == Block.railPowered.blockID && (var2 & 8) == 0) {
|
||||
return this.blockIndexInTexture - 16;
|
||||
}
|
||||
} else if (var2 >= 6) {
|
||||
return this.blockIndexInTexture - 16;
|
||||
}
|
||||
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
this.func_4038_g(var1, var2, var3, var4, true);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
this.func_4038_g(var1, var2, var3, var4, true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6;
|
||||
if(this.field_27034_a) {
|
||||
var7 = var6 & 7;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var6;
|
||||
if (this.field_27034_a) {
|
||||
var7 = var6 & 7;
|
||||
}
|
||||
|
||||
boolean var8 = false;
|
||||
if(!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var8 = true;
|
||||
}
|
||||
boolean var8 = false;
|
||||
if (!var1.isBlockNormalCube(var2, var3 - 1, var4)) {
|
||||
var8 = true;
|
||||
}
|
||||
|
||||
if(var7 == 2 && !var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var8 = true;
|
||||
}
|
||||
if (var7 == 2 && !var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var8 = true;
|
||||
}
|
||||
|
||||
if(var7 == 3 && !var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var8 = true;
|
||||
}
|
||||
if (var7 == 3 && !var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var8 = true;
|
||||
}
|
||||
|
||||
if(var7 == 4 && !var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var8 = true;
|
||||
}
|
||||
if (var7 == 4 && !var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var8 = true;
|
||||
}
|
||||
|
||||
if(var7 == 5 && !var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var8 = true;
|
||||
}
|
||||
if (var7 == 5 && !var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var8 = true;
|
||||
}
|
||||
|
||||
if(var8) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else if(this.blockID == Block.railPowered.blockID) {
|
||||
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);
|
||||
boolean var10 = false;
|
||||
if(var9 && (var6 & 8) == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | 8);
|
||||
var10 = true;
|
||||
} else if(!var9 && (var6 & 8) != 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7);
|
||||
var10 = true;
|
||||
}
|
||||
if (var8) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else if (this.blockID == Block.railPowered.blockID) {
|
||||
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);
|
||||
boolean var10 = false;
|
||||
if (var9 && (var6 & 8) == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | 8);
|
||||
var10 = true;
|
||||
} else if (!var9 && (var6 & 8) != 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7);
|
||||
var10 = true;
|
||||
}
|
||||
|
||||
if(var10) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
if(var7 == 2 || var7 == 3 || var7 == 4 || var7 == 5) {
|
||||
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) {
|
||||
this.func_4038_g(var1, var2, var3, var4, false);
|
||||
}
|
||||
if (var10) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
if (var7 == 2 || var7 == 3 || var7 == 4 || var7 == 5) {
|
||||
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) {
|
||||
this.func_4038_g(var1, var2, var3, var4, false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void func_4038_g(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
(new RailLogic(this, var1, var2, var3, var4)).func_596_a(var1.isBlockIndirectlyGettingPowered(var2, var3, var4), var5);
|
||||
}
|
||||
}
|
||||
private void func_4038_g(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
(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) {
|
||||
if(var7 >= 8) {
|
||||
return false;
|
||||
} else {
|
||||
int var8 = var5 & 7;
|
||||
boolean var9 = true;
|
||||
switch(var8) {
|
||||
case 0:
|
||||
if(var6) {
|
||||
++var4;
|
||||
} else {
|
||||
--var4;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(var6) {
|
||||
--var2;
|
||||
} else {
|
||||
++var2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(var6) {
|
||||
--var2;
|
||||
} else {
|
||||
++var2;
|
||||
++var3;
|
||||
var9 = false;
|
||||
}
|
||||
private boolean func_27032_a(World var1, int var2, int var3, int var4, int var5, boolean var6, int var7) {
|
||||
if (var7 >= 8) {
|
||||
return false;
|
||||
} else {
|
||||
int var8 = var5 & 7;
|
||||
boolean var9 = true;
|
||||
switch (var8) {
|
||||
case 0:
|
||||
if (var6) {
|
||||
++var4;
|
||||
} else {
|
||||
--var4;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (var6) {
|
||||
--var2;
|
||||
} else {
|
||||
++var2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (var6) {
|
||||
--var2;
|
||||
} else {
|
||||
++var2;
|
||||
++var3;
|
||||
var9 = false;
|
||||
}
|
||||
|
||||
var8 = 1;
|
||||
break;
|
||||
case 3:
|
||||
if(var6) {
|
||||
--var2;
|
||||
++var3;
|
||||
var9 = false;
|
||||
} else {
|
||||
++var2;
|
||||
}
|
||||
var8 = 1;
|
||||
break;
|
||||
case 3:
|
||||
if (var6) {
|
||||
--var2;
|
||||
++var3;
|
||||
var9 = false;
|
||||
} else {
|
||||
++var2;
|
||||
}
|
||||
|
||||
var8 = 1;
|
||||
break;
|
||||
case 4:
|
||||
if(var6) {
|
||||
++var4;
|
||||
} else {
|
||||
--var4;
|
||||
++var3;
|
||||
var9 = false;
|
||||
}
|
||||
var8 = 1;
|
||||
break;
|
||||
case 4:
|
||||
if (var6) {
|
||||
++var4;
|
||||
} else {
|
||||
--var4;
|
||||
++var3;
|
||||
var9 = false;
|
||||
}
|
||||
|
||||
var8 = 0;
|
||||
break;
|
||||
case 5:
|
||||
if(var6) {
|
||||
++var4;
|
||||
++var3;
|
||||
var9 = false;
|
||||
} else {
|
||||
--var4;
|
||||
}
|
||||
var8 = 0;
|
||||
break;
|
||||
case 5:
|
||||
if (var6) {
|
||||
++var4;
|
||||
++var3;
|
||||
var9 = false;
|
||||
} else {
|
||||
--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) {
|
||||
int var8 = var1.getBlockId(var2, var3, var4);
|
||||
if(var8 == Block.railPowered.blockID) {
|
||||
int var9 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var10 = var9 & 7;
|
||||
if(var7 == 1 && (var10 == 0 || var10 == 4 || var10 == 5)) {
|
||||
return false;
|
||||
}
|
||||
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);
|
||||
if (var8 == Block.railPowered.blockID) {
|
||||
int var9 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var10 = var9 & 7;
|
||||
if (var7 == 1 && (var10 == 0 || var10 == 4 || var10 == 5)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(var7 == 0 && (var10 == 1 || var10 == 2 || var10 == 3)) {
|
||||
return false;
|
||||
}
|
||||
if (var7 == 0 && (var10 == 1 || var10 == 2 || var10 == 3)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if((var9 & 8) != 0) {
|
||||
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);
|
||||
}
|
||||
if ((var9 & 8) != 0) {
|
||||
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 true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getMobilityFlag() {
|
||||
return 0;
|
||||
}
|
||||
public int getMobilityFlag() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
static boolean func_27033_a(BlockRail var0) {
|
||||
return var0.field_27034_a;
|
||||
}
|
||||
static boolean func_27033_a(BlockRail var0) {
|
||||
return var0.field_27034_a;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,102 +1,103 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockRedstoneOre extends Block {
|
||||
private boolean field_665_a;
|
||||
private boolean field_665_a;
|
||||
|
||||
public BlockRedstoneOre(int var1, int var2, boolean var3) {
|
||||
super(var1, var2, Material.rock);
|
||||
if(var3) {
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
public BlockRedstoneOre(int var1, int var2, boolean var3) {
|
||||
super(var1, var2, Material.rock);
|
||||
if (var3) {
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
this.field_665_a = var3;
|
||||
}
|
||||
this.field_665_a = var3;
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 30;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 30;
|
||||
}
|
||||
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.func_321_g(var1, var2, var3, var4);
|
||||
super.onBlockClicked(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.func_321_g(var1, var2, var3, var4);
|
||||
super.onBlockClicked(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
this.func_321_g(var1, var2, var3, var4);
|
||||
super.onEntityWalking(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
this.func_321_g(var1, var2, var3, var4);
|
||||
super.onEntityWalking(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.func_321_g(var1, var2, var3, var4);
|
||||
return super.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.func_321_g(var1, var2, var3, var4);
|
||||
return super.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
private void func_321_g(World var1, int var2, int var3, int var4) {
|
||||
this.func_320_h(var1, var2, var3, var4);
|
||||
if(this.blockID == Block.oreRedstone.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstoneGlowing.blockID);
|
||||
}
|
||||
private void func_321_g(World var1, int var2, int var3, int var4) {
|
||||
this.func_320_h(var1, var2, var3, var4);
|
||||
if (this.blockID == Block.oreRedstone.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstoneGlowing.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(this.blockID == Block.oreRedstoneGlowing.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstone.blockID);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (this.blockID == Block.oreRedstoneGlowing.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.oreRedstone.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.redstone.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.redstone.shiftedIndex;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 4 + var1.nextInt(2);
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 4 + var1.nextInt(2);
|
||||
}
|
||||
|
||||
private void func_320_h(World var1, int var2, int var3, int var4) {
|
||||
Random var5 = var1.rand;
|
||||
double var6 = 1.0D / 16.0D;
|
||||
private void func_320_h(World var1, int var2, int var3, int var4) {
|
||||
Random var5 = var1.rand;
|
||||
double var6 = 1.0D / 16.0D;
|
||||
|
||||
for(int var8 = 0; var8 < 6; ++var8) {
|
||||
double var9 = (double)((float)var2 + var5.nextFloat());
|
||||
double var11 = (double)((float)var3 + var5.nextFloat());
|
||||
double var13 = (double)((float)var4 + var5.nextFloat());
|
||||
if(var8 == 0 && !var1.isBlockOpaqueCube(var2, var3 + 1, var4)) {
|
||||
var11 = (double)(var3 + 1) + var6;
|
||||
}
|
||||
for (int var8 = 0; var8 < 6; ++var8) {
|
||||
double var9 = (double) ((float) var2 + var5.nextFloat());
|
||||
double var11 = (double) ((float) var3 + var5.nextFloat());
|
||||
double var13 = (double) ((float) var4 + var5.nextFloat());
|
||||
if (var8 == 0 && !var1.isBlockOpaqueCube(var2, var3 + 1, var4)) {
|
||||
var11 = (double) (var3 + 1) + var6;
|
||||
}
|
||||
|
||||
if(var8 == 1 && !var1.isBlockOpaqueCube(var2, var3 - 1, var4)) {
|
||||
var11 = (double)(var3 + 0) - var6;
|
||||
}
|
||||
if (var8 == 1 && !var1.isBlockOpaqueCube(var2, var3 - 1, var4)) {
|
||||
var11 = (double) (var3 + 0) - var6;
|
||||
}
|
||||
|
||||
if(var8 == 2 && !var1.isBlockOpaqueCube(var2, var3, var4 + 1)) {
|
||||
var13 = (double)(var4 + 1) + var6;
|
||||
}
|
||||
if (var8 == 2 && !var1.isBlockOpaqueCube(var2, var3, var4 + 1)) {
|
||||
var13 = (double) (var4 + 1) + var6;
|
||||
}
|
||||
|
||||
if(var8 == 3 && !var1.isBlockOpaqueCube(var2, var3, var4 - 1)) {
|
||||
var13 = (double)(var4 + 0) - var6;
|
||||
}
|
||||
if (var8 == 3 && !var1.isBlockOpaqueCube(var2, var3, var4 - 1)) {
|
||||
var13 = (double) (var4 + 0) - var6;
|
||||
}
|
||||
|
||||
if(var8 == 4 && !var1.isBlockOpaqueCube(var2 + 1, var3, var4)) {
|
||||
var9 = (double)(var2 + 1) + var6;
|
||||
}
|
||||
if (var8 == 4 && !var1.isBlockOpaqueCube(var2 + 1, var3, var4)) {
|
||||
var9 = (double) (var2 + 1) + var6;
|
||||
}
|
||||
|
||||
if(var8 == 5 && !var1.isBlockOpaqueCube(var2 - 1, var3, var4)) {
|
||||
var9 = (double)(var2 + 0) - var6;
|
||||
}
|
||||
if (var8 == 5 && !var1.isBlockOpaqueCube(var2 - 1, var3, var4)) {
|
||||
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)) {
|
||||
var1.spawnParticle("reddust", var9, var11, var13, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
|
|
@ -9,134 +8,136 @@ import net.minecraft.math.MathHelper;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockRedstoneRepeater extends Block {
|
||||
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 final boolean field_22015_c;
|
||||
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 final boolean field_22015_c;
|
||||
|
||||
protected BlockRedstoneRepeater(int var1, boolean var2) {
|
||||
super(var1, 6, Material.circuits);
|
||||
this.field_22015_c = var2;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
}
|
||||
protected BlockRedstoneRepeater(int var1, boolean var2) {
|
||||
super(var1, 6, Material.circuits);
|
||||
this.field_22015_c = var2;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
|
||||
if(this.field_22015_c && !var7) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterIdle.blockID, var6);
|
||||
} else if(!this.field_22015_c) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterActive.blockID, var6);
|
||||
if(!var7) {
|
||||
int var8 = (var6 & 12) >> 2;
|
||||
var1.scheduleUpdateTick(var2, var3, var4, Block.redstoneRepeaterActive.blockID, field_22013_b[var8] * 2);
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
|
||||
if (this.field_22015_c && !var7) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterIdle.blockID, var6);
|
||||
} else if (!this.field_22015_c) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.redstoneRepeaterActive.blockID, var6);
|
||||
if (!var7) {
|
||||
int var8 = (var6 & 12) >> 2;
|
||||
var1.scheduleUpdateTick(var2, var3, var4, Block.redstoneRepeaterActive.blockID, field_22013_b[var8] * 2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.getBlockTextureFromSideAndMetadata(var1, 0);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.getBlockTextureFromSideAndMetadata(var1, 0);
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return this.isPoweringTo(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return this.isPoweringTo(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
if(!this.field_22015_c) {
|
||||
return false;
|
||||
} else {
|
||||
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));
|
||||
}
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
if (!this.field_22015_c) {
|
||||
return false;
|
||||
} else {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
|
||||
int var8 = (var6 & 12) >> 2;
|
||||
if(this.field_22015_c && !var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2);
|
||||
} else if(!this.field_22015_c && var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
|
||||
int var8 = (var6 & 12) >> 2;
|
||||
if (this.field_22015_c && !var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, field_22013_b[var8] * 2);
|
||||
} else if (!this.field_22015_c && var7) {
|
||||
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) {
|
||||
int var6 = var5 & 3;
|
||||
switch(var6) {
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
private boolean func_22012_g(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var5 & 3;
|
||||
switch (var6) {
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = (var6 & 12) >> 2;
|
||||
var7 = var7 + 1 << 2 & 12;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | var6 & 3);
|
||||
return true;
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = (var6 & 12) >> 2;
|
||||
var7 = var7 + 1 << 2 & 12;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 | var6 & 3);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean canProvidePower() {
|
||||
return false;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return false;
|
||||
}
|
||||
|
||||
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;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
|
||||
if(var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, 1);
|
||||
}
|
||||
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;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6);
|
||||
boolean var7 = this.func_22012_g(var1, var2, var3, var4, var6);
|
||||
if (var7) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, 1);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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, 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);
|
||||
}
|
||||
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, 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);
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.redstoneRepeater.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.redstoneRepeater.shiftedIndex;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,132 +1,133 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockRedstoneTorch extends BlockTorch {
|
||||
private boolean torchActive = false;
|
||||
private static List torchUpdates = new ArrayList();
|
||||
private boolean torchActive = false;
|
||||
private static List torchUpdates = new ArrayList();
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return var1 == 1 ? Block.redstoneWire.getBlockTextureFromSideAndMetadata(var1, var2) : super.getBlockTextureFromSideAndMetadata(var1, var2);
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int 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) {
|
||||
if(var5) {
|
||||
torchUpdates.add(new RedstoneUpdateInfo(var2, var3, var4, var1.getWorldTime()));
|
||||
}
|
||||
private boolean checkForBurnout(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
if (var5) {
|
||||
torchUpdates.add(new RedstoneUpdateInfo(var2, var3, var4, var1.getWorldTime()));
|
||||
}
|
||||
|
||||
int var6 = 0;
|
||||
int var6 = 0;
|
||||
|
||||
for(int var7 = 0; var7 < torchUpdates.size(); ++var7) {
|
||||
RedstoneUpdateInfo var8 = (RedstoneUpdateInfo)torchUpdates.get(var7);
|
||||
if(var8.x == var2 && var8.y == var3 && var8.z == var4) {
|
||||
++var6;
|
||||
if(var6 >= 8) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var7 = 0; var7 < torchUpdates.size(); ++var7) {
|
||||
RedstoneUpdateInfo var8 = (RedstoneUpdateInfo) torchUpdates.get(var7);
|
||||
if (var8.x == var2 && var8.y == var3 && var8.z == var4) {
|
||||
++var6;
|
||||
if (var6 >= 8) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected BlockRedstoneTorch(int var1, int var2, boolean var3) {
|
||||
super(var1, var2);
|
||||
this.torchActive = var3;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockRedstoneTorch(int var1, int var2, boolean var3) {
|
||||
super(var1, var2);
|
||||
this.torchActive = var3;
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 2;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if(var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if (var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
if(this.torchActive) {
|
||||
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, var3, var4 - 1, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
}
|
||||
if (this.torchActive) {
|
||||
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, var3, var4 - 1, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
if(this.torchActive) {
|
||||
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, var3, var4 - 1, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3, var4 + 1, this.blockID);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
if (this.torchActive) {
|
||||
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, 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) {
|
||||
if(!this.torchActive) {
|
||||
return false;
|
||||
} else {
|
||||
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)));
|
||||
}
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
if (!this.torchActive) {
|
||||
return false;
|
||||
} else {
|
||||
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)));
|
||||
}
|
||||
}
|
||||
|
||||
private boolean func_30003_g(World var1, int var2, int var3, int 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))));
|
||||
}
|
||||
private boolean func_30003_g(World var1, int var2, int var3, int 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))));
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
boolean var6 = this.func_30003_g(var1, var2, var3, var4);
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
boolean var6 = this.func_30003_g(var1, var2, var3, var4);
|
||||
|
||||
while(torchUpdates.size() > 0 && var1.getWorldTime() - ((RedstoneUpdateInfo)torchUpdates.get(0)).updateTime > 100L) {
|
||||
torchUpdates.remove(0);
|
||||
}
|
||||
while (torchUpdates.size() > 0 && var1.getWorldTime() - ((RedstoneUpdateInfo) torchUpdates.get(0)).updateTime > 100L) {
|
||||
torchUpdates.remove(0);
|
||||
}
|
||||
|
||||
if(this.torchActive) {
|
||||
if(var6) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneIdle.blockID, var1.getBlockMetadata(var2, var3, var4));
|
||||
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);
|
||||
if (this.torchActive) {
|
||||
if (var6) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneIdle.blockID, var1.getBlockMetadata(var2, var3, var4));
|
||||
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);
|
||||
|
||||
for(int var7 = 0; var7 < 5; ++var7) {
|
||||
double var8 = (double)var2 + 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;
|
||||
var1.spawnParticle("smoke", var8, var10, var12, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if(!var6 && !this.checkForBurnout(var1, var2, var3, var4, false)) {
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3, var4, Block.torchRedstoneActive.blockID, var1.getBlockMetadata(var2, var3, var4));
|
||||
}
|
||||
for (int var7 = 0; var7 < 5; ++var7) {
|
||||
double var8 = (double) var2 + 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;
|
||||
var1.spawnParticle("smoke", var8, var10, var12, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (!var6 && !this.checkForBurnout(var1, var2, var3, var4, false)) {
|
||||
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) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return var5 == 0 ? this.isPoweringTo(var1, var2, var3, var4, var5) : false;
|
||||
}
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return var5 == 0 ? this.isPoweringTo(var1, var2, var3, var4, var5) : false;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.torchRedstoneActive.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.torchRedstoneActive.blockID;
|
||||
}
|
||||
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
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.item.Item;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
|
|
@ -12,332 +8,337 @@ import net.minecraft.util.ModelBed;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
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 {
|
||||
private boolean wiresProvidePower = true;
|
||||
private Set field_21032_b = new HashSet();
|
||||
private boolean wiresProvidePower = true;
|
||||
private Set field_21032_b = new HashSet();
|
||||
|
||||
public BlockRedstoneWire(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F / 16.0F, 1.0F);
|
||||
}
|
||||
public BlockRedstoneWire(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F / 16.0F, 1.0F);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return var1.isBlockNormalCube(var2, var3 - 1, var4);
|
||||
}
|
||||
|
||||
private void updateAndPropagateCurrentStrength(World var1, int var2, int var3, int var4) {
|
||||
this.func_21031_a(var1, var2, var3, var4, var2, var3, var4);
|
||||
ArrayList var5 = new ArrayList(this.field_21032_b);
|
||||
this.field_21032_b.clear();
|
||||
private void updateAndPropagateCurrentStrength(World var1, int var2, int var3, int var4) {
|
||||
this.func_21031_a(var1, var2, var3, var4, var2, var3, var4);
|
||||
ArrayList var5 = new ArrayList(this.field_21032_b);
|
||||
this.field_21032_b.clear();
|
||||
|
||||
for(int var6 = 0; var6 < var5.size(); ++var6) {
|
||||
ChunkPosition var7 = (ChunkPosition)var5.get(var6);
|
||||
var1.notifyBlocksOfNeighborChange(var7.x, var7.y, var7.z, this.blockID);
|
||||
}
|
||||
for (int var6 = 0; var6 < var5.size(); ++var6) {
|
||||
ChunkPosition var7 = (ChunkPosition) var5.get(var6);
|
||||
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) {
|
||||
int var8 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var9 = 0;
|
||||
this.wiresProvidePower = false;
|
||||
boolean var10 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4);
|
||||
this.wiresProvidePower = true;
|
||||
int var11;
|
||||
int var12;
|
||||
int var13;
|
||||
if(var10) {
|
||||
var9 = 15;
|
||||
} else {
|
||||
for(var11 = 0; var11 < 4; ++var11) {
|
||||
var12 = var2;
|
||||
var13 = var4;
|
||||
if(var11 == 0) {
|
||||
var12 = var2 - 1;
|
||||
}
|
||||
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 var9 = 0;
|
||||
this.wiresProvidePower = false;
|
||||
boolean var10 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4);
|
||||
this.wiresProvidePower = true;
|
||||
int var11;
|
||||
int var12;
|
||||
int var13;
|
||||
if (var10) {
|
||||
var9 = 15;
|
||||
} else {
|
||||
for (var11 = 0; var11 < 4; ++var11) {
|
||||
var12 = var2;
|
||||
var13 = var4;
|
||||
if (var11 == 0) {
|
||||
var12 = var2 - 1;
|
||||
}
|
||||
|
||||
if(var11 == 1) {
|
||||
++var12;
|
||||
}
|
||||
if (var11 == 1) {
|
||||
++var12;
|
||||
}
|
||||
|
||||
if(var11 == 2) {
|
||||
var13 = var4 - 1;
|
||||
}
|
||||
if (var11 == 2) {
|
||||
var13 = var4 - 1;
|
||||
}
|
||||
|
||||
if(var11 == 3) {
|
||||
++var13;
|
||||
}
|
||||
if (var11 == 3) {
|
||||
++var13;
|
||||
}
|
||||
|
||||
if(var12 != var5 || var3 != var6 || var13 != var7) {
|
||||
var9 = this.getMaxCurrentStrength(var1, var12, var3, var13, var9);
|
||||
}
|
||||
if (var12 != var5 || var3 != var6 || var13 != var7) {
|
||||
var9 = this.getMaxCurrentStrength(var1, var12, var3, var13, var9);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var12, var3, var13) && !var1.isBlockNormalCube(var2, var3 + 1, var4)) {
|
||||
if(var12 != var5 || var3 + 1 != var6 || var13 != var7) {
|
||||
var9 = this.getMaxCurrentStrength(var1, var12, var3 + 1, var13, var9);
|
||||
}
|
||||
} else if(!var1.isBlockNormalCube(var12, var3, var13) && (var12 != var5 || var3 - 1 != var6 || var13 != var7)) {
|
||||
var9 = this.getMaxCurrentStrength(var1, var12, var3 - 1, var13, var9);
|
||||
}
|
||||
}
|
||||
if (var1.isBlockNormalCube(var12, var3, var13) && !var1.isBlockNormalCube(var2, var3 + 1, var4)) {
|
||||
if (var12 != var5 || var3 + 1 != var6 || var13 != var7) {
|
||||
var9 = this.getMaxCurrentStrength(var1, var12, var3 + 1, var13, var9);
|
||||
}
|
||||
} else if (!var1.isBlockNormalCube(var12, var3, var13) && (var12 != var5 || var3 - 1 != var6 || var13 != var7)) {
|
||||
var9 = this.getMaxCurrentStrength(var1, var12, var3 - 1, var13, var9);
|
||||
}
|
||||
}
|
||||
|
||||
if(var9 > 0) {
|
||||
--var9;
|
||||
} else {
|
||||
var9 = 0;
|
||||
}
|
||||
}
|
||||
if (var9 > 0) {
|
||||
--var9;
|
||||
} else {
|
||||
var9 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(var8 != var9) {
|
||||
var1.editingBlocks = true;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
var1.editingBlocks = false;
|
||||
if (var8 != var9) {
|
||||
var1.editingBlocks = true;
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var9);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
var1.editingBlocks = false;
|
||||
|
||||
for(var11 = 0; var11 < 4; ++var11) {
|
||||
var12 = var2;
|
||||
var13 = var4;
|
||||
int var14 = var3 - 1;
|
||||
if(var11 == 0) {
|
||||
var12 = var2 - 1;
|
||||
}
|
||||
for (var11 = 0; var11 < 4; ++var11) {
|
||||
var12 = var2;
|
||||
var13 = var4;
|
||||
int var14 = var3 - 1;
|
||||
if (var11 == 0) {
|
||||
var12 = var2 - 1;
|
||||
}
|
||||
|
||||
if(var11 == 1) {
|
||||
++var12;
|
||||
}
|
||||
if (var11 == 1) {
|
||||
++var12;
|
||||
}
|
||||
|
||||
if(var11 == 2) {
|
||||
var13 = var4 - 1;
|
||||
}
|
||||
if (var11 == 2) {
|
||||
var13 = var4 - 1;
|
||||
}
|
||||
|
||||
if(var11 == 3) {
|
||||
++var13;
|
||||
}
|
||||
if (var11 == 3) {
|
||||
++var13;
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var12, var3, var13)) {
|
||||
var14 += 2;
|
||||
}
|
||||
if (var1.isBlockNormalCube(var12, var3, var13)) {
|
||||
var14 += 2;
|
||||
}
|
||||
|
||||
boolean var15 = false;
|
||||
int var16 = this.getMaxCurrentStrength(var1, var12, var3, var13, -1);
|
||||
var9 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var9 > 0) {
|
||||
--var9;
|
||||
}
|
||||
boolean var15 = false;
|
||||
int var16 = this.getMaxCurrentStrength(var1, var12, var3, var13, -1);
|
||||
var9 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var9 > 0) {
|
||||
--var9;
|
||||
}
|
||||
|
||||
if(var16 >= 0 && var16 != var9) {
|
||||
this.func_21031_a(var1, var12, var3, var13, var2, var3, var4);
|
||||
}
|
||||
if (var16 >= 0 && var16 != var9) {
|
||||
this.func_21031_a(var1, var12, var3, var13, var2, var3, var4);
|
||||
}
|
||||
|
||||
var16 = this.getMaxCurrentStrength(var1, var12, var14, var13, -1);
|
||||
var9 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var9 > 0) {
|
||||
--var9;
|
||||
}
|
||||
var16 = this.getMaxCurrentStrength(var1, var12, var14, var13, -1);
|
||||
var9 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var9 > 0) {
|
||||
--var9;
|
||||
}
|
||||
|
||||
if(var16 >= 0 && var16 != var9) {
|
||||
this.func_21031_a(var1, var12, var14, var13, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
if (var16 >= 0 && var16 != var9) {
|
||||
this.func_21031_a(var1, var12, var14, var13, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
|
||||
if(var8 == 0 || var9 == 0) {
|
||||
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, 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));
|
||||
}
|
||||
}
|
||||
if (var8 == 0 || var9 == 0) {
|
||||
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, 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));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyWireNeighborsOfNeighborChange(World var1, int var2, int var3, int var4) {
|
||||
if(var1.getBlockId(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, 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);
|
||||
}
|
||||
}
|
||||
private void notifyWireNeighborsOfNeighborChange(World var1, int var2, int var3, int var4) {
|
||||
if (var1.getBlockId(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, 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);
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
if(!var1.singleplayerWorld) {
|
||||
this.updateAndPropagateCurrentStrength(var1, var2, var3, var4);
|
||||
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, var3, var4 - 1);
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 + 1);
|
||||
if(var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
if (!var1.singleplayerWorld) {
|
||||
this.updateAndPropagateCurrentStrength(var1, var2, var3, var4);
|
||||
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, var3, var4 - 1);
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3, var4 + 1);
|
||||
if (var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4);
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1);
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1);
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
if(!var1.singleplayerWorld) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
this.updateAndPropagateCurrentStrength(var1, var2, 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);
|
||||
if(var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockRemoval(var1, var2, var3, var4);
|
||||
if (!var1.singleplayerWorld) {
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 + 1, var4, this.blockID);
|
||||
var1.notifyBlocksOfNeighborChange(var2, var3 - 1, var4, this.blockID);
|
||||
this.updateAndPropagateCurrentStrength(var1, var2, 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);
|
||||
if (var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 - 1, var3 - 1, var4);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4);
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 + 1, var4);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2 + 1, var3 - 1, var4);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1);
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 - 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 - 1);
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1);
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 + 1, var4 + 1);
|
||||
} else {
|
||||
this.notifyWireNeighborsOfNeighborChange(var1, var2, var3 - 1, var4 + 1);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int getMaxCurrentStrength(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(var1.getBlockId(var2, var3, var4) != this.blockID) {
|
||||
return var5;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
return var6 > var5 ? var6 : var5;
|
||||
}
|
||||
}
|
||||
private int getMaxCurrentStrength(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (var1.getBlockId(var2, var3, var4) != this.blockID) {
|
||||
return var5;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
return var6 > var5 ? var6 : var5;
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = this.canPlaceBlockAt(var1, var2, var3, var4);
|
||||
if(!var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
this.updateAndPropagateCurrentStrength(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = this.canPlaceBlockAt(var1, var2, var3, var4);
|
||||
if (!var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
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) {
|
||||
return Item.redstone.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.redstone.shiftedIndex;
|
||||
}
|
||||
|
||||
public boolean isIndirectlyPoweringTo(World var1, int var2, int var3, int var4, int var5) {
|
||||
return !this.wiresProvidePower ? false : this.isPoweringTo(var1, var2, var3, var4, 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);
|
||||
}
|
||||
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
if(!this.wiresProvidePower) {
|
||||
return false;
|
||||
} else if(var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
return false;
|
||||
} else if(var5 == 1) {
|
||||
return true;
|
||||
} 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 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 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 - 1, var3, var4) && isPowerProviderOrWire(var1, var2 - 1, var3 + 1, var4, -1)) {
|
||||
var6 = true;
|
||||
}
|
||||
public boolean isPoweringTo(IBlockAccess var1, int var2, int var3, int var4, int var5) {
|
||||
if (!this.wiresProvidePower) {
|
||||
return false;
|
||||
} else if (var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
return false;
|
||||
} else if (var5 == 1) {
|
||||
return true;
|
||||
} 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 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 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 - 1, var3, var4) && isPowerProviderOrWire(var1, var2 - 1, var3 + 1, var4, -1)) {
|
||||
var6 = true;
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2 + 1, var3, var4) && isPowerProviderOrWire(var1, var2 + 1, var3 + 1, var4, -1)) {
|
||||
var7 = true;
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2 + 1, var3, var4) && isPowerProviderOrWire(var1, var2 + 1, var3 + 1, var4, -1)) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2, var3, var4 - 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 - 1, -1)) {
|
||||
var8 = true;
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2, var3, var4 - 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 - 1, -1)) {
|
||||
var8 = true;
|
||||
}
|
||||
|
||||
if(var1.isBlockNormalCube(var2, var3, var4 + 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 + 1, -1)) {
|
||||
var9 = true;
|
||||
}
|
||||
}
|
||||
if (var1.isBlockNormalCube(var2, var3, var4 + 1) && isPowerProviderOrWire(var1, var2, var3 + 1, var4 + 1, -1)) {
|
||||
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() {
|
||||
return this.wiresProvidePower;
|
||||
}
|
||||
public boolean canProvidePower() {
|
||||
return this.wiresProvidePower;
|
||||
}
|
||||
|
||||
public static boolean isPowerProviderOrWire(IBlockAccess var0, int var1, int var2, int var3, int var4) {
|
||||
int var5 = var0.getBlockId(var1, var2, var3);
|
||||
if(var5 == Block.redstoneWire.blockID) {
|
||||
return true;
|
||||
} else if(var5 == 0) {
|
||||
return false;
|
||||
} else if(Block.blocksList[var5].canProvidePower()) {
|
||||
return true;
|
||||
} else if(var5 != Block.redstoneRepeaterIdle.blockID && var5 != Block.redstoneRepeaterActive.blockID) {
|
||||
return false;
|
||||
} else {
|
||||
int var6 = var0.getBlockMetadata(var1, var2, var3);
|
||||
return var4 == ModelBed.field_22153_b[var6 & 3];
|
||||
}
|
||||
}
|
||||
public static boolean isPowerProviderOrWire(IBlockAccess var0, int var1, int var2, int var3, int var4) {
|
||||
int var5 = var0.getBlockId(var1, var2, var3);
|
||||
if (var5 == Block.redstoneWire.blockID) {
|
||||
return true;
|
||||
} else if (var5 == 0) {
|
||||
return false;
|
||||
} else if (Block.blocksList[var5].canProvidePower()) {
|
||||
return true;
|
||||
} else if (var5 != Block.redstoneRepeaterIdle.blockID && var5 != Block.redstoneRepeaterActive.blockID) {
|
||||
return false;
|
||||
} else {
|
||||
int var6 = var0.getBlockMetadata(var1, var2, var3);
|
||||
return var4 == ModelBed.field_22153_b[var6 & 3];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,73 +1,74 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockReed extends Block {
|
||||
protected BlockReed(int var1, int var2) {
|
||||
super(var1, Material.plants);
|
||||
this.blockIndexInTexture = var2;
|
||||
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.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockReed(int var1, int var2) {
|
||||
super(var1, Material.plants);
|
||||
this.blockIndexInTexture = var2;
|
||||
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.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(var1.isAirBlock(var2, var3 + 1, var4)) {
|
||||
int var6;
|
||||
for(var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) {
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (var1.isAirBlock(var2, var3 + 1, var4)) {
|
||||
int var6;
|
||||
for (var6 = 1; var1.getBlockId(var2, var3 - var6, var4) == this.blockID; ++var6) {
|
||||
}
|
||||
|
||||
if(var6 < 3) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var7 == 15) {
|
||||
var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var6 < 3) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var7 == 15) {
|
||||
var1.setBlockWithNotify(var2, var3 + 1, var4, this.blockID);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
} else {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var7 + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int 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))));
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int 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))));
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.checkBlockCoordValid(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.checkBlockCoordValid(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
protected final void checkBlockCoordValid(World var1, int var2, int var3, int var4) {
|
||||
if(!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
protected final void checkBlockCoordValid(World var1, int var2, int var3, int var4) {
|
||||
if (!this.canBlockStay(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
return this.canPlaceBlockAt(var1, var2, var3, var4);
|
||||
}
|
||||
public boolean canBlockStay(World var1, int var2, int var3, int var4) {
|
||||
return this.canPlaceBlockAt(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.reed.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.reed.shiftedIndex;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,63 +1,64 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityFallingSand;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockSand extends Block {
|
||||
public static boolean fallInstantly = false;
|
||||
public static boolean fallInstantly = false;
|
||||
|
||||
public BlockSand(int var1, int var2) {
|
||||
super(var1, var2, Material.sand);
|
||||
}
|
||||
public BlockSand(int var1, int var2) {
|
||||
super(var1, var2, Material.sand);
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID, this.tickRate());
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
this.tryToFall(var1, var2, var3, var4);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
this.tryToFall(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
private void tryToFall(World var1, int var2, int var3, int var4) {
|
||||
if(canFallBelow(var1, var2, var3 - 1, var4) && var3 >= 0) {
|
||||
byte var8 = 32;
|
||||
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);
|
||||
var1.entityJoinedWorld(var9);
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
private void tryToFall(World var1, int var2, int var3, int var4) {
|
||||
if (canFallBelow(var1, var2, var3 - 1, var4) && var3 >= 0) {
|
||||
byte var8 = 32;
|
||||
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);
|
||||
var1.entityJoinedWorld(var9);
|
||||
} else {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
|
||||
while(canFallBelow(var1, var2, var3 - 1, var4) && var3 > 0) {
|
||||
--var3;
|
||||
}
|
||||
while (canFallBelow(var1, var2, var3 - 1, var4) && var3 > 0) {
|
||||
--var3;
|
||||
}
|
||||
|
||||
if(var3 > 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, this.blockID);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var3 > 0) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, this.blockID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return 3;
|
||||
}
|
||||
public int tickRate() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public static boolean canFallBelow(World var0, int var1, int var2, int var3) {
|
||||
int var4 = var0.getBlockId(var1, var2, var3);
|
||||
if(var4 == 0) {
|
||||
return true;
|
||||
} else if(var4 == Block.fire.blockID) {
|
||||
return true;
|
||||
} else {
|
||||
Material var5 = Block.blocksList[var4].blockMaterial;
|
||||
return var5 == Material.water ? true : var5 == Material.lava;
|
||||
}
|
||||
}
|
||||
public static boolean canFallBelow(World var0, int var1, int var2, int var3) {
|
||||
int var4 = var0.getBlockId(var1, var2, var3);
|
||||
if (var4 == 0) {
|
||||
return true;
|
||||
} else if (var4 == Block.fire.blockID) {
|
||||
return true;
|
||||
} else {
|
||||
Material var5 = Block.blocksList[var4].blockMaterial;
|
||||
return var5 == Material.water ? true : var5 == Material.lava;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@ package net.minecraft.block;
|
|||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockSandStone extends Block {
|
||||
public BlockSandStone(int var1) {
|
||||
super(var1, 192, Material.rock);
|
||||
}
|
||||
public BlockSandStone(int var1) {
|
||||
super(var1, 192, Material.rock);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,62 +1,59 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.generators.WorldGenBigTree;
|
||||
import net.minecraft.world.generators.WorldGenForest;
|
||||
import net.minecraft.world.generators.WorldGenTaiga2;
|
||||
import net.minecraft.world.generators.WorldGenTrees;
|
||||
import net.minecraft.world.generators.WorldGenerator;
|
||||
import net.minecraft.world.generators.*;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockSapling extends BlockFlower {
|
||||
protected BlockSapling(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.4F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3);
|
||||
}
|
||||
protected BlockSapling(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.4F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var3 * 2.0F, 0.5F + var3);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
if(var1.getBlockLightValue(var2, var3 + 1, var4) >= 9 && var5.nextInt(30) == 0) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if((var6 & 8) == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 | 8);
|
||||
} else {
|
||||
this.growTree(var1, var2, var3, var4, var5);
|
||||
}
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
if (var1.getBlockLightValue(var2, var3 + 1, var4) >= 9 && var5.nextInt(30) == 0) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if ((var6 & 8) == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 | 8);
|
||||
} else {
|
||||
this.growTree(var1, var2, var3, var4, var5);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
var2 &= 3;
|
||||
return var2 == 1 ? 63 : (var2 == 2 ? 79 : super.getBlockTextureFromSideAndMetadata(var1, var2));
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
var2 &= 3;
|
||||
return var2 == 1 ? 63 : (var2 == 2 ? 79 : super.getBlockTextureFromSideAndMetadata(var1, var2));
|
||||
}
|
||||
|
||||
public void growTree(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) & 3;
|
||||
var1.setBlock(var2, var3, var4, 0);
|
||||
Object var7 = null;
|
||||
if(var6 == 1) {
|
||||
var7 = new WorldGenTaiga2();
|
||||
} else if(var6 == 2) {
|
||||
var7 = new WorldGenForest();
|
||||
} else {
|
||||
var7 = new WorldGenTrees();
|
||||
if(var5.nextInt(10) == 0) {
|
||||
var7 = new WorldGenBigTree();
|
||||
}
|
||||
}
|
||||
public void growTree(World var1, int var2, int var3, int var4, Random var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4) & 3;
|
||||
var1.setBlock(var2, var3, var4, 0);
|
||||
Object var7 = null;
|
||||
if (var6 == 1) {
|
||||
var7 = new WorldGenTaiga2();
|
||||
} else if (var6 == 2) {
|
||||
var7 = new WorldGenForest();
|
||||
} else {
|
||||
var7 = new WorldGenTrees();
|
||||
if (var5.nextInt(10) == 0) {
|
||||
var7 = new WorldGenBigTree();
|
||||
}
|
||||
}
|
||||
|
||||
if(!((WorldGenerator)var7).generate(var1, var5, var2, var3, var4)) {
|
||||
var1.setBlockAndMetadata(var2, var3, var4, this.blockID, var6);
|
||||
}
|
||||
if (!((WorldGenerator) var7).generate(var1, var5, var2, var3, var4)) {
|
||||
var1.setBlockAndMetadata(var2, var3, var4, this.blockID, var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected int damageDropped(int var1) {
|
||||
return var1 & 3;
|
||||
}
|
||||
protected int damageDropped(int var1) {
|
||||
return var1 & 3;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.tile.TileEntity;
|
||||
import net.minecraft.item.Item;
|
||||
|
|
@ -8,103 +7,105 @@ import net.minecraft.math.AxisAlignedBB;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockSign extends BlockContainer {
|
||||
private Class signEntityClass;
|
||||
private boolean isFreestanding;
|
||||
private Class signEntityClass;
|
||||
private boolean isFreestanding;
|
||||
|
||||
protected BlockSign(int var1, Class var2, boolean var3) {
|
||||
super(var1, Material.wood);
|
||||
this.isFreestanding = var3;
|
||||
this.blockIndexInTexture = 4;
|
||||
this.signEntityClass = var2;
|
||||
float var4 = 0.25F;
|
||||
float var5 = 1.0F;
|
||||
this.setBlockBounds(0.5F - var4, 0.0F, 0.5F - var4, 0.5F + var4, var5, 0.5F + var4);
|
||||
}
|
||||
protected BlockSign(int var1, Class var2, boolean var3) {
|
||||
super(var1, Material.wood);
|
||||
this.isFreestanding = var3;
|
||||
this.blockIndexInTexture = 4;
|
||||
this.signEntityClass = var2;
|
||||
float var4 = 0.25F;
|
||||
float var5 = 1.0F;
|
||||
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) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
if(!this.isFreestanding) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 9.0F / 32.0F;
|
||||
float var7 = 25.0F / 32.0F;
|
||||
float var8 = 0.0F;
|
||||
float var9 = 1.0F;
|
||||
float var10 = 2.0F / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
if(var5 == 2) {
|
||||
this.setBlockBounds(var8, var6, 1.0F - var10, var9, var7, 1.0F);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
if (!this.isFreestanding) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
float var6 = 9.0F / 32.0F;
|
||||
float var7 = 25.0F / 32.0F;
|
||||
float var8 = 0.0F;
|
||||
float var9 = 1.0F;
|
||||
float var10 = 2.0F / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
if (var5 == 2) {
|
||||
this.setBlockBounds(var8, var6, 1.0F - var10, var9, var7, 1.0F);
|
||||
}
|
||||
|
||||
if(var5 == 3) {
|
||||
this.setBlockBounds(var8, var6, 0.0F, var9, var7, var10);
|
||||
}
|
||||
if (var5 == 3) {
|
||||
this.setBlockBounds(var8, var6, 0.0F, var9, var7, var10);
|
||||
}
|
||||
|
||||
if(var5 == 4) {
|
||||
this.setBlockBounds(1.0F - var10, var6, var8, 1.0F, var7, var9);
|
||||
}
|
||||
if (var5 == 4) {
|
||||
this.setBlockBounds(1.0F - var10, var6, var8, 1.0F, var7, var9);
|
||||
}
|
||||
|
||||
if(var5 == 5) {
|
||||
this.setBlockBounds(0.0F, var6, var8, var10, var7, var9);
|
||||
}
|
||||
if (var5 == 5) {
|
||||
this.setBlockBounds(0.0F, var6, var8, var10, var7, var9);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
protected TileEntity getBlockEntity() {
|
||||
try {
|
||||
return (TileEntity)this.signEntityClass.newInstance();
|
||||
} catch (Exception var2) {
|
||||
throw new RuntimeException(var2);
|
||||
}
|
||||
}
|
||||
protected TileEntity getBlockEntity() {
|
||||
try {
|
||||
return (TileEntity) this.signEntityClass.newInstance();
|
||||
} catch (Exception var2) {
|
||||
throw new RuntimeException(var2);
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.sign.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.sign.shiftedIndex;
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
boolean var6 = false;
|
||||
if(this.isFreestanding) {
|
||||
if(!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) {
|
||||
var6 = true;
|
||||
}
|
||||
} else {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var6 = true;
|
||||
if(var7 == 2 && var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
boolean var6 = false;
|
||||
if (this.isFreestanding) {
|
||||
if (!var1.getBlockMaterial(var2, var3 - 1, var4).isSolid()) {
|
||||
var6 = true;
|
||||
}
|
||||
} else {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var6 = true;
|
||||
if (var7 == 2 && var1.getBlockMaterial(var2, var3, var4 + 1).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
|
||||
if(var7 == 3 && var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
if (var7 == 3 && var1.getBlockMaterial(var2, var3, var4 - 1).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
|
||||
if(var7 == 4 && var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
if (var7 == 4 && var1.getBlockMaterial(var2 + 1, var3, var4).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
|
||||
if(var7 == 5 && var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
}
|
||||
if (var7 == 5 && var1.getBlockMaterial(var2 - 1, var3, var4).isSolid()) {
|
||||
var6 = false;
|
||||
}
|
||||
}
|
||||
|
||||
if(var6) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
if (var6) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
}
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityItem;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
|
|
@ -12,77 +11,79 @@ import net.minecraft.world.EnumLightSource;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockSnow extends Block {
|
||||
protected BlockSnow(int var1, int var2) {
|
||||
super(var1, var2, Material.snow);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockSnow(int var1, int var2) {
|
||||
super(var1, var2, Material.snow);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F / 16.0F, 1.0F);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
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;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
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;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
float var6 = (float)(2 * (1 + var5)) / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var6, 1.0F);
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
float var6 = (float) (2 * (1 + var5)) / 16.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) {
|
||||
int var5 = var1.getBlockId(var2, var3 - 1, var4);
|
||||
return var5 != 0 && Block.blocksList[var5].isOpaqueCube() ? var1.getBlockMaterial(var2, var3 - 1, var4).getIsSolid() : false;
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockId(var2, var3 - 1, var4);
|
||||
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) {
|
||||
this.func_275_g(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.func_275_g(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
private boolean func_275_g(World var1, int var2, int var3, int var4) {
|
||||
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean func_275_g(World var1, int var2, int var3, int var4) {
|
||||
if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
|
||||
int var7 = Item.snowball.shiftedIndex;
|
||||
float var8 = 0.7F;
|
||||
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 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));
|
||||
var15.delayBeforeCanPickup = 10;
|
||||
var1.entityJoinedWorld(var15);
|
||||
var1.setBlockWithNotify(var3, var4, var5, 0);
|
||||
var2.addStat(StatList.mineBlockStatArray[this.blockID], 1);
|
||||
}
|
||||
public void harvestBlock(World var1, EntityPlayer var2, int var3, int var4, int var5, int var6) {
|
||||
int var7 = Item.snowball.shiftedIndex;
|
||||
float var8 = 0.7F;
|
||||
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 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));
|
||||
var15.delayBeforeCanPickup = 10;
|
||||
var1.entityJoinedWorld(var15);
|
||||
var1.setBlockWithNotify(var3, var4, var5, 0);
|
||||
var2.addStat(StatList.mineBlockStatArray[this.blockID], 1);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.snowball.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.snowball.shiftedIndex;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,31 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.world.EnumLightSource;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockSnowBlock extends Block {
|
||||
protected BlockSnowBlock(int var1, int var2) {
|
||||
super(var1, var2, Material.builtSnow);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockSnowBlock(int var1, int var2) {
|
||||
super(var1, var2, Material.builtSnow);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.snowball.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.snowball.shiftedIndex;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 4;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 4;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (var1.getSavedLightValue(EnumLightSource.Block, var2, var3, var4) > 11) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,17 +6,17 @@ import net.minecraft.math.AxisAlignedBB;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockSoulSand extends Block {
|
||||
public BlockSoulSand(int var1, int var2) {
|
||||
super(var1, var2, Material.sand);
|
||||
}
|
||||
public BlockSoulSand(int var1, int var2) {
|
||||
super(var1, var2, Material.sand);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
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));
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
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));
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
var5.motionX *= 0.4D;
|
||||
var5.motionZ *= 0.4D;
|
||||
}
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
var5.motionX *= 0.4D;
|
||||
var5.motionZ *= 0.4D;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,35 +4,35 @@ import net.minecraft.block.material.Material;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockSponge extends Block {
|
||||
protected BlockSponge(int var1) {
|
||||
super(var1, Material.sponge);
|
||||
this.blockIndexInTexture = 48;
|
||||
}
|
||||
protected BlockSponge(int var1) {
|
||||
super(var1, Material.sponge);
|
||||
this.blockIndexInTexture = 48;
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 2;
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 2;
|
||||
|
||||
for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
|
||||
for(int var7 = var3 - var5; var7 <= var3 + var5; ++var7) {
|
||||
for(int var8 = var4 - var5; var8 <= var4 + var5; ++var8) {
|
||||
if(var1.getBlockMaterial(var6, var7, var8) == Material.water) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
|
||||
for (int var7 = var3 - var5; var7 <= var3 + var5; ++var7) {
|
||||
for (int var8 = var4 - var5; var8 <= var4 + var5; ++var8) {
|
||||
if (var1.getBlockMaterial(var6, var7, var8) == Material.water) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 2;
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
byte var5 = 2;
|
||||
|
||||
for(int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
|
||||
for(int var7 = var3 - var5; var7 <= var3 + var5; ++var7) {
|
||||
for(int var8 = var4 - var5; var8 <= var4 + var5; ++var8) {
|
||||
var1.notifyBlocksOfNeighborChange(var6, var7, var8, var1.getBlockId(var6, var7, var8));
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var6 = var2 - var5; var6 <= var2 + var5; ++var6) {
|
||||
for (int var7 = var3 - var5; var7 <= var3 + var5; ++var7) {
|
||||
for (int var8 = var4 - var5; var8 <= var4 + var5; ++var8) {
|
||||
var1.notifyBlocksOfNeighborChange(var6, var7, var8, var1.getBlockId(var6, var7, var8));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
|
|
@ -11,155 +9,158 @@ import net.minecraft.math.Vec3D;
|
|||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockStairs extends Block {
|
||||
private Block modelBlock;
|
||||
private Block modelBlock;
|
||||
|
||||
protected BlockStairs(int var1, Block var2) {
|
||||
super(var1, var2.blockIndexInTexture, var2.blockMaterial);
|
||||
this.modelBlock = var2;
|
||||
this.setHardness(var2.blockHardness);
|
||||
this.setResistance(var2.blockResistance / 3.0F);
|
||||
this.setStepSound(var2.stepSound);
|
||||
this.setLightOpacity(255);
|
||||
}
|
||||
protected BlockStairs(int var1, Block var2) {
|
||||
super(var1, var2.blockIndexInTexture, var2.blockMaterial);
|
||||
this.modelBlock = var2;
|
||||
this.setHardness(var2.blockHardness);
|
||||
this.setResistance(var2.blockResistance / 3.0F);
|
||||
this.setStepSound(var2.stepSound);
|
||||
this.setLightOpacity(255);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var7 == 0) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
} else if(var7 == 1) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
} else if(var7 == 2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
} else if(var7 == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public void getCollidingBoundingBoxes(World var1, int var2, int var3, int var4, AxisAlignedBB var5, ArrayList var6) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var7 == 0) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 0.5F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
} else if (var7 == 1) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 0.5F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.5F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
} else if (var7 == 2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 0.5F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 1.0F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
} else if (var7 == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F);
|
||||
super.getCollidingBoundingBoxes(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
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) {
|
||||
this.modelBlock.onBlockClicked(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.modelBlock.onBlockClicked(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.modelBlock.onBlockDestroyedByPlayer(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) {
|
||||
this.modelBlock.onBlockDestroyedByPlayer(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public float getExplosionResistance(Entity var1) {
|
||||
return this.modelBlock.getExplosionResistance(var1);
|
||||
}
|
||||
public float getExplosionResistance(Entity var1) {
|
||||
return this.modelBlock.getExplosionResistance(var1);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return this.modelBlock.idDropped(var1, var2);
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return this.modelBlock.idDropped(var1, var2);
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return this.modelBlock.quantityDropped(var1);
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return this.modelBlock.quantityDropped(var1);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return this.modelBlock.getBlockTextureFromSideAndMetadata(var1, var2);
|
||||
}
|
||||
public int getBlockTextureFromSideAndMetadata(int var1, int var2) {
|
||||
return this.modelBlock.getBlockTextureFromSideAndMetadata(var1, var2);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.modelBlock.getBlockTextureFromSide(var1);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.modelBlock.getBlockTextureFromSide(var1);
|
||||
}
|
||||
|
||||
public int tickRate() {
|
||||
return this.modelBlock.tickRate();
|
||||
}
|
||||
public int tickRate() {
|
||||
return this.modelBlock.tickRate();
|
||||
}
|
||||
|
||||
public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) {
|
||||
this.modelBlock.velocityToAddToEntity(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public void velocityToAddToEntity(World var1, int var2, int var3, int var4, Entity var5, Vec3D var6) {
|
||||
this.modelBlock.velocityToAddToEntity(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public boolean isCollidable() {
|
||||
return this.modelBlock.isCollidable();
|
||||
}
|
||||
public boolean isCollidable() {
|
||||
return this.modelBlock.isCollidable();
|
||||
}
|
||||
|
||||
public boolean canCollideCheck(int var1, boolean var2) {
|
||||
return this.modelBlock.canCollideCheck(var1, var2);
|
||||
}
|
||||
public boolean canCollideCheck(int var1, boolean var2) {
|
||||
return this.modelBlock.canCollideCheck(var1, var2);
|
||||
}
|
||||
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return this.modelBlock.canPlaceBlockAt(var1, var2, var3, var4);
|
||||
}
|
||||
public boolean canPlaceBlockAt(World var1, int var2, int var3, int var4) {
|
||||
return this.modelBlock.canPlaceBlockAt(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
this.onNeighborBlockChange(var1, var2, var3, var4, 0);
|
||||
this.modelBlock.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
this.onNeighborBlockChange(var1, var2, var3, var4, 0);
|
||||
this.modelBlock.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
this.modelBlock.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockRemoval(World var1, int var2, int var3, int var4) {
|
||||
this.modelBlock.onBlockRemoval(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
this.modelBlock.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public void dropBlockAsItemWithChance(World var1, int var2, int var3, int var4, int var5, float var6) {
|
||||
this.modelBlock.dropBlockAsItemWithChance(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
this.modelBlock.onEntityWalking(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onEntityWalking(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
this.modelBlock.onEntityWalking(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
this.modelBlock.updateTick(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
this.modelBlock.updateTick(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
return this.modelBlock.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
return this.modelBlock.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) {
|
||||
this.modelBlock.onBlockDestroyedByExplosion(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockDestroyedByExplosion(World var1, int var2, int var3, int var4) {
|
||||
this.modelBlock.onBlockDestroyedByExplosion(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
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;
|
||||
if(var6 == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
}
|
||||
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;
|
||||
if (var6 == 0) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
}
|
||||
|
||||
if(var6 == 1) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
}
|
||||
if (var6 == 1) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
}
|
||||
|
||||
if(var6 == 2) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
}
|
||||
if (var6 == 2) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
}
|
||||
|
||||
if(var6 == 3) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
if (var6 == 3) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,59 +1,60 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockStationary extends BlockFluid {
|
||||
protected BlockStationary(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
this.setTickOnLoad(false);
|
||||
if(var2 == Material.lava) {
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockStationary(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
this.setTickOnLoad(false);
|
||||
if (var2 == Material.lava) {
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
if(var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
this.func_30005_i(var1, var2, var3, var4);
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
super.onNeighborBlockChange(var1, var2, var3, var4, var5);
|
||||
if (var1.getBlockId(var2, var3, var4) == this.blockID) {
|
||||
this.func_30005_i(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void func_30005_i(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var1.editingBlocks = true;
|
||||
var1.setBlockAndMetadata(var2, var3, var4, this.blockID - 1, var5);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID - 1, this.tickRate());
|
||||
var1.editingBlocks = false;
|
||||
}
|
||||
private void func_30005_i(World var1, int var2, int var3, int var4) {
|
||||
int var5 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var1.editingBlocks = true;
|
||||
var1.setBlockAndMetadata(var2, var3, var4, this.blockID - 1, var5);
|
||||
var1.markBlocksDirty(var2, var3, var4, var2, var3, var4);
|
||||
var1.scheduleUpdateTick(var2, var3, var4, this.blockID - 1, this.tickRate());
|
||||
var1.editingBlocks = false;
|
||||
}
|
||||
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if(this.blockMaterial == Material.lava) {
|
||||
int var6 = var5.nextInt(3);
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
if (this.blockMaterial == Material.lava) {
|
||||
int var6 = var5.nextInt(3);
|
||||
|
||||
for(int var7 = 0; var7 < var6; ++var7) {
|
||||
var2 += var5.nextInt(3) - 1;
|
||||
++var3;
|
||||
var4 += var5.nextInt(3) - 1;
|
||||
int var8 = var1.getBlockId(var2, var3, var4);
|
||||
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)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.fire.blockID);
|
||||
return;
|
||||
}
|
||||
} else if(Block.blocksList[var8].blockMaterial.getIsSolid()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var7 = 0; var7 < var6; ++var7) {
|
||||
var2 += var5.nextInt(3) - 1;
|
||||
++var3;
|
||||
var4 += var5.nextInt(3) - 1;
|
||||
int var8 = var1.getBlockId(var2, var3, var4);
|
||||
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)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, Block.fire.blockID);
|
||||
return;
|
||||
}
|
||||
} else if (Block.blocksList[var8].blockMaterial.getIsSolid()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean func_4033_j(World var1, int var2, int var3, int var4) {
|
||||
return var1.getBlockMaterial(var2, var3, var4).getBurning();
|
||||
}
|
||||
private boolean func_4033_j(World var1, int var2, int var3, int var4) {
|
||||
return var1.getBlockMaterial(var2, var3, var4).getBurning();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,65 +1,66 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockStep extends Block {
|
||||
public static final String[] field_22027_a = new String[]{"stone", "sand", "wood", "cobble"};
|
||||
private boolean blockType;
|
||||
public static final String[] field_22027_a = new String[]{"stone", "sand", "wood", "cobble"};
|
||||
private boolean blockType;
|
||||
|
||||
public BlockStep(int var1, boolean var2) {
|
||||
super(var1, 6, Material.rock);
|
||||
this.blockType = var2;
|
||||
if(!var2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
||||
}
|
||||
public BlockStep(int var1, boolean var2) {
|
||||
super(var1, 6, Material.rock);
|
||||
this.blockType = var2;
|
||||
if (!var2) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
||||
}
|
||||
|
||||
this.setLightOpacity(255);
|
||||
}
|
||||
this.setLightOpacity(255);
|
||||
}
|
||||
|
||||
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)));
|
||||
}
|
||||
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)));
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.getBlockTextureFromSideAndMetadata(var1, 0);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return this.getBlockTextureFromSideAndMetadata(var1, 0);
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return this.blockType;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return this.blockType;
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if(this != Block.stairSingle) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if (this != Block.stairSingle) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
int var5 = var1.getBlockId(var2, var3 - 1, var4);
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var1.getBlockMetadata(var2, var3 - 1, var4);
|
||||
if(var6 == var7) {
|
||||
if(var5 == stairSingle.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, Block.stairDouble.blockID, var6);
|
||||
}
|
||||
int var5 = var1.getBlockId(var2, var3 - 1, var4);
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var1.getBlockMetadata(var2, var3 - 1, var4);
|
||||
if (var6 == var7) {
|
||||
if (var5 == stairSingle.blockID) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
var1.setBlockAndMetadataWithNotify(var2, var3 - 1, var4, Block.stairDouble.blockID, var6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.stairSingle.blockID;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.stairSingle.blockID;
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return this.blockType ? 2 : 1;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return this.blockType ? 2 : 1;
|
||||
}
|
||||
|
||||
protected int damageDropped(int var1) {
|
||||
return var1;
|
||||
}
|
||||
protected int damageDropped(int var1) {
|
||||
return var1;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return this.blockType;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return this.blockType;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
||||
public class BlockStone extends Block {
|
||||
public BlockStone(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
import java.util.Random;
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.cobblestone.blockID;
|
||||
}
|
||||
public class BlockStone extends Block {
|
||||
public BlockStone(int var1, int var2) {
|
||||
super(var1, var2, Material.rock);
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Block.cobblestone.blockID;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.entity.EntityTNTPrimed;
|
||||
|
|
@ -8,64 +7,66 @@ import net.minecraft.item.Item;
|
|||
import net.minecraft.item.crafting.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockTNT extends Block {
|
||||
public BlockTNT(int var1, int var2) {
|
||||
super(var1, var2, Material.tnt);
|
||||
}
|
||||
public BlockTNT(int var1, int var2) {
|
||||
super(var1, var2, Material.tnt);
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 0 ? this.blockIndexInTexture + 2 : (var1 == 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture);
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 0 ? this.blockIndexInTexture + 2 : (var1 == 1 ? this.blockIndexInTexture + 1 : this.blockIndexInTexture);
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
if(var1.isBlockIndirectlyGettingPowered(var2, var3, var4)) {
|
||||
this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
super.onBlockAdded(var1, var2, var3, var4);
|
||||
if (var1.isBlockIndirectlyGettingPowered(var2, var3, var4)) {
|
||||
this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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)) {
|
||||
this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
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)) {
|
||||
this.onBlockDestroyedByPlayer(var1, var2, var3, var4, 1);
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
public int quantityDropped(Random var1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
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));
|
||||
var5.fuse = var1.rand.nextInt(var5.fuse / 4) + var5.fuse / 8;
|
||||
var1.entityJoinedWorld(var5);
|
||||
}
|
||||
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));
|
||||
var5.fuse = var1.rand.nextInt(var5.fuse / 4) + var5.fuse / 8;
|
||||
var1.entityJoinedWorld(var5);
|
||||
}
|
||||
|
||||
public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
if((var5 & 1) == 0) {
|
||||
this.dropBlockAsItem_do(var1, var2, var3, var4, new ItemStack(Block.tnt.blockID, 1, 0));
|
||||
} else {
|
||||
EntityTNTPrimed var6 = new EntityTNTPrimed(var1, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F));
|
||||
var1.entityJoinedWorld(var6);
|
||||
var1.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F);
|
||||
}
|
||||
public void onBlockDestroyedByPlayer(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
if ((var5 & 1) == 0) {
|
||||
this.dropBlockAsItem_do(var1, var2, var3, var4, new ItemStack(Block.tnt.blockID, 1, 0));
|
||||
} else {
|
||||
EntityTNTPrimed var6 = new EntityTNTPrimed(var1, (double) ((float) var2 + 0.5F), (double) ((float) var3 + 0.5F), (double) ((float) var4 + 0.5F));
|
||||
var1.entityJoinedWorld(var6);
|
||||
var1.playSoundAtEntity(var6, "random.fuse", 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(var5.getCurrentEquippedItem() != null && var5.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex) {
|
||||
var1.setBlockMetadata(var2, var3, var4, 1);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var5.getCurrentEquippedItem() != null && var5.getCurrentEquippedItem().itemID == Item.flintAndSteel.shiftedIndex) {
|
||||
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) {
|
||||
return super.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
return super.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,21 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockTallGrass extends BlockFlower {
|
||||
protected BlockTallGrass(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.4F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, 0.8F, 0.5F + var3);
|
||||
}
|
||||
protected BlockTallGrass(int var1, int var2) {
|
||||
super(var1, var2);
|
||||
float var3 = 0.4F;
|
||||
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) {
|
||||
return var2 == 1 ? this.blockIndexInTexture : (var2 == 2 ? this.blockIndexInTexture + 16 + 1 : (var2 == 0 ? this.blockIndexInTexture + 16 : this.blockIndexInTexture));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return var2.nextInt(8) == 0 ? Item.seeds.shiftedIndex : -1;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return var2.nextInt(8) == 0 ? Item.seeds.shiftedIndex : -1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,145 +1,146 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.math.Vec3D;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockTorch extends Block {
|
||||
protected BlockTorch(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
protected BlockTorch(int var1, int var2) {
|
||||
super(var1, var2, Material.circuits);
|
||||
this.setTickOnLoad(true);
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
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))));
|
||||
}
|
||||
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))));
|
||||
}
|
||||
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if(var5 == 1 && this.func_31028_g(var1, var2, var3 - 1, var4)) {
|
||||
var6 = 5;
|
||||
}
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
if (var5 == 1 && this.func_31028_g(var1, var2, var3 - 1, var4)) {
|
||||
var6 = 5;
|
||||
}
|
||||
|
||||
if(var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 4;
|
||||
}
|
||||
if (var5 == 2 && var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var6 = 4;
|
||||
}
|
||||
|
||||
if(var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
}
|
||||
if (var5 == 3 && var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var6 = 3;
|
||||
}
|
||||
|
||||
if(var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 2;
|
||||
}
|
||||
if (var5 == 4 && var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var6 = 2;
|
||||
}
|
||||
|
||||
if(var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var6 = 1;
|
||||
}
|
||||
if (var5 == 5 && var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
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) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
if(var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
this.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
public void updateTick(World var1, int var2, int var3, int var4, Random var5) {
|
||||
super.updateTick(var1, var2, var3, var4, var5);
|
||||
if (var1.getBlockMetadata(var2, var3, var4) == 0) {
|
||||
this.onBlockAdded(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if(var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
} else if(var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
} else if(var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
} else if(var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
|
||||
} else if(this.func_31028_g(var1, var2, var3 - 1, var4)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 5);
|
||||
}
|
||||
public void onBlockAdded(World var1, int var2, int var3, int var4) {
|
||||
if (var1.isBlockNormalCube(var2 - 1, var3, var4)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 1);
|
||||
} else if (var1.isBlockNormalCube(var2 + 1, var3, var4)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 2);
|
||||
} else if (var1.isBlockNormalCube(var2, var3, var4 - 1)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 3);
|
||||
} else if (var1.isBlockNormalCube(var2, var3, var4 + 1)) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, 4);
|
||||
} else if (this.func_31028_g(var1, var2, var3 - 1, var4)) {
|
||||
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) {
|
||||
if(this.dropTorchIfCantStay(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = false;
|
||||
if(!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
|
||||
var7 = true;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (this.dropTorchIfCantStay(var1, var2, var3, var4)) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = false;
|
||||
if (!var1.isBlockNormalCube(var2 - 1, var3, var4) && var6 == 1) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2 + 1, var3, var4) && var6 == 2) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3, var4 - 1) && var6 == 3) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var2, var3, var4 + 1) && var6 == 4) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(!this.func_31028_g(var1, var2, var3 - 1, var4) && var6 == 5) {
|
||||
var7 = true;
|
||||
}
|
||||
if (!this.func_31028_g(var1, var2, var3 - 1, var4) && var6 == 5) {
|
||||
var7 = true;
|
||||
}
|
||||
|
||||
if(var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
if (var7) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean dropTorchIfCantStay(World var1, int var2, int var3, int var4) {
|
||||
if(!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean dropTorchIfCantStay(World var1, int var2, int var3, int var4) {
|
||||
if (!this.canPlaceBlockAt(var1, var2, var3, var4)) {
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var1.getBlockMetadata(var2, var3, var4));
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
float var8 = 0.15F;
|
||||
if(var7 == 1) {
|
||||
this.setBlockBounds(0.0F, 0.2F, 0.5F - var8, var8 * 2.0F, 0.8F, 0.5F + var8);
|
||||
} else if(var7 == 2) {
|
||||
this.setBlockBounds(1.0F - var8 * 2.0F, 0.2F, 0.5F - var8, 1.0F, 0.8F, 0.5F + var8);
|
||||
} else if(var7 == 3) {
|
||||
this.setBlockBounds(0.5F - var8, 0.2F, 0.0F, 0.5F + var8, 0.8F, var8 * 2.0F);
|
||||
} else if(var7 == 4) {
|
||||
this.setBlockBounds(0.5F - var8, 0.2F, 1.0F - var8 * 2.0F, 0.5F + var8, 0.8F, 1.0F);
|
||||
} else {
|
||||
var8 = 0.1F;
|
||||
this.setBlockBounds(0.5F - var8, 0.0F, 0.5F - var8, 0.5F + var8, 0.6F, 0.5F + var8);
|
||||
}
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
int var7 = var1.getBlockMetadata(var2, var3, var4) & 7;
|
||||
float var8 = 0.15F;
|
||||
if (var7 == 1) {
|
||||
this.setBlockBounds(0.0F, 0.2F, 0.5F - var8, var8 * 2.0F, 0.8F, 0.5F + var8);
|
||||
} else if (var7 == 2) {
|
||||
this.setBlockBounds(1.0F - var8 * 2.0F, 0.2F, 0.5F - var8, 1.0F, 0.8F, 0.5F + var8);
|
||||
} else if (var7 == 3) {
|
||||
this.setBlockBounds(0.5F - var8, 0.2F, 0.0F, 0.5F + var8, 0.8F, var8 * 2.0F);
|
||||
} else if (var7 == 4) {
|
||||
this.setBlockBounds(0.5F - var8, 0.2F, 1.0F - var8 * 2.0F, 0.5F + var8, 0.8F, 1.0F);
|
||||
} else {
|
||||
var8 = 0.1F;
|
||||
this.setBlockBounds(0.5F - var8, 0.0F, 0.5F - var8, 0.5F + var8, 0.6F, 0.5F + var8);
|
||||
}
|
||||
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,169 +9,169 @@ import net.minecraft.world.IBlockAccess;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockTrapDoor extends Block {
|
||||
protected BlockTrapDoor(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
this.blockIndexInTexture = 84;
|
||||
if(var2 == Material.iron) {
|
||||
++this.blockIndexInTexture;
|
||||
}
|
||||
protected BlockTrapDoor(int var1, Material var2) {
|
||||
super(var1, var2);
|
||||
this.blockIndexInTexture = 84;
|
||||
if (var2 == Material.iron) {
|
||||
++this.blockIndexInTexture;
|
||||
}
|
||||
|
||||
float var3 = 0.5F;
|
||||
float var4 = 1.0F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3);
|
||||
}
|
||||
float var3 = 0.5F;
|
||||
float var4 = 1.0F;
|
||||
this.setBlockBounds(0.5F - var3, 0.0F, 0.5F - var3, 0.5F + var3, var4, 0.5F + var3);
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.getCollisionBoundingBoxFromPool(var1, var2, var3, var4);
|
||||
}
|
||||
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
this.func_28039_c(var1.getBlockMetadata(var2, var3, var4));
|
||||
}
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess var1, int var2, int var3, int var4) {
|
||||
this.func_28039_c(var1.getBlockMetadata(var2, var3, var4));
|
||||
}
|
||||
|
||||
public void func_28039_c(int var1) {
|
||||
float var2 = 3.0F / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var2, 1.0F);
|
||||
if(func_28038_d(var1)) {
|
||||
if((var1 & 3) == 0) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
public void func_28039_c(int var1) {
|
||||
float var2 = 3.0F / 16.0F;
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, var2, 1.0F);
|
||||
if (func_28038_d(var1)) {
|
||||
if ((var1 & 3) == 0) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 1.0F - var2, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if((var1 & 3) == 1) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2);
|
||||
}
|
||||
if ((var1 & 3) == 1) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, var2);
|
||||
}
|
||||
|
||||
if((var1 & 3) == 2) {
|
||||
this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
if ((var1 & 3) == 2) {
|
||||
this.setBlockBounds(1.0F - var2, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
if((var1 & 3) == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
if ((var1 & 3) == 3) {
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, var2, 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
public void onBlockClicked(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
this.blockActivated(var1, var2, var3, var4, var5);
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(this.blockMaterial == Material.iron) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.func_28101_a(var5, 1003, var2, var3, var4, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (this.blockMaterial == Material.iron) {
|
||||
return true;
|
||||
} else {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.func_28101_a(var5, 1003, var2, var3, var4, 0);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public void func_28040_a(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = (var6 & 4) > 0;
|
||||
if(var7 != var5) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.func_28101_a((EntityPlayer)null, 1003, var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
public void func_28040_a(World var1, int var2, int var3, int var4, boolean var5) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
boolean var7 = (var6 & 4) > 0;
|
||||
if (var7 != var5) {
|
||||
var1.setBlockMetadataWithNotify(var2, var3, var4, var6 ^ 4);
|
||||
var1.func_28101_a((EntityPlayer) null, 1003, var2, var3, var4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if(!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var2;
|
||||
int var8 = var4;
|
||||
if((var6 & 3) == 0) {
|
||||
var8 = var4 + 1;
|
||||
}
|
||||
public void onNeighborBlockChange(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (!var1.singleplayerWorld) {
|
||||
int var6 = var1.getBlockMetadata(var2, var3, var4);
|
||||
int var7 = var2;
|
||||
int var8 = var4;
|
||||
if ((var6 & 3) == 0) {
|
||||
var8 = var4 + 1;
|
||||
}
|
||||
|
||||
if((var6 & 3) == 1) {
|
||||
--var8;
|
||||
}
|
||||
if ((var6 & 3) == 1) {
|
||||
--var8;
|
||||
}
|
||||
|
||||
if((var6 & 3) == 2) {
|
||||
var7 = var2 + 1;
|
||||
}
|
||||
if ((var6 & 3) == 2) {
|
||||
var7 = var2 + 1;
|
||||
}
|
||||
|
||||
if((var6 & 3) == 3) {
|
||||
--var7;
|
||||
}
|
||||
if ((var6 & 3) == 3) {
|
||||
--var7;
|
||||
}
|
||||
|
||||
if(!var1.isBlockNormalCube(var7, var3, var8)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
}
|
||||
if (!var1.isBlockNormalCube(var7, var3, var8)) {
|
||||
var1.setBlockWithNotify(var2, var3, var4, 0);
|
||||
this.dropBlockAsItem(var1, var2, var3, var4, var6);
|
||||
}
|
||||
|
||||
if(var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var9 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4);
|
||||
this.func_28040_a(var1, var2, var3, var4, var9);
|
||||
}
|
||||
if (var5 > 0 && Block.blocksList[var5].canProvidePower()) {
|
||||
boolean var9 = var1.isBlockIndirectlyGettingPowered(var2, var3, var4);
|
||||
this.func_28040_a(var1, var2, var3, var4, var9);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
public MovingObjectPosition collisionRayTrace(World var1, int var2, int var3, int var4, Vec3D var5, Vec3D var6) {
|
||||
this.setBlockBoundsBasedOnState(var1, var2, var3, var4);
|
||||
return super.collisionRayTrace(var1, var2, var3, var4, var5, var6);
|
||||
}
|
||||
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
byte var6 = 0;
|
||||
if(var5 == 2) {
|
||||
var6 = 0;
|
||||
}
|
||||
public void onBlockPlaced(World var1, int var2, int var3, int var4, int var5) {
|
||||
byte var6 = 0;
|
||||
if (var5 == 2) {
|
||||
var6 = 0;
|
||||
}
|
||||
|
||||
if(var5 == 3) {
|
||||
var6 = 1;
|
||||
}
|
||||
if (var5 == 3) {
|
||||
var6 = 1;
|
||||
}
|
||||
|
||||
if(var5 == 4) {
|
||||
var6 = 2;
|
||||
}
|
||||
if (var5 == 4) {
|
||||
var6 = 2;
|
||||
}
|
||||
|
||||
if(var5 == 5) {
|
||||
var6 = 3;
|
||||
}
|
||||
if (var5 == 5) {
|
||||
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) {
|
||||
if(var5 == 0) {
|
||||
return false;
|
||||
} else if(var5 == 1) {
|
||||
return false;
|
||||
} else {
|
||||
if(var5 == 2) {
|
||||
++var4;
|
||||
}
|
||||
public boolean canPlaceBlockOnSide(World var1, int var2, int var3, int var4, int var5) {
|
||||
if (var5 == 0) {
|
||||
return false;
|
||||
} else if (var5 == 1) {
|
||||
return false;
|
||||
} else {
|
||||
if (var5 == 2) {
|
||||
++var4;
|
||||
}
|
||||
|
||||
if(var5 == 3) {
|
||||
--var4;
|
||||
}
|
||||
if (var5 == 3) {
|
||||
--var4;
|
||||
}
|
||||
|
||||
if(var5 == 4) {
|
||||
++var2;
|
||||
}
|
||||
if (var5 == 4) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if(var5 == 5) {
|
||||
--var2;
|
||||
}
|
||||
if (var5 == 5) {
|
||||
--var2;
|
||||
}
|
||||
|
||||
return var1.isBlockNormalCube(var2, var3, var4);
|
||||
}
|
||||
}
|
||||
return var1.isBlockNormalCube(var2, var3, var4);
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean func_28038_d(int var0) {
|
||||
return (var0 & 4) != 0;
|
||||
}
|
||||
public static boolean func_28038_d(int var0) {
|
||||
return (var0 & 4) != 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,35 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class BlockWeb extends Block {
|
||||
public BlockWeb(int var1, int var2) {
|
||||
super(var1, var2, Material.web);
|
||||
}
|
||||
public BlockWeb(int var1, int var2) {
|
||||
super(var1, var2, Material.web);
|
||||
}
|
||||
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
var5.field_27012_bb = true;
|
||||
}
|
||||
public void onEntityCollidedWithBlock(World var1, int var2, int var3, int var4, Entity var5) {
|
||||
var5.field_27012_bb = true;
|
||||
}
|
||||
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isOpaqueCube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World var1, int var2, int var3, int var4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
public boolean isACube() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.silk.shiftedIndex;
|
||||
}
|
||||
public int idDropped(int var1, Random var2) {
|
||||
return Item.silk.shiftedIndex;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,21 +5,21 @@ import net.minecraft.entity.EntityPlayer;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockWorkbench extends Block {
|
||||
protected BlockWorkbench(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 59;
|
||||
}
|
||||
protected BlockWorkbench(int var1) {
|
||||
super(var1, Material.wood);
|
||||
this.blockIndexInTexture = 59;
|
||||
}
|
||||
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? Block.planks.getBlockTextureFromSide(0) : (var1 != 2 && var1 != 4 ? this.blockIndexInTexture : this.blockIndexInTexture + 1));
|
||||
}
|
||||
public int getBlockTextureFromSide(int var1) {
|
||||
return var1 == 1 ? this.blockIndexInTexture - 16 : (var1 == 0 ? Block.planks.getBlockTextureFromSide(0) : (var1 != 2 && var1 != 4 ? this.blockIndexInTexture : this.blockIndexInTexture + 1));
|
||||
}
|
||||
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if(var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
var5.displayWorkbenchGUI(var2, var3, var4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean blockActivated(World var1, int var2, int var3, int var4, EntityPlayer var5) {
|
||||
if (var1.singleplayerWorld) {
|
||||
return true;
|
||||
} else {
|
||||
var5.displayWorkbenchGUI(var2, var3, var4);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,350 +1,351 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.minecraft.math.ChunkPosition;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
class RailLogic {
|
||||
private World worldObj;
|
||||
private int trackX;
|
||||
private int trackY;
|
||||
private int trackZ;
|
||||
private final boolean field_27084_f;
|
||||
private List connectedTracks;
|
||||
final BlockRail minecartTrack;
|
||||
private World worldObj;
|
||||
private int trackX;
|
||||
private int trackY;
|
||||
private int trackZ;
|
||||
private final boolean field_27084_f;
|
||||
private List connectedTracks;
|
||||
final BlockRail minecartTrack;
|
||||
|
||||
public RailLogic(BlockRail var1, World var2, int var3, int var4, int var5) {
|
||||
this.minecartTrack = var1;
|
||||
this.connectedTracks = new ArrayList();
|
||||
this.worldObj = var2;
|
||||
this.trackX = var3;
|
||||
this.trackY = var4;
|
||||
this.trackZ = var5;
|
||||
int var6 = var2.getBlockId(var3, var4, var5);
|
||||
int var7 = var2.getBlockMetadata(var3, var4, var5);
|
||||
if(BlockRail.func_27033_a((BlockRail)Block.blocksList[var6])) {
|
||||
this.field_27084_f = true;
|
||||
var7 &= -9;
|
||||
} else {
|
||||
this.field_27084_f = false;
|
||||
}
|
||||
public RailLogic(BlockRail var1, World var2, int var3, int var4, int var5) {
|
||||
this.minecartTrack = var1;
|
||||
this.connectedTracks = new ArrayList();
|
||||
this.worldObj = var2;
|
||||
this.trackX = var3;
|
||||
this.trackY = var4;
|
||||
this.trackZ = var5;
|
||||
int var6 = var2.getBlockId(var3, var4, var5);
|
||||
int var7 = var2.getBlockMetadata(var3, var4, var5);
|
||||
if (BlockRail.func_27033_a((BlockRail) Block.blocksList[var6])) {
|
||||
this.field_27084_f = true;
|
||||
var7 &= -9;
|
||||
} else {
|
||||
this.field_27084_f = false;
|
||||
}
|
||||
|
||||
this.func_27083_a(var7);
|
||||
}
|
||||
this.func_27083_a(var7);
|
||||
}
|
||||
|
||||
private void func_27083_a(int var1) {
|
||||
this.connectedTracks.clear();
|
||||
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));
|
||||
} 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));
|
||||
} 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 + 1, this.trackZ));
|
||||
} 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, this.trackZ));
|
||||
} 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, this.trackZ + 1));
|
||||
} 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 + 1, this.trackZ + 1));
|
||||
} else if(var1 == 6) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1));
|
||||
} else if(var1 == 7) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1));
|
||||
} else if(var1 == 8) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1));
|
||||
} else if(var1 == 9) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1));
|
||||
}
|
||||
private void func_27083_a(int var1) {
|
||||
this.connectedTracks.clear();
|
||||
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));
|
||||
} 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));
|
||||
} 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 + 1, this.trackZ));
|
||||
} 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, this.trackZ));
|
||||
} 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, this.trackZ + 1));
|
||||
} 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 + 1, this.trackZ + 1));
|
||||
} else if (var1 == 6) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1));
|
||||
} else if (var1 == 7) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ + 1));
|
||||
} else if (var1 == 8) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX - 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1));
|
||||
} else if (var1 == 9) {
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX + 1, this.trackY, this.trackZ));
|
||||
this.connectedTracks.add(new ChunkPosition(this.trackX, this.trackY, this.trackZ - 1));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void func_591_b() {
|
||||
for(int var1 = 0; var1 < this.connectedTracks.size(); ++var1) {
|
||||
RailLogic var2 = this.getMinecartTrackLogic((ChunkPosition)this.connectedTracks.get(var1));
|
||||
if(var2 != null && var2.isConnectedTo(this)) {
|
||||
this.connectedTracks.set(var1, new ChunkPosition(var2.trackX, var2.trackY, var2.trackZ));
|
||||
} else {
|
||||
this.connectedTracks.remove(var1--);
|
||||
}
|
||||
}
|
||||
private void func_591_b() {
|
||||
for (int var1 = 0; var1 < this.connectedTracks.size(); ++var1) {
|
||||
RailLogic var2 = this.getMinecartTrackLogic((ChunkPosition) this.connectedTracks.get(var1));
|
||||
if (var2 != null && var2.isConnectedTo(this)) {
|
||||
this.connectedTracks.set(var1, new ChunkPosition(var2.trackX, var2.trackY, var2.trackZ));
|
||||
} else {
|
||||
this.connectedTracks.remove(var1--);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private 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));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
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));
|
||||
}
|
||||
|
||||
private boolean isConnectedTo(RailLogic var1) {
|
||||
for(int var2 = 0; var2 < this.connectedTracks.size(); ++var2) {
|
||||
ChunkPosition var3 = (ChunkPosition)this.connectedTracks.get(var2);
|
||||
if(var3.x == var1.trackX && var3.z == var1.trackZ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean isConnectedTo(RailLogic var1) {
|
||||
for (int var2 = 0; var2 < this.connectedTracks.size(); ++var2) {
|
||||
ChunkPosition var3 = (ChunkPosition) this.connectedTracks.get(var2);
|
||||
if (var3.x == var1.trackX && var3.z == var1.trackZ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean func_599_b(int var1, int var2, int var3) {
|
||||
for(int var4 = 0; var4 < this.connectedTracks.size(); ++var4) {
|
||||
ChunkPosition var5 = (ChunkPosition)this.connectedTracks.get(var4);
|
||||
if(var5.x == var1 && var5.z == var3) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
private boolean func_599_b(int var1, int var2, int var3) {
|
||||
for (int var4 = 0; var4 < this.connectedTracks.size(); ++var4) {
|
||||
ChunkPosition var5 = (ChunkPosition) this.connectedTracks.get(var4);
|
||||
if (var5.x == var1 && var5.z == var3) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private int getAdjacentTracks() {
|
||||
int var1 = 0;
|
||||
if(this.isMinecartTrack(this.trackX, this.trackY, this.trackZ - 1)) {
|
||||
++var1;
|
||||
}
|
||||
private int getAdjacentTracks() {
|
||||
int var1 = 0;
|
||||
if (this.isMinecartTrack(this.trackX, this.trackY, this.trackZ - 1)) {
|
||||
++var1;
|
||||
}
|
||||
|
||||
if(this.isMinecartTrack(this.trackX, this.trackY, this.trackZ + 1)) {
|
||||
++var1;
|
||||
}
|
||||
if (this.isMinecartTrack(this.trackX, this.trackY, this.trackZ + 1)) {
|
||||
++var1;
|
||||
}
|
||||
|
||||
if(this.isMinecartTrack(this.trackX - 1, this.trackY, this.trackZ)) {
|
||||
++var1;
|
||||
}
|
||||
if (this.isMinecartTrack(this.trackX - 1, this.trackY, this.trackZ)) {
|
||||
++var1;
|
||||
}
|
||||
|
||||
if(this.isMinecartTrack(this.trackX + 1, this.trackY, this.trackZ)) {
|
||||
++var1;
|
||||
}
|
||||
if (this.isMinecartTrack(this.trackX + 1, this.trackY, this.trackZ)) {
|
||||
++var1;
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
return var1;
|
||||
}
|
||||
|
||||
private boolean handleKeyPress(RailLogic var1) {
|
||||
if(this.isConnectedTo(var1)) {
|
||||
return true;
|
||||
} else if(this.connectedTracks.size() == 2) {
|
||||
return false;
|
||||
} else if(this.connectedTracks.size() == 0) {
|
||||
return true;
|
||||
} else {
|
||||
ChunkPosition var2 = (ChunkPosition)this.connectedTracks.get(0);
|
||||
return var1.trackY == this.trackY && var2.y == this.trackY ? true : true;
|
||||
}
|
||||
}
|
||||
private boolean handleKeyPress(RailLogic var1) {
|
||||
if (this.isConnectedTo(var1)) {
|
||||
return true;
|
||||
} else if (this.connectedTracks.size() == 2) {
|
||||
return false;
|
||||
} else if (this.connectedTracks.size() == 0) {
|
||||
return true;
|
||||
} else {
|
||||
ChunkPosition var2 = (ChunkPosition) this.connectedTracks.get(0);
|
||||
return var1.trackY == this.trackY && var2.y == this.trackY ? true : true;
|
||||
}
|
||||
}
|
||||
|
||||
private void func_598_d(RailLogic var1) {
|
||||
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 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 var5 = this.func_599_b(this.trackX + 1, this.trackY, this.trackZ);
|
||||
byte var6 = -1;
|
||||
if(var2 || var3) {
|
||||
var6 = 0;
|
||||
}
|
||||
private void func_598_d(RailLogic var1) {
|
||||
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 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 var5 = this.func_599_b(this.trackX + 1, this.trackY, this.trackZ);
|
||||
byte var6 = -1;
|
||||
if (var2 || var3) {
|
||||
var6 = 0;
|
||||
}
|
||||
|
||||
if(var4 || var5) {
|
||||
var6 = 1;
|
||||
}
|
||||
if (var4 || var5) {
|
||||
var6 = 1;
|
||||
}
|
||||
|
||||
if(!this.field_27084_f) {
|
||||
if(var3 && var5 && !var2 && !var4) {
|
||||
var6 = 6;
|
||||
}
|
||||
if (!this.field_27084_f) {
|
||||
if (var3 && var5 && !var2 && !var4) {
|
||||
var6 = 6;
|
||||
}
|
||||
|
||||
if(var3 && var4 && !var2 && !var5) {
|
||||
var6 = 7;
|
||||
}
|
||||
if (var3 && var4 && !var2 && !var5) {
|
||||
var6 = 7;
|
||||
}
|
||||
|
||||
if(var2 && var4 && !var3 && !var5) {
|
||||
var6 = 8;
|
||||
}
|
||||
if (var2 && var4 && !var3 && !var5) {
|
||||
var6 = 8;
|
||||
}
|
||||
|
||||
if(var2 && var5 && !var3 && !var4) {
|
||||
var6 = 9;
|
||||
}
|
||||
}
|
||||
if (var2 && var5 && !var3 && !var4) {
|
||||
var6 = 9;
|
||||
}
|
||||
}
|
||||
|
||||
if(var6 == 0) {
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) {
|
||||
var6 = 4;
|
||||
}
|
||||
if (var6 == 0) {
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) {
|
||||
var6 = 4;
|
||||
}
|
||||
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) {
|
||||
var6 = 5;
|
||||
}
|
||||
}
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) {
|
||||
var6 = 5;
|
||||
}
|
||||
}
|
||||
|
||||
if(var6 == 1) {
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) {
|
||||
var6 = 2;
|
||||
}
|
||||
if (var6 == 1) {
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) {
|
||||
var6 = 2;
|
||||
}
|
||||
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) {
|
||||
var6 = 3;
|
||||
}
|
||||
}
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) {
|
||||
var6 = 3;
|
||||
}
|
||||
}
|
||||
|
||||
if(var6 < 0) {
|
||||
var6 = 0;
|
||||
}
|
||||
if (var6 < 0) {
|
||||
var6 = 0;
|
||||
}
|
||||
|
||||
int var7 = var6;
|
||||
if(this.field_27084_f) {
|
||||
var7 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var6;
|
||||
}
|
||||
int var7 = var6;
|
||||
if (this.field_27084_f) {
|
||||
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) {
|
||||
RailLogic var4 = this.getMinecartTrackLogic(new ChunkPosition(var1, var2, var3));
|
||||
if(var4 == null) {
|
||||
return false;
|
||||
} else {
|
||||
var4.func_591_b();
|
||||
return var4.handleKeyPress(this);
|
||||
}
|
||||
}
|
||||
private boolean func_592_c(int var1, int var2, int var3) {
|
||||
RailLogic var4 = this.getMinecartTrackLogic(new ChunkPosition(var1, var2, var3));
|
||||
if (var4 == null) {
|
||||
return false;
|
||||
} else {
|
||||
var4.func_591_b();
|
||||
return var4.handleKeyPress(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void func_596_a(boolean var1, boolean var2) {
|
||||
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 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);
|
||||
byte var7 = -1;
|
||||
if((var3 || var4) && !var5 && !var6) {
|
||||
var7 = 0;
|
||||
}
|
||||
public void func_596_a(boolean var1, boolean var2) {
|
||||
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 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);
|
||||
byte var7 = -1;
|
||||
if ((var3 || var4) && !var5 && !var6) {
|
||||
var7 = 0;
|
||||
}
|
||||
|
||||
if((var5 || var6) && !var3 && !var4) {
|
||||
var7 = 1;
|
||||
}
|
||||
if ((var5 || var6) && !var3 && !var4) {
|
||||
var7 = 1;
|
||||
}
|
||||
|
||||
if(!this.field_27084_f) {
|
||||
if(var4 && var6 && !var3 && !var5) {
|
||||
var7 = 6;
|
||||
}
|
||||
if (!this.field_27084_f) {
|
||||
if (var4 && var6 && !var3 && !var5) {
|
||||
var7 = 6;
|
||||
}
|
||||
|
||||
if(var4 && var5 && !var3 && !var6) {
|
||||
var7 = 7;
|
||||
}
|
||||
if (var4 && var5 && !var3 && !var6) {
|
||||
var7 = 7;
|
||||
}
|
||||
|
||||
if(var3 && var5 && !var4 && !var6) {
|
||||
var7 = 8;
|
||||
}
|
||||
if (var3 && var5 && !var4 && !var6) {
|
||||
var7 = 8;
|
||||
}
|
||||
|
||||
if(var3 && var6 && !var4 && !var5) {
|
||||
var7 = 9;
|
||||
}
|
||||
}
|
||||
if (var3 && var6 && !var4 && !var5) {
|
||||
var7 = 9;
|
||||
}
|
||||
}
|
||||
|
||||
if(var7 == -1) {
|
||||
if(var3 || var4) {
|
||||
var7 = 0;
|
||||
}
|
||||
if (var7 == -1) {
|
||||
if (var3 || var4) {
|
||||
var7 = 0;
|
||||
}
|
||||
|
||||
if(var5 || var6) {
|
||||
var7 = 1;
|
||||
}
|
||||
if (var5 || var6) {
|
||||
var7 = 1;
|
||||
}
|
||||
|
||||
if(!this.field_27084_f) {
|
||||
if(var1) {
|
||||
if(var4 && var6) {
|
||||
var7 = 6;
|
||||
}
|
||||
if (!this.field_27084_f) {
|
||||
if (var1) {
|
||||
if (var4 && var6) {
|
||||
var7 = 6;
|
||||
}
|
||||
|
||||
if(var5 && var4) {
|
||||
var7 = 7;
|
||||
}
|
||||
if (var5 && var4) {
|
||||
var7 = 7;
|
||||
}
|
||||
|
||||
if(var6 && var3) {
|
||||
var7 = 9;
|
||||
}
|
||||
if (var6 && var3) {
|
||||
var7 = 9;
|
||||
}
|
||||
|
||||
if(var3 && var5) {
|
||||
var7 = 8;
|
||||
}
|
||||
} else {
|
||||
if(var3 && var5) {
|
||||
var7 = 8;
|
||||
}
|
||||
if (var3 && var5) {
|
||||
var7 = 8;
|
||||
}
|
||||
} else {
|
||||
if (var3 && var5) {
|
||||
var7 = 8;
|
||||
}
|
||||
|
||||
if(var6 && var3) {
|
||||
var7 = 9;
|
||||
}
|
||||
if (var6 && var3) {
|
||||
var7 = 9;
|
||||
}
|
||||
|
||||
if(var5 && var4) {
|
||||
var7 = 7;
|
||||
}
|
||||
if (var5 && var4) {
|
||||
var7 = 7;
|
||||
}
|
||||
|
||||
if(var4 && var6) {
|
||||
var7 = 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var4 && var6) {
|
||||
var7 = 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var7 == 0) {
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) {
|
||||
var7 = 4;
|
||||
}
|
||||
if (var7 == 0) {
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ - 1)) {
|
||||
var7 = 4;
|
||||
}
|
||||
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) {
|
||||
var7 = 5;
|
||||
}
|
||||
}
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX, this.trackY + 1, this.trackZ + 1)) {
|
||||
var7 = 5;
|
||||
}
|
||||
}
|
||||
|
||||
if(var7 == 1) {
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) {
|
||||
var7 = 2;
|
||||
}
|
||||
if (var7 == 1) {
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX + 1, this.trackY + 1, this.trackZ)) {
|
||||
var7 = 2;
|
||||
}
|
||||
|
||||
if(BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) {
|
||||
var7 = 3;
|
||||
}
|
||||
}
|
||||
if (BlockRail.func_27029_g(this.worldObj, this.trackX - 1, this.trackY + 1, this.trackZ)) {
|
||||
var7 = 3;
|
||||
}
|
||||
}
|
||||
|
||||
if(var7 < 0) {
|
||||
var7 = 0;
|
||||
}
|
||||
if (var7 < 0) {
|
||||
var7 = 0;
|
||||
}
|
||||
|
||||
this.func_27083_a(var7);
|
||||
int var8 = var7;
|
||||
if(this.field_27084_f) {
|
||||
var8 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var7;
|
||||
}
|
||||
this.func_27083_a(var7);
|
||||
int var8 = var7;
|
||||
if (this.field_27084_f) {
|
||||
var8 = this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) & 8 | var7;
|
||||
}
|
||||
|
||||
if(var2 || this.worldObj.getBlockMetadata(this.trackX, this.trackY, this.trackZ) != var8) {
|
||||
this.worldObj.setBlockMetadataWithNotify(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);
|
||||
|
||||
for(int var9 = 0; var9 < this.connectedTracks.size(); ++var9) {
|
||||
RailLogic var10 = this.getMinecartTrackLogic((ChunkPosition)this.connectedTracks.get(var9));
|
||||
if(var10 != null) {
|
||||
var10.func_591_b();
|
||||
if(var10.handleKeyPress(this)) {
|
||||
var10.func_598_d(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var9 = 0; var9 < this.connectedTracks.size(); ++var9) {
|
||||
RailLogic var10 = this.getMinecartTrackLogic((ChunkPosition) this.connectedTracks.get(var9));
|
||||
if (var10 != null) {
|
||||
var10.func_591_b();
|
||||
if (var10.handleKeyPress(this)) {
|
||||
var10.func_598_d(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static int getNAdjacentTracks(RailLogic var0) {
|
||||
return var0.getAdjacentTracks();
|
||||
}
|
||||
static int getNAdjacentTracks(RailLogic var0) {
|
||||
return var0.getAdjacentTracks();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
package net.minecraft.block;
|
||||
|
||||
class RedstoneUpdateInfo {
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
long updateTime;
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
long updateTime;
|
||||
|
||||
public RedstoneUpdateInfo(int var1, int var2, int var3, long var4) {
|
||||
this.x = var1;
|
||||
this.y = var2;
|
||||
this.z = var3;
|
||||
this.updateTime = var4;
|
||||
}
|
||||
public RedstoneUpdateInfo(int var1, int var2, int var3, long var4) {
|
||||
this.x = var1;
|
||||
this.y = var2;
|
||||
this.z = var3;
|
||||
this.updateTime = var4;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,108 +3,108 @@ package net.minecraft.block.material;
|
|||
import net.minecraft.item.map.MapColor;
|
||||
|
||||
public class Material {
|
||||
public static final Material air = new MaterialTransparent(MapColor.airColor);
|
||||
public static final Material grass = new Material(MapColor.grassColor);
|
||||
public static final Material ground = new Material(MapColor.dirtColor);
|
||||
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 iron = (new Material(MapColor.ironColor)).func_31058_n();
|
||||
public static final Material water = (new MaterialLiquid(MapColor.waterColor)).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 plants = (new MaterialLogic(MapColor.foliageColor)).setNoPushMobility();
|
||||
public static final Material sponge = new Material(MapColor.clothColor);
|
||||
public static final Material cloth = (new Material(MapColor.clothColor)).setBurning();
|
||||
public static final Material fire = (new MaterialTransparent(MapColor.airColor)).setNoPushMobility();
|
||||
public static final Material sand = new Material(MapColor.sandColor);
|
||||
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 tnt = (new Material(MapColor.tntColor)).setBurning().func_28129_i();
|
||||
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 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 cactus = (new Material(MapColor.foliageColor)).func_28129_i().setNoPushMobility();
|
||||
public static final Material clay = new Material(MapColor.clayColor);
|
||||
public static final Material pumpkin = (new Material(MapColor.foliageColor)).setNoPushMobility();
|
||||
public static final Material portal = (new MaterialPortal(MapColor.airColor)).setImmovableMobility();
|
||||
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 piston = (new Material(MapColor.stoneColor)).setImmovableMobility();
|
||||
private boolean canBurn;
|
||||
private boolean field_27091_A;
|
||||
private boolean isTranslucent;
|
||||
public final MapColor field_28131_A;
|
||||
private boolean field_31061_G = true;
|
||||
private int mobilityFlag;
|
||||
public static final Material air = new MaterialTransparent(MapColor.airColor);
|
||||
public static final Material grass = new Material(MapColor.grassColor);
|
||||
public static final Material ground = new Material(MapColor.dirtColor);
|
||||
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 iron = (new Material(MapColor.ironColor)).func_31058_n();
|
||||
public static final Material water = (new MaterialLiquid(MapColor.waterColor)).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 plants = (new MaterialLogic(MapColor.foliageColor)).setNoPushMobility();
|
||||
public static final Material sponge = new Material(MapColor.clothColor);
|
||||
public static final Material cloth = (new Material(MapColor.clothColor)).setBurning();
|
||||
public static final Material fire = (new MaterialTransparent(MapColor.airColor)).setNoPushMobility();
|
||||
public static final Material sand = new Material(MapColor.sandColor);
|
||||
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 tnt = (new Material(MapColor.tntColor)).setBurning().func_28129_i();
|
||||
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 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 cactus = (new Material(MapColor.foliageColor)).func_28129_i().setNoPushMobility();
|
||||
public static final Material clay = new Material(MapColor.clayColor);
|
||||
public static final Material pumpkin = (new Material(MapColor.foliageColor)).setNoPushMobility();
|
||||
public static final Material portal = (new MaterialPortal(MapColor.airColor)).setImmovableMobility();
|
||||
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 piston = (new Material(MapColor.stoneColor)).setImmovableMobility();
|
||||
private boolean canBurn;
|
||||
private boolean field_27091_A;
|
||||
private boolean isTranslucent;
|
||||
public final MapColor field_28131_A;
|
||||
private boolean field_31061_G = true;
|
||||
private int mobilityFlag;
|
||||
|
||||
public Material(MapColor var1) {
|
||||
this.field_28131_A = var1;
|
||||
}
|
||||
public Material(MapColor var1) {
|
||||
this.field_28131_A = var1;
|
||||
}
|
||||
|
||||
public boolean getIsLiquid() {
|
||||
return false;
|
||||
}
|
||||
public boolean getIsLiquid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isSolid() {
|
||||
return true;
|
||||
}
|
||||
public boolean isSolid() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean getCanBlockGrass() {
|
||||
return true;
|
||||
}
|
||||
public boolean getCanBlockGrass() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean getIsSolid() {
|
||||
return true;
|
||||
}
|
||||
public boolean getIsSolid() {
|
||||
return true;
|
||||
}
|
||||
|
||||
private Material func_28129_i() {
|
||||
this.isTranslucent = true;
|
||||
return this;
|
||||
}
|
||||
private Material func_28129_i() {
|
||||
this.isTranslucent = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
private Material func_31058_n() {
|
||||
this.field_31061_G = false;
|
||||
return this;
|
||||
}
|
||||
private Material func_31058_n() {
|
||||
this.field_31061_G = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
private Material setBurning() {
|
||||
this.canBurn = true;
|
||||
return this;
|
||||
}
|
||||
private Material setBurning() {
|
||||
this.canBurn = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean getBurning() {
|
||||
return this.canBurn;
|
||||
}
|
||||
public boolean getBurning() {
|
||||
return this.canBurn;
|
||||
}
|
||||
|
||||
public Material func_27089_f() {
|
||||
this.field_27091_A = true;
|
||||
return this;
|
||||
}
|
||||
public Material func_27089_f() {
|
||||
this.field_27091_A = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean func_27090_g() {
|
||||
return this.field_27091_A;
|
||||
}
|
||||
public boolean func_27090_g() {
|
||||
return this.field_27091_A;
|
||||
}
|
||||
|
||||
public boolean getIsOpaque() {
|
||||
return this.isTranslucent ? false : this.getIsSolid();
|
||||
}
|
||||
public boolean getIsOpaque() {
|
||||
return this.isTranslucent ? false : this.getIsSolid();
|
||||
}
|
||||
|
||||
public boolean func_31055_i() {
|
||||
return this.field_31061_G;
|
||||
}
|
||||
public boolean func_31055_i() {
|
||||
return this.field_31061_G;
|
||||
}
|
||||
|
||||
public int getMaterialMobility() {
|
||||
return this.mobilityFlag;
|
||||
}
|
||||
public int getMaterialMobility() {
|
||||
return this.mobilityFlag;
|
||||
}
|
||||
|
||||
protected Material setNoPushMobility() {
|
||||
this.mobilityFlag = 1;
|
||||
return this;
|
||||
}
|
||||
protected Material setNoPushMobility() {
|
||||
this.mobilityFlag = 1;
|
||||
return this;
|
||||
}
|
||||
|
||||
protected Material setImmovableMobility() {
|
||||
this.mobilityFlag = 2;
|
||||
return this;
|
||||
}
|
||||
protected Material setImmovableMobility() {
|
||||
this.mobilityFlag = 2;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,21 +3,21 @@ package net.minecraft.block.material;
|
|||
import net.minecraft.item.map.MapColor;
|
||||
|
||||
public class MaterialLiquid extends Material {
|
||||
public MaterialLiquid(MapColor var1) {
|
||||
super(var1);
|
||||
this.func_27089_f();
|
||||
this.setNoPushMobility();
|
||||
}
|
||||
public MaterialLiquid(MapColor var1) {
|
||||
super(var1);
|
||||
this.func_27089_f();
|
||||
this.setNoPushMobility();
|
||||
}
|
||||
|
||||
public boolean getIsLiquid() {
|
||||
return true;
|
||||
}
|
||||
public boolean getIsLiquid() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,19 +3,19 @@ package net.minecraft.block.material;
|
|||
import net.minecraft.item.map.MapColor;
|
||||
|
||||
public class MaterialLogic extends Material {
|
||||
public MaterialLogic(MapColor var1) {
|
||||
super(var1);
|
||||
}
|
||||
public MaterialLogic(MapColor var1) {
|
||||
super(var1);
|
||||
}
|
||||
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getCanBlockGrass() {
|
||||
return false;
|
||||
}
|
||||
public boolean getCanBlockGrass() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,19 +3,19 @@ package net.minecraft.block.material;
|
|||
import net.minecraft.item.map.MapColor;
|
||||
|
||||
public class MaterialPortal extends Material {
|
||||
public MaterialPortal(MapColor var1) {
|
||||
super(var1);
|
||||
}
|
||||
public MaterialPortal(MapColor var1) {
|
||||
super(var1);
|
||||
}
|
||||
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getCanBlockGrass() {
|
||||
return false;
|
||||
}
|
||||
public boolean getCanBlockGrass() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,20 +3,20 @@ package net.minecraft.block.material;
|
|||
import net.minecraft.item.map.MapColor;
|
||||
|
||||
public class MaterialTransparent extends Material {
|
||||
public MaterialTransparent(MapColor var1) {
|
||||
super(var1);
|
||||
this.func_27089_f();
|
||||
}
|
||||
public MaterialTransparent(MapColor var1) {
|
||||
super(var1);
|
||||
this.func_27089_f();
|
||||
}
|
||||
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean isSolid() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getCanBlockGrass() {
|
||||
return false;
|
||||
}
|
||||
public boolean getCanBlockGrass() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
public boolean getIsSolid() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
package net.minecraft.block.stepsound;
|
||||
|
||||
public class StepSound {
|
||||
public final String field_1029_a;
|
||||
public final float field_1028_b;
|
||||
public final float field_1030_c;
|
||||
public final String field_1029_a;
|
||||
public final float field_1028_b;
|
||||
public final float field_1030_c;
|
||||
|
||||
public StepSound(String var1, float var2, float var3) {
|
||||
this.field_1029_a = var1;
|
||||
this.field_1028_b = var2;
|
||||
this.field_1030_c = var3;
|
||||
}
|
||||
public StepSound(String var1, float var2, float var3) {
|
||||
this.field_1029_a = var1;
|
||||
this.field_1028_b = var2;
|
||||
this.field_1030_c = var3;
|
||||
}
|
||||
|
||||
public float getVolume() {
|
||||
return this.field_1028_b;
|
||||
}
|
||||
public float getVolume() {
|
||||
return this.field_1028_b;
|
||||
}
|
||||
|
||||
public float getPitch() {
|
||||
return this.field_1030_c;
|
||||
}
|
||||
public float getPitch() {
|
||||
return this.field_1030_c;
|
||||
}
|
||||
|
||||
public String func_737_c() {
|
||||
return "step." + this.field_1029_a;
|
||||
}
|
||||
public String func_737_c() {
|
||||
return "step." + this.field_1029_a;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package net.minecraft.block.stepsound;
|
||||
|
||||
public final class StepSoundSand extends StepSound {
|
||||
public StepSoundSand(String var1, float var2, float var3) {
|
||||
super(var1, var2, var3);
|
||||
}
|
||||
public StepSoundSand(String var1, float var2, float var3) {
|
||||
super(var1, var2, var3);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package net.minecraft.block.stepsound;
|
||||
|
||||
public final class StepSoundStone extends StepSound {
|
||||
public StepSoundStone(String var1, float var2, float var3) {
|
||||
super(var1, var2, var3);
|
||||
}
|
||||
public StepSoundStone(String var1, float var2, float var3) {
|
||||
super(var1, var2, var3);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,106 +1,107 @@
|
|||
package net.minecraft.block.tile;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.packets.Packet;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class TileEntity {
|
||||
private static Map nameToClassMap = new HashMap();
|
||||
private static Map classToNameMap = new HashMap();
|
||||
public World worldObj;
|
||||
public int xCoord;
|
||||
public int yCoord;
|
||||
public int zCoord;
|
||||
protected boolean tileEntityInvalid;
|
||||
private static Map nameToClassMap = new HashMap();
|
||||
private static Map classToNameMap = new HashMap();
|
||||
public World worldObj;
|
||||
public int xCoord;
|
||||
public int yCoord;
|
||||
public int zCoord;
|
||||
protected boolean tileEntityInvalid;
|
||||
|
||||
private static void addMapping(Class var0, String var1) {
|
||||
if(classToNameMap.containsKey(var1)) {
|
||||
throw new IllegalArgumentException("Duplicate id: " + var1);
|
||||
} else {
|
||||
nameToClassMap.put(var1, var0);
|
||||
classToNameMap.put(var0, var1);
|
||||
}
|
||||
}
|
||||
private static void addMapping(Class var0, String var1) {
|
||||
if (classToNameMap.containsKey(var1)) {
|
||||
throw new IllegalArgumentException("Duplicate id: " + var1);
|
||||
} else {
|
||||
nameToClassMap.put(var1, var0);
|
||||
classToNameMap.put(var0, var1);
|
||||
}
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
this.xCoord = var1.getInteger("x");
|
||||
this.yCoord = var1.getInteger("y");
|
||||
this.zCoord = var1.getInteger("z");
|
||||
}
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
this.xCoord = var1.getInteger("x");
|
||||
this.yCoord = var1.getInteger("y");
|
||||
this.zCoord = var1.getInteger("z");
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
String var2 = (String)classToNameMap.get(this.getClass());
|
||||
if(var2 == null) {
|
||||
throw new RuntimeException(this.getClass() + " is missing a mapping! This is a bug!");
|
||||
} else {
|
||||
var1.setString("id", var2);
|
||||
var1.setInteger("x", this.xCoord);
|
||||
var1.setInteger("y", this.yCoord);
|
||||
var1.setInteger("z", this.zCoord);
|
||||
}
|
||||
}
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
String var2 = (String) classToNameMap.get(this.getClass());
|
||||
if (var2 == null) {
|
||||
throw new RuntimeException(this.getClass() + " is missing a mapping! This is a bug!");
|
||||
} else {
|
||||
var1.setString("id", var2);
|
||||
var1.setInteger("x", this.xCoord);
|
||||
var1.setInteger("y", this.yCoord);
|
||||
var1.setInteger("z", this.zCoord);
|
||||
}
|
||||
}
|
||||
|
||||
public void updateEntity() {
|
||||
}
|
||||
public void updateEntity() {
|
||||
}
|
||||
|
||||
public static TileEntity createAndLoadEntity(NBTTagCompound var0) {
|
||||
TileEntity var1 = null;
|
||||
public static TileEntity createAndLoadEntity(NBTTagCompound var0) {
|
||||
TileEntity var1 = null;
|
||||
|
||||
try {
|
||||
Class var2 = (Class)nameToClassMap.get(var0.getString("id"));
|
||||
if(var2 != null) {
|
||||
var1 = (TileEntity)var2.newInstance();
|
||||
}
|
||||
} catch (Exception var3) {
|
||||
var3.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Class var2 = (Class) nameToClassMap.get(var0.getString("id"));
|
||||
if (var2 != null) {
|
||||
var1 = (TileEntity) var2.newInstance();
|
||||
}
|
||||
} catch (Exception var3) {
|
||||
var3.printStackTrace();
|
||||
}
|
||||
|
||||
if(var1 != null) {
|
||||
var1.readFromNBT(var0);
|
||||
} else {
|
||||
System.out.println("Skipping TileEntity with id " + var0.getString("id"));
|
||||
}
|
||||
if (var1 != null) {
|
||||
var1.readFromNBT(var0);
|
||||
} else {
|
||||
System.out.println("Skipping TileEntity with id " + var0.getString("id"));
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
return var1;
|
||||
}
|
||||
|
||||
public int func_31005_e() {
|
||||
return this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
|
||||
}
|
||||
public int func_31005_e() {
|
||||
return this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
|
||||
}
|
||||
|
||||
public void onInventoryChanged() {
|
||||
if(this.worldObj != null) {
|
||||
this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord, this);
|
||||
}
|
||||
public void onInventoryChanged() {
|
||||
if (this.worldObj != null) {
|
||||
this.worldObj.updateTileEntityChunkAndDoNothing(this.xCoord, this.yCoord, this.zCoord, this);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Packet getDescriptionPacket() {
|
||||
return null;
|
||||
}
|
||||
public Packet getDescriptionPacket() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isInvalid() {
|
||||
return this.tileEntityInvalid;
|
||||
}
|
||||
public boolean isInvalid() {
|
||||
return this.tileEntityInvalid;
|
||||
}
|
||||
|
||||
public void invalidate() {
|
||||
this.tileEntityInvalid = true;
|
||||
}
|
||||
public void invalidate() {
|
||||
this.tileEntityInvalid = true;
|
||||
}
|
||||
|
||||
public void validate() {
|
||||
this.tileEntityInvalid = false;
|
||||
}
|
||||
public void validate() {
|
||||
this.tileEntityInvalid = false;
|
||||
}
|
||||
|
||||
static {
|
||||
addMapping(TileEntityFurnace.class, "Furnace");
|
||||
addMapping(TileEntityChest.class, "Chest");
|
||||
addMapping(TileEntityRecordPlayer.class, "RecordPlayer");
|
||||
addMapping(TileEntityDispenser.class, "Trap");
|
||||
addMapping(TileEntitySign.class, "Sign");
|
||||
addMapping(TileEntityMobSpawner.class, "MobSpawner");
|
||||
addMapping(TileEntityNote.class, "Music");
|
||||
addMapping(TileEntityPiston.class, "Piston");
|
||||
}
|
||||
static {
|
||||
addMapping(TileEntityFurnace.class, "Furnace");
|
||||
addMapping(TileEntityChest.class, "Chest");
|
||||
addMapping(TileEntityRecordPlayer.class, "RecordPlayer");
|
||||
addMapping(TileEntityDispenser.class, "Trap");
|
||||
addMapping(TileEntitySign.class, "Sign");
|
||||
addMapping(TileEntityMobSpawner.class, "MobSpawner");
|
||||
addMapping(TileEntityNote.class, "Music");
|
||||
addMapping(TileEntityPiston.class, "Piston");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,87 +7,87 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
public class TileEntityChest extends TileEntity implements IInventory {
|
||||
private ItemStack[] chestContents = new ItemStack[36];
|
||||
private ItemStack[] chestContents = new ItemStack[36];
|
||||
|
||||
public int getSizeInventory() {
|
||||
return 27;
|
||||
}
|
||||
public int getSizeInventory() {
|
||||
return 27;
|
||||
}
|
||||
|
||||
public ItemStack getStackInSlot(int var1) {
|
||||
return this.chestContents[var1];
|
||||
}
|
||||
public ItemStack getStackInSlot(int var1) {
|
||||
return this.chestContents[var1];
|
||||
}
|
||||
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
if(this.chestContents[var1] != null) {
|
||||
ItemStack var3;
|
||||
if(this.chestContents[var1].stackSize <= var2) {
|
||||
var3 = this.chestContents[var1];
|
||||
this.chestContents[var1] = null;
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
} else {
|
||||
var3 = this.chestContents[var1].splitStack(var2);
|
||||
if(this.chestContents[var1].stackSize == 0) {
|
||||
this.chestContents[var1] = null;
|
||||
}
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
if (this.chestContents[var1] != null) {
|
||||
ItemStack var3;
|
||||
if (this.chestContents[var1].stackSize <= var2) {
|
||||
var3 = this.chestContents[var1];
|
||||
this.chestContents[var1] = null;
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
} else {
|
||||
var3 = this.chestContents[var1].splitStack(var2);
|
||||
if (this.chestContents[var1].stackSize == 0) {
|
||||
this.chestContents[var1] = null;
|
||||
}
|
||||
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
this.chestContents[var1] = var2;
|
||||
if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
|
||||
var2.stackSize = this.getInventoryStackLimit();
|
||||
}
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
this.chestContents[var1] = var2;
|
||||
if (var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
|
||||
var2.stackSize = this.getInventoryStackLimit();
|
||||
}
|
||||
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
|
||||
public String getInvName() {
|
||||
return "Chest";
|
||||
}
|
||||
public String getInvName() {
|
||||
return "Chest";
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
NBTTagList var2 = var1.getTagList("Items");
|
||||
this.chestContents = new ItemStack[this.getSizeInventory()];
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
NBTTagList var2 = var1.getTagList("Items");
|
||||
this.chestContents = new ItemStack[this.getSizeInventory()];
|
||||
|
||||
for(int var3 = 0; var3 < var2.tagCount(); ++var3) {
|
||||
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
|
||||
int var5 = var4.getByte("Slot") & 255;
|
||||
if(var5 >= 0 && var5 < this.chestContents.length) {
|
||||
this.chestContents[var5] = new ItemStack(var4);
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < var2.tagCount(); ++var3) {
|
||||
NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
|
||||
int var5 = var4.getByte("Slot") & 255;
|
||||
if (var5 >= 0 && var5 < this.chestContents.length) {
|
||||
this.chestContents[var5] = new ItemStack(var4);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
NBTTagList var2 = new NBTTagList();
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
NBTTagList var2 = new NBTTagList();
|
||||
|
||||
for(int var3 = 0; var3 < this.chestContents.length; ++var3) {
|
||||
if(this.chestContents[var3] != null) {
|
||||
NBTTagCompound var4 = new NBTTagCompound();
|
||||
var4.setByte("Slot", (byte)var3);
|
||||
this.chestContents[var3].writeToNBT(var4);
|
||||
var2.setTag(var4);
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < this.chestContents.length; ++var3) {
|
||||
if (this.chestContents[var3] != null) {
|
||||
NBTTagCompound var4 = new NBTTagCompound();
|
||||
var4.setByte("Slot", (byte) var3);
|
||||
this.chestContents[var3].writeToNBT(var4);
|
||||
var2.setTag(var4);
|
||||
}
|
||||
}
|
||||
|
||||
var1.setTag("Items", var2);
|
||||
}
|
||||
var1.setTag("Items", var2);
|
||||
}
|
||||
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,112 +1,113 @@
|
|||
package net.minecraft.block.tile;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.container.inventory.IInventory;
|
||||
import net.minecraft.entity.EntityPlayer;
|
||||
import net.minecraft.item.crafting.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class TileEntityDispenser extends TileEntity implements IInventory {
|
||||
private ItemStack[] dispenserContents = new ItemStack[9];
|
||||
private Random dispenserRandom = new Random();
|
||||
private ItemStack[] dispenserContents = new ItemStack[9];
|
||||
private Random dispenserRandom = new Random();
|
||||
|
||||
public int getSizeInventory() {
|
||||
return 9;
|
||||
}
|
||||
public int getSizeInventory() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
public ItemStack getStackInSlot(int var1) {
|
||||
return this.dispenserContents[var1];
|
||||
}
|
||||
public ItemStack getStackInSlot(int var1) {
|
||||
return this.dispenserContents[var1];
|
||||
}
|
||||
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
if(this.dispenserContents[var1] != null) {
|
||||
ItemStack var3;
|
||||
if(this.dispenserContents[var1].stackSize <= var2) {
|
||||
var3 = this.dispenserContents[var1];
|
||||
this.dispenserContents[var1] = null;
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
} else {
|
||||
var3 = this.dispenserContents[var1].splitStack(var2);
|
||||
if(this.dispenserContents[var1].stackSize == 0) {
|
||||
this.dispenserContents[var1] = null;
|
||||
}
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
if (this.dispenserContents[var1] != null) {
|
||||
ItemStack var3;
|
||||
if (this.dispenserContents[var1].stackSize <= var2) {
|
||||
var3 = this.dispenserContents[var1];
|
||||
this.dispenserContents[var1] = null;
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
} else {
|
||||
var3 = this.dispenserContents[var1].splitStack(var2);
|
||||
if (this.dispenserContents[var1].stackSize == 0) {
|
||||
this.dispenserContents[var1] = null;
|
||||
}
|
||||
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
this.onInventoryChanged();
|
||||
return var3;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public ItemStack getRandomStackFromInventory() {
|
||||
int var1 = -1;
|
||||
int var2 = 1;
|
||||
public ItemStack getRandomStackFromInventory() {
|
||||
int var1 = -1;
|
||||
int var2 = 1;
|
||||
|
||||
for(int var3 = 0; var3 < this.dispenserContents.length; ++var3) {
|
||||
if(this.dispenserContents[var3] != null && this.dispenserRandom.nextInt(var2++) == 0) {
|
||||
var1 = var3;
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < this.dispenserContents.length; ++var3) {
|
||||
if (this.dispenserContents[var3] != null && this.dispenserRandom.nextInt(var2++) == 0) {
|
||||
var1 = var3;
|
||||
}
|
||||
}
|
||||
|
||||
if(var1 >= 0) {
|
||||
return this.decrStackSize(var1, 1);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
if (var1 >= 0) {
|
||||
return this.decrStackSize(var1, 1);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
this.dispenserContents[var1] = var2;
|
||||
if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
|
||||
var2.stackSize = this.getInventoryStackLimit();
|
||||
}
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
this.dispenserContents[var1] = var2;
|
||||
if (var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
|
||||
var2.stackSize = this.getInventoryStackLimit();
|
||||
}
|
||||
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
|
||||
public String getInvName() {
|
||||
return "Trap";
|
||||
}
|
||||
public String getInvName() {
|
||||
return "Trap";
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
NBTTagList var2 = var1.getTagList("Items");
|
||||
this.dispenserContents = new ItemStack[this.getSizeInventory()];
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
NBTTagList var2 = var1.getTagList("Items");
|
||||
this.dispenserContents = new ItemStack[this.getSizeInventory()];
|
||||
|
||||
for(int var3 = 0; var3 < var2.tagCount(); ++var3) {
|
||||
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
|
||||
int var5 = var4.getByte("Slot") & 255;
|
||||
if(var5 >= 0 && var5 < this.dispenserContents.length) {
|
||||
this.dispenserContents[var5] = new ItemStack(var4);
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < var2.tagCount(); ++var3) {
|
||||
NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
|
||||
int var5 = var4.getByte("Slot") & 255;
|
||||
if (var5 >= 0 && var5 < this.dispenserContents.length) {
|
||||
this.dispenserContents[var5] = new ItemStack(var4);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
NBTTagList var2 = new NBTTagList();
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
NBTTagList var2 = new NBTTagList();
|
||||
|
||||
for(int var3 = 0; var3 < this.dispenserContents.length; ++var3) {
|
||||
if(this.dispenserContents[var3] != null) {
|
||||
NBTTagCompound var4 = new NBTTagCompound();
|
||||
var4.setByte("Slot", (byte)var3);
|
||||
this.dispenserContents[var3].writeToNBT(var4);
|
||||
var2.setTag(var4);
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < this.dispenserContents.length; ++var3) {
|
||||
if (this.dispenserContents[var3] != null) {
|
||||
NBTTagCompound var4 = new NBTTagCompound();
|
||||
var4.setByte("Slot", (byte) var3);
|
||||
this.dispenserContents[var3].writeToNBT(var4);
|
||||
var2.setTag(var4);
|
||||
}
|
||||
}
|
||||
|
||||
var1.setTag("Items", var2);
|
||||
}
|
||||
var1.setTag("Items", var2);
|
||||
}
|
||||
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,175 +12,175 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.nbt.NBTTagList;
|
||||
|
||||
public class TileEntityFurnace extends TileEntity implements IInventory {
|
||||
private ItemStack[] furnaceItemStacks = new ItemStack[3];
|
||||
public int furnaceBurnTime = 0;
|
||||
public int currentItemBurnTime = 0;
|
||||
public int furnaceCookTime = 0;
|
||||
private ItemStack[] furnaceItemStacks = new ItemStack[3];
|
||||
public int furnaceBurnTime = 0;
|
||||
public int currentItemBurnTime = 0;
|
||||
public int furnaceCookTime = 0;
|
||||
|
||||
public int getSizeInventory() {
|
||||
return this.furnaceItemStacks.length;
|
||||
}
|
||||
public int getSizeInventory() {
|
||||
return this.furnaceItemStacks.length;
|
||||
}
|
||||
|
||||
public ItemStack getStackInSlot(int var1) {
|
||||
return this.furnaceItemStacks[var1];
|
||||
}
|
||||
public ItemStack getStackInSlot(int var1) {
|
||||
return this.furnaceItemStacks[var1];
|
||||
}
|
||||
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
if(this.furnaceItemStacks[var1] != null) {
|
||||
ItemStack var3;
|
||||
if(this.furnaceItemStacks[var1].stackSize <= var2) {
|
||||
var3 = this.furnaceItemStacks[var1];
|
||||
this.furnaceItemStacks[var1] = null;
|
||||
return var3;
|
||||
} else {
|
||||
var3 = this.furnaceItemStacks[var1].splitStack(var2);
|
||||
if(this.furnaceItemStacks[var1].stackSize == 0) {
|
||||
this.furnaceItemStacks[var1] = null;
|
||||
}
|
||||
public ItemStack decrStackSize(int var1, int var2) {
|
||||
if (this.furnaceItemStacks[var1] != null) {
|
||||
ItemStack var3;
|
||||
if (this.furnaceItemStacks[var1].stackSize <= var2) {
|
||||
var3 = this.furnaceItemStacks[var1];
|
||||
this.furnaceItemStacks[var1] = null;
|
||||
return var3;
|
||||
} else {
|
||||
var3 = this.furnaceItemStacks[var1].splitStack(var2);
|
||||
if (this.furnaceItemStacks[var1].stackSize == 0) {
|
||||
this.furnaceItemStacks[var1] = null;
|
||||
}
|
||||
|
||||
return var3;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return var3;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
this.furnaceItemStacks[var1] = var2;
|
||||
if(var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
|
||||
var2.stackSize = this.getInventoryStackLimit();
|
||||
}
|
||||
public void setInventorySlotContents(int var1, ItemStack var2) {
|
||||
this.furnaceItemStacks[var1] = var2;
|
||||
if (var2 != null && var2.stackSize > this.getInventoryStackLimit()) {
|
||||
var2.stackSize = this.getInventoryStackLimit();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public String getInvName() {
|
||||
return "Furnace";
|
||||
}
|
||||
public String getInvName() {
|
||||
return "Furnace";
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
NBTTagList var2 = var1.getTagList("Items");
|
||||
this.furnaceItemStacks = new ItemStack[this.getSizeInventory()];
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
NBTTagList var2 = var1.getTagList("Items");
|
||||
this.furnaceItemStacks = new ItemStack[this.getSizeInventory()];
|
||||
|
||||
for(int var3 = 0; var3 < var2.tagCount(); ++var3) {
|
||||
NBTTagCompound var4 = (NBTTagCompound)var2.tagAt(var3);
|
||||
byte var5 = var4.getByte("Slot");
|
||||
if(var5 >= 0 && var5 < this.furnaceItemStacks.length) {
|
||||
this.furnaceItemStacks[var5] = new ItemStack(var4);
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < var2.tagCount(); ++var3) {
|
||||
NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
|
||||
byte var5 = var4.getByte("Slot");
|
||||
if (var5 >= 0 && var5 < this.furnaceItemStacks.length) {
|
||||
this.furnaceItemStacks[var5] = new ItemStack(var4);
|
||||
}
|
||||
}
|
||||
|
||||
this.furnaceBurnTime = var1.getShort("BurnTime");
|
||||
this.furnaceCookTime = var1.getShort("CookTime");
|
||||
this.currentItemBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]);
|
||||
}
|
||||
this.furnaceBurnTime = var1.getShort("BurnTime");
|
||||
this.furnaceCookTime = var1.getShort("CookTime");
|
||||
this.currentItemBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]);
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setShort("BurnTime", (short)this.furnaceBurnTime);
|
||||
var1.setShort("CookTime", (short)this.furnaceCookTime);
|
||||
NBTTagList var2 = new NBTTagList();
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setShort("BurnTime", (short) this.furnaceBurnTime);
|
||||
var1.setShort("CookTime", (short) this.furnaceCookTime);
|
||||
NBTTagList var2 = new NBTTagList();
|
||||
|
||||
for(int var3 = 0; var3 < this.furnaceItemStacks.length; ++var3) {
|
||||
if(this.furnaceItemStacks[var3] != null) {
|
||||
NBTTagCompound var4 = new NBTTagCompound();
|
||||
var4.setByte("Slot", (byte)var3);
|
||||
this.furnaceItemStacks[var3].writeToNBT(var4);
|
||||
var2.setTag(var4);
|
||||
}
|
||||
}
|
||||
for (int var3 = 0; var3 < this.furnaceItemStacks.length; ++var3) {
|
||||
if (this.furnaceItemStacks[var3] != null) {
|
||||
NBTTagCompound var4 = new NBTTagCompound();
|
||||
var4.setByte("Slot", (byte) var3);
|
||||
this.furnaceItemStacks[var3].writeToNBT(var4);
|
||||
var2.setTag(var4);
|
||||
}
|
||||
}
|
||||
|
||||
var1.setTag("Items", var2);
|
||||
}
|
||||
var1.setTag("Items", var2);
|
||||
}
|
||||
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
public int getInventoryStackLimit() {
|
||||
return 64;
|
||||
}
|
||||
|
||||
public boolean isBurning() {
|
||||
return this.furnaceBurnTime > 0;
|
||||
}
|
||||
public boolean isBurning() {
|
||||
return this.furnaceBurnTime > 0;
|
||||
}
|
||||
|
||||
public void updateEntity() {
|
||||
boolean var1 = this.furnaceBurnTime > 0;
|
||||
boolean var2 = false;
|
||||
if(this.furnaceBurnTime > 0) {
|
||||
--this.furnaceBurnTime;
|
||||
}
|
||||
public void updateEntity() {
|
||||
boolean var1 = this.furnaceBurnTime > 0;
|
||||
boolean var2 = false;
|
||||
if (this.furnaceBurnTime > 0) {
|
||||
--this.furnaceBurnTime;
|
||||
}
|
||||
|
||||
if(!this.worldObj.singleplayerWorld) {
|
||||
if(this.furnaceBurnTime == 0 && this.canSmelt()) {
|
||||
this.currentItemBurnTime = this.furnaceBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]);
|
||||
if(this.furnaceBurnTime > 0) {
|
||||
var2 = true;
|
||||
if(this.furnaceItemStacks[1] != null) {
|
||||
--this.furnaceItemStacks[1].stackSize;
|
||||
if(this.furnaceItemStacks[1].stackSize == 0) {
|
||||
this.furnaceItemStacks[1] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!this.worldObj.singleplayerWorld) {
|
||||
if (this.furnaceBurnTime == 0 && this.canSmelt()) {
|
||||
this.currentItemBurnTime = this.furnaceBurnTime = this.getItemBurnTime(this.furnaceItemStacks[1]);
|
||||
if (this.furnaceBurnTime > 0) {
|
||||
var2 = true;
|
||||
if (this.furnaceItemStacks[1] != null) {
|
||||
--this.furnaceItemStacks[1].stackSize;
|
||||
if (this.furnaceItemStacks[1].stackSize == 0) {
|
||||
this.furnaceItemStacks[1] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(this.isBurning() && this.canSmelt()) {
|
||||
++this.furnaceCookTime;
|
||||
if(this.furnaceCookTime == 200) {
|
||||
this.furnaceCookTime = 0;
|
||||
this.smeltItem();
|
||||
var2 = true;
|
||||
}
|
||||
} else {
|
||||
this.furnaceCookTime = 0;
|
||||
}
|
||||
if (this.isBurning() && this.canSmelt()) {
|
||||
++this.furnaceCookTime;
|
||||
if (this.furnaceCookTime == 200) {
|
||||
this.furnaceCookTime = 0;
|
||||
this.smeltItem();
|
||||
var2 = true;
|
||||
}
|
||||
} else {
|
||||
this.furnaceCookTime = 0;
|
||||
}
|
||||
|
||||
if(var1 != this.furnaceBurnTime > 0) {
|
||||
var2 = true;
|
||||
BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||
}
|
||||
}
|
||||
if (var1 != this.furnaceBurnTime > 0) {
|
||||
var2 = true;
|
||||
BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
|
||||
}
|
||||
}
|
||||
|
||||
if(var2) {
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
if (var2) {
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private boolean canSmelt() {
|
||||
if(this.furnaceItemStacks[0] == null) {
|
||||
return false;
|
||||
} else {
|
||||
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())));
|
||||
}
|
||||
}
|
||||
private boolean canSmelt() {
|
||||
if (this.furnaceItemStacks[0] == null) {
|
||||
return false;
|
||||
} else {
|
||||
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())));
|
||||
}
|
||||
}
|
||||
|
||||
public void smeltItem() {
|
||||
if(this.canSmelt()) {
|
||||
ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex);
|
||||
if(this.furnaceItemStacks[2] == null) {
|
||||
this.furnaceItemStacks[2] = var1.copy();
|
||||
} else if(this.furnaceItemStacks[2].itemID == var1.itemID) {
|
||||
++this.furnaceItemStacks[2].stackSize;
|
||||
}
|
||||
public void smeltItem() {
|
||||
if (this.canSmelt()) {
|
||||
ItemStack var1 = FurnaceRecipes.smelting().getSmeltingResult(this.furnaceItemStacks[0].getItem().shiftedIndex);
|
||||
if (this.furnaceItemStacks[2] == null) {
|
||||
this.furnaceItemStacks[2] = var1.copy();
|
||||
} else if (this.furnaceItemStacks[2].itemID == var1.itemID) {
|
||||
++this.furnaceItemStacks[2].stackSize;
|
||||
}
|
||||
|
||||
--this.furnaceItemStacks[0].stackSize;
|
||||
if(this.furnaceItemStacks[0].stackSize <= 0) {
|
||||
this.furnaceItemStacks[0] = null;
|
||||
}
|
||||
--this.furnaceItemStacks[0].stackSize;
|
||||
if (this.furnaceItemStacks[0].stackSize <= 0) {
|
||||
this.furnaceItemStacks[0] = null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int getItemBurnTime(ItemStack var1) {
|
||||
if(var1 == null) {
|
||||
return 0;
|
||||
} else {
|
||||
int var2 = var1.getItem().shiftedIndex;
|
||||
return var2 < 256 && Block.blocksList[var2].blockMaterial == Material.wood ? 300 : (var2 == Item.stick.shiftedIndex ? 100 : (var2 == Item.coal.shiftedIndex ? 1600 : (var2 == Item.bucketLava.shiftedIndex ? 20000 : (var2 == Block.sapling.blockID ? 100 : 0))));
|
||||
}
|
||||
}
|
||||
private int getItemBurnTime(ItemStack var1) {
|
||||
if (var1 == null) {
|
||||
return 0;
|
||||
} else {
|
||||
int var2 = var1.getItem().shiftedIndex;
|
||||
return var2 < 256 && Block.blocksList[var2].blockMaterial == Material.wood ? 300 : (var2 == Item.stick.shiftedIndex ? 100 : (var2 == Item.coal.shiftedIndex ? 1600 : (var2 == Item.bucketLava.shiftedIndex ? 20000 : (var2 == Block.sapling.blockID ? 100 : 0))));
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,100 +6,100 @@ import net.minecraft.math.AxisAlignedBB;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class TileEntityMobSpawner extends TileEntity {
|
||||
public int delay = -1;
|
||||
private String mobID = "Pig";
|
||||
public double yaw;
|
||||
public double yaw2 = 0.0D;
|
||||
public int delay = -1;
|
||||
private String mobID = "Pig";
|
||||
public double yaw;
|
||||
public double yaw2 = 0.0D;
|
||||
|
||||
public TileEntityMobSpawner() {
|
||||
this.delay = 20;
|
||||
}
|
||||
public TileEntityMobSpawner() {
|
||||
this.delay = 20;
|
||||
}
|
||||
|
||||
public void setMobID(String var1) {
|
||||
this.mobID = var1;
|
||||
}
|
||||
public void setMobID(String var1) {
|
||||
this.mobID = var1;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
public void updateEntity() {
|
||||
this.yaw2 = this.yaw;
|
||||
if(this.anyPlayerInRange()) {
|
||||
double var1 = (double)((float)this.xCoord + this.worldObj.rand.nextFloat());
|
||||
double var3 = (double)((float)this.yCoord + this.worldObj.rand.nextFloat());
|
||||
double var5 = (double)((float)this.zCoord + this.worldObj.rand.nextFloat());
|
||||
this.worldObj.spawnParticle("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
public void updateEntity() {
|
||||
this.yaw2 = this.yaw;
|
||||
if (this.anyPlayerInRange()) {
|
||||
double var1 = (double) ((float) this.xCoord + this.worldObj.rand.nextFloat());
|
||||
double var3 = (double) ((float) this.yCoord + this.worldObj.rand.nextFloat());
|
||||
double var5 = (double) ((float) this.zCoord + this.worldObj.rand.nextFloat());
|
||||
this.worldObj.spawnParticle("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
|
||||
for(this.yaw += (double)(1000.0F / ((float)this.delay + 200.0F)); this.yaw > 360.0D; this.yaw2 -= 360.0D) {
|
||||
this.yaw -= 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;
|
||||
}
|
||||
|
||||
if(!this.worldObj.singleplayerWorld) {
|
||||
if(this.delay == -1) {
|
||||
this.updateDelay();
|
||||
}
|
||||
if (!this.worldObj.singleplayerWorld) {
|
||||
if (this.delay == -1) {
|
||||
this.updateDelay();
|
||||
}
|
||||
|
||||
if(this.delay > 0) {
|
||||
--this.delay;
|
||||
return;
|
||||
}
|
||||
if (this.delay > 0) {
|
||||
--this.delay;
|
||||
return;
|
||||
}
|
||||
|
||||
byte var7 = 4;
|
||||
byte var7 = 4;
|
||||
|
||||
for(int var8 = 0; var8 < var7; ++var8) {
|
||||
EntityLiving var9 = (EntityLiving)((EntityLiving)EntityList.createEntityInWorld(this.mobID, this.worldObj));
|
||||
if(var9 == null) {
|
||||
return;
|
||||
}
|
||||
for (int var8 = 0; var8 < var7; ++var8) {
|
||||
EntityLiving var9 = (EntityLiving) ((EntityLiving) EntityList.createEntityInWorld(this.mobID, this.worldObj));
|
||||
if (var9 == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int var10 = this.worldObj.getEntitiesWithinAABB(var9.getClass(), AxisAlignedBB.getBoundingBoxFromPool((double)this.xCoord, (double)this.yCoord, (double)this.zCoord, (double)(this.xCoord + 1), (double)(this.yCoord + 1), (double)(this.zCoord + 1)).expand(8.0D, 4.0D, 8.0D)).size();
|
||||
if(var10 >= 6) {
|
||||
this.updateDelay();
|
||||
return;
|
||||
}
|
||||
int var10 = this.worldObj.getEntitiesWithinAABB(var9.getClass(), AxisAlignedBB.getBoundingBoxFromPool((double) this.xCoord, (double) this.yCoord, (double) this.zCoord, (double) (this.xCoord + 1), (double) (this.yCoord + 1), (double) (this.zCoord + 1)).expand(8.0D, 4.0D, 8.0D)).size();
|
||||
if (var10 >= 6) {
|
||||
this.updateDelay();
|
||||
return;
|
||||
}
|
||||
|
||||
if(var9 != null) {
|
||||
double var11 = (double)this.xCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D;
|
||||
double var13 = (double)(this.yCoord + this.worldObj.rand.nextInt(3) - 1);
|
||||
double var15 = (double)this.zCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D;
|
||||
var9.setLocationAndAngles(var11, var13, var15, this.worldObj.rand.nextFloat() * 360.0F, 0.0F);
|
||||
if(var9.getCanSpawnHere()) {
|
||||
this.worldObj.entityJoinedWorld(var9);
|
||||
if (var9 != null) {
|
||||
double var11 = (double) this.xCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D;
|
||||
double var13 = (double) (this.yCoord + this.worldObj.rand.nextInt(3) - 1);
|
||||
double var15 = (double) this.zCoord + (this.worldObj.rand.nextDouble() - this.worldObj.rand.nextDouble()) * 4.0D;
|
||||
var9.setLocationAndAngles(var11, var13, var15, this.worldObj.rand.nextFloat() * 360.0F, 0.0F);
|
||||
if (var9.getCanSpawnHere()) {
|
||||
this.worldObj.entityJoinedWorld(var9);
|
||||
|
||||
for(int var17 = 0; var17 < 20; ++var17) {
|
||||
var1 = (double)this.xCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D;
|
||||
var3 = (double)this.yCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D;
|
||||
var5 = (double)this.zCoord + 0.5D + ((double)this.worldObj.rand.nextFloat() - 0.5D) * 2.0D;
|
||||
this.worldObj.spawnParticle("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
for (int var17 = 0; var17 < 20; ++var17) {
|
||||
var1 = (double) this.xCoord + 0.5D + ((double) this.worldObj.rand.nextFloat() - 0.5D) * 2.0D;
|
||||
var3 = (double) this.yCoord + 0.5D + ((double) this.worldObj.rand.nextFloat() - 0.5D) * 2.0D;
|
||||
var5 = (double) this.zCoord + 0.5D + ((double) this.worldObj.rand.nextFloat() - 0.5D) * 2.0D;
|
||||
this.worldObj.spawnParticle("smoke", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
this.worldObj.spawnParticle("flame", var1, var3, var5, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
|
||||
var9.spawnExplosionParticle();
|
||||
this.updateDelay();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var9.spawnExplosionParticle();
|
||||
this.updateDelay();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
super.updateEntity();
|
||||
}
|
||||
}
|
||||
super.updateEntity();
|
||||
}
|
||||
}
|
||||
|
||||
private void updateDelay() {
|
||||
this.delay = 200 + this.worldObj.rand.nextInt(600);
|
||||
}
|
||||
private void updateDelay() {
|
||||
this.delay = 200 + this.worldObj.rand.nextInt(600);
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.mobID = var1.getString("EntityId");
|
||||
this.delay = var1.getShort("Delay");
|
||||
}
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.mobID = var1.getString("EntityId");
|
||||
this.delay = var1.getShort("Delay");
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setString("EntityId", this.mobID);
|
||||
var1.setShort("Delay", (short)this.delay);
|
||||
}
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setString("EntityId", this.mobID);
|
||||
var1.setShort("Delay", (short) this.delay);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,53 +5,53 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||
import net.minecraft.world.World;
|
||||
|
||||
public class TileEntityNote extends TileEntity {
|
||||
public byte note = 0;
|
||||
public boolean previousRedstoneState = false;
|
||||
public byte note = 0;
|
||||
public boolean previousRedstoneState = false;
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setByte("note", this.note);
|
||||
}
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setByte("note", this.note);
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.note = var1.getByte("note");
|
||||
if(this.note < 0) {
|
||||
this.note = 0;
|
||||
}
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.note = var1.getByte("note");
|
||||
if (this.note < 0) {
|
||||
this.note = 0;
|
||||
}
|
||||
|
||||
if(this.note > 24) {
|
||||
this.note = 24;
|
||||
}
|
||||
if (this.note > 24) {
|
||||
this.note = 24;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void changePitch() {
|
||||
this.note = (byte)((this.note + 1) % 25);
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
public void changePitch() {
|
||||
this.note = (byte) ((this.note + 1) % 25);
|
||||
this.onInventoryChanged();
|
||||
}
|
||||
|
||||
public void triggerNote(World var1, int var2, int var3, int var4) {
|
||||
if(var1.getBlockMaterial(var2, var3 + 1, var4) == Material.air) {
|
||||
Material var5 = var1.getBlockMaterial(var2, var3 - 1, var4);
|
||||
byte var6 = 0;
|
||||
if(var5 == Material.rock) {
|
||||
var6 = 1;
|
||||
}
|
||||
public void triggerNote(World var1, int var2, int var3, int var4) {
|
||||
if (var1.getBlockMaterial(var2, var3 + 1, var4) == Material.air) {
|
||||
Material var5 = var1.getBlockMaterial(var2, var3 - 1, var4);
|
||||
byte var6 = 0;
|
||||
if (var5 == Material.rock) {
|
||||
var6 = 1;
|
||||
}
|
||||
|
||||
if(var5 == Material.sand) {
|
||||
var6 = 2;
|
||||
}
|
||||
if (var5 == Material.sand) {
|
||||
var6 = 2;
|
||||
}
|
||||
|
||||
if(var5 == Material.glass) {
|
||||
var6 = 3;
|
||||
}
|
||||
if (var5 == Material.glass) {
|
||||
var6 = 3;
|
||||
}
|
||||
|
||||
if(var5 == Material.wood) {
|
||||
var6 = 4;
|
||||
}
|
||||
if (var5 == Material.wood) {
|
||||
var6 = 4;
|
||||
}
|
||||
|
||||
var1.playNoteAt(var2, var3, var4, var6, this.note);
|
||||
}
|
||||
}
|
||||
var1.playNoteAt(var2, var3, var4, var6, this.note);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,134 +1,135 @@
|
|||
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.entity.Entity;
|
||||
import net.minecraft.math.AxisAlignedBB;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.PistonBlockTextures;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class TileEntityPiston extends TileEntity {
|
||||
private int storedBlockID;
|
||||
private int storedMetadata;
|
||||
private int storedOrientation;
|
||||
private boolean isExtending;
|
||||
private boolean field_31018_j;
|
||||
private float progress;
|
||||
private float lastProgress;
|
||||
private static List field_31013_m = new ArrayList();
|
||||
private int storedBlockID;
|
||||
private int storedMetadata;
|
||||
private int storedOrientation;
|
||||
private boolean isExtending;
|
||||
private boolean field_31018_j;
|
||||
private float progress;
|
||||
private float lastProgress;
|
||||
private static List field_31013_m = new ArrayList();
|
||||
|
||||
public TileEntityPiston() {
|
||||
}
|
||||
public TileEntityPiston() {
|
||||
}
|
||||
|
||||
public TileEntityPiston(int var1, int var2, int var3, boolean var4, boolean var5) {
|
||||
this.storedBlockID = var1;
|
||||
this.storedMetadata = var2;
|
||||
this.storedOrientation = var3;
|
||||
this.isExtending = var4;
|
||||
this.field_31018_j = var5;
|
||||
}
|
||||
public TileEntityPiston(int var1, int var2, int var3, boolean var4, boolean var5) {
|
||||
this.storedBlockID = var1;
|
||||
this.storedMetadata = var2;
|
||||
this.storedOrientation = var3;
|
||||
this.isExtending = var4;
|
||||
this.field_31018_j = var5;
|
||||
}
|
||||
|
||||
public int getStoredBlockID() {
|
||||
return this.storedBlockID;
|
||||
}
|
||||
public int getStoredBlockID() {
|
||||
return this.storedBlockID;
|
||||
}
|
||||
|
||||
public int func_31005_e() {
|
||||
return this.storedMetadata;
|
||||
}
|
||||
public int func_31005_e() {
|
||||
return this.storedMetadata;
|
||||
}
|
||||
|
||||
public boolean func_31010_c() {
|
||||
return this.isExtending;
|
||||
}
|
||||
public boolean func_31010_c() {
|
||||
return this.isExtending;
|
||||
}
|
||||
|
||||
public int func_31008_d() {
|
||||
return this.storedOrientation;
|
||||
}
|
||||
public int func_31008_d() {
|
||||
return this.storedOrientation;
|
||||
}
|
||||
|
||||
public float func_31007_a(float var1) {
|
||||
if(var1 > 1.0F) {
|
||||
var1 = 1.0F;
|
||||
}
|
||||
public float func_31007_a(float var1) {
|
||||
if (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) {
|
||||
if(!this.isExtending) {
|
||||
--var1;
|
||||
} else {
|
||||
var1 = 1.0F - var1;
|
||||
}
|
||||
private void func_31009_a(float var1, float var2) {
|
||||
if (!this.isExtending) {
|
||||
--var1;
|
||||
} else {
|
||||
var1 = 1.0F - var1;
|
||||
}
|
||||
|
||||
AxisAlignedBB var3 = Block.pistonMoving.func_31032_a(this.worldObj, this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, var1, this.storedOrientation);
|
||||
if(var3 != null) {
|
||||
List var4 = this.worldObj.getEntitiesWithinAABBExcludingEntity((Entity)null, var3);
|
||||
if(!var4.isEmpty()) {
|
||||
field_31013_m.addAll(var4);
|
||||
Iterator var5 = field_31013_m.iterator();
|
||||
AxisAlignedBB var3 = Block.pistonMoving.func_31032_a(this.worldObj, this.xCoord, this.yCoord, this.zCoord, this.storedBlockID, var1, this.storedOrientation);
|
||||
if (var3 != null) {
|
||||
List var4 = this.worldObj.getEntitiesWithinAABBExcludingEntity((Entity) null, var3);
|
||||
if (!var4.isEmpty()) {
|
||||
field_31013_m.addAll(var4);
|
||||
Iterator var5 = field_31013_m.iterator();
|
||||
|
||||
while(var5.hasNext()) {
|
||||
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]));
|
||||
}
|
||||
while (var5.hasNext()) {
|
||||
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]));
|
||||
}
|
||||
|
||||
field_31013_m.clear();
|
||||
}
|
||||
}
|
||||
field_31013_m.clear();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void clearPistonTileEntity() {
|
||||
if(this.lastProgress < 1.0F) {
|
||||
this.lastProgress = this.progress = 1.0F;
|
||||
this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
|
||||
this.invalidate();
|
||||
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);
|
||||
}
|
||||
}
|
||||
public void clearPistonTileEntity() {
|
||||
if (this.lastProgress < 1.0F) {
|
||||
this.lastProgress = this.progress = 1.0F;
|
||||
this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
|
||||
this.invalidate();
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void updateEntity() {
|
||||
this.lastProgress = this.progress;
|
||||
if(this.lastProgress >= 1.0F) {
|
||||
this.func_31009_a(1.0F, 0.25F);
|
||||
this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
|
||||
this.invalidate();
|
||||
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);
|
||||
}
|
||||
public void updateEntity() {
|
||||
this.lastProgress = this.progress;
|
||||
if (this.lastProgress >= 1.0F) {
|
||||
this.func_31009_a(1.0F, 0.25F);
|
||||
this.worldObj.removeBlockTileEntity(this.xCoord, this.yCoord, this.zCoord);
|
||||
this.invalidate();
|
||||
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);
|
||||
}
|
||||
|
||||
} else {
|
||||
this.progress += 0.5F;
|
||||
if(this.progress >= 1.0F) {
|
||||
this.progress = 1.0F;
|
||||
}
|
||||
} else {
|
||||
this.progress += 0.5F;
|
||||
if (this.progress >= 1.0F) {
|
||||
this.progress = 1.0F;
|
||||
}
|
||||
|
||||
if(this.isExtending) {
|
||||
this.func_31009_a(this.progress, this.progress - this.lastProgress + 1.0F / 16.0F);
|
||||
}
|
||||
if (this.isExtending) {
|
||||
this.func_31009_a(this.progress, this.progress - this.lastProgress + 1.0F / 16.0F);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.storedBlockID = var1.getInteger("blockId");
|
||||
this.storedMetadata = var1.getInteger("blockData");
|
||||
this.storedOrientation = var1.getInteger("facing");
|
||||
this.lastProgress = this.progress = var1.getFloat("progress");
|
||||
this.isExtending = var1.getBoolean("extending");
|
||||
}
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.storedBlockID = var1.getInteger("blockId");
|
||||
this.storedMetadata = var1.getInteger("blockData");
|
||||
this.storedOrientation = var1.getInteger("facing");
|
||||
this.lastProgress = this.progress = var1.getFloat("progress");
|
||||
this.isExtending = var1.getBoolean("extending");
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setInteger("blockId", this.storedBlockID);
|
||||
var1.setInteger("blockData", this.storedMetadata);
|
||||
var1.setInteger("facing", this.storedOrientation);
|
||||
var1.setFloat("progress", this.lastProgress);
|
||||
var1.setBoolean("extending", this.isExtending);
|
||||
}
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setInteger("blockId", this.storedBlockID);
|
||||
var1.setInteger("blockData", this.storedMetadata);
|
||||
var1.setInteger("facing", this.storedOrientation);
|
||||
var1.setFloat("progress", this.lastProgress);
|
||||
var1.setBoolean("extending", this.isExtending);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,18 +3,18 @@ package net.minecraft.block.tile;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class TileEntityRecordPlayer extends TileEntity {
|
||||
public int field_28009_a;
|
||||
public int field_28009_a;
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.field_28009_a = var1.getInteger("Record");
|
||||
}
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
super.readFromNBT(var1);
|
||||
this.field_28009_a = var1.getInteger("Record");
|
||||
}
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
if(this.field_28009_a > 0) {
|
||||
var1.setInteger("Record", this.field_28009_a);
|
||||
}
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
if (this.field_28009_a > 0) {
|
||||
var1.setInteger("Record", this.field_28009_a);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,46 +5,46 @@ import net.minecraft.network.packets.Packet;
|
|||
import net.minecraft.network.packets.Packet130UpdateSign;
|
||||
|
||||
public class TileEntitySign extends TileEntity {
|
||||
public String[] signText = new String[]{"", "", "", ""};
|
||||
public int lineBeingEdited = -1;
|
||||
private boolean isEditAble = true;
|
||||
public String[] signText = new String[]{"", "", "", ""};
|
||||
public int lineBeingEdited = -1;
|
||||
private boolean isEditAble = true;
|
||||
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setString("Text1", this.signText[0]);
|
||||
var1.setString("Text2", this.signText[1]);
|
||||
var1.setString("Text3", this.signText[2]);
|
||||
var1.setString("Text4", this.signText[3]);
|
||||
}
|
||||
public void writeToNBT(NBTTagCompound var1) {
|
||||
super.writeToNBT(var1);
|
||||
var1.setString("Text1", this.signText[0]);
|
||||
var1.setString("Text2", this.signText[1]);
|
||||
var1.setString("Text3", this.signText[2]);
|
||||
var1.setString("Text4", this.signText[3]);
|
||||
}
|
||||
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
this.isEditAble = false;
|
||||
super.readFromNBT(var1);
|
||||
public void readFromNBT(NBTTagCompound var1) {
|
||||
this.isEditAble = false;
|
||||
super.readFromNBT(var1);
|
||||
|
||||
for(int var2 = 0; var2 < 4; ++var2) {
|
||||
this.signText[var2] = var1.getString("Text" + (var2 + 1));
|
||||
if(this.signText[var2].length() > 15) {
|
||||
this.signText[var2] = this.signText[var2].substring(0, 15);
|
||||
}
|
||||
}
|
||||
for (int var2 = 0; var2 < 4; ++var2) {
|
||||
this.signText[var2] = var1.getString("Text" + (var2 + 1));
|
||||
if (this.signText[var2].length() > 15) {
|
||||
this.signText[var2] = this.signText[var2].substring(0, 15);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Packet getDescriptionPacket() {
|
||||
String[] var1 = new String[4];
|
||||
public Packet getDescriptionPacket() {
|
||||
String[] var1 = new String[4];
|
||||
|
||||
for(int var2 = 0; var2 < 4; ++var2) {
|
||||
var1[var2] = this.signText[var2];
|
||||
}
|
||||
for (int var2 = 0; var2 < 4; ++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() {
|
||||
return this.isEditAble;
|
||||
}
|
||||
public boolean getIsEditAble() {
|
||||
return this.isEditAble;
|
||||
}
|
||||
|
||||
public void func_32001_a(boolean var1) {
|
||||
this.isEditAble = var1;
|
||||
}
|
||||
public void func_32001_a(boolean var1) {
|
||||
this.isEditAble = var1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
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.InventoryPlayer;
|
||||
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.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public abstract class Container {
|
||||
public List inventoryItemStacks = new ArrayList();
|
||||
public List inventorySlots = new ArrayList();
|
||||
public int windowId = 0;
|
||||
private short field_20132_a = 0;
|
||||
protected List crafters = new ArrayList();
|
||||
private Set field_20131_b = new HashSet();
|
||||
public List inventoryItemStacks = new ArrayList();
|
||||
public List inventorySlots = new ArrayList();
|
||||
public int windowId = 0;
|
||||
private short field_20132_a = 0;
|
||||
protected List crafters = new ArrayList();
|
||||
private Set field_20131_b = new HashSet();
|
||||
|
||||
protected void addSlot(Slot var1) {
|
||||
var1.id = this.inventorySlots.size();
|
||||
this.inventorySlots.add(var1);
|
||||
this.inventoryItemStacks.add((Object)null);
|
||||
}
|
||||
protected void addSlot(Slot var1) {
|
||||
var1.id = this.inventorySlots.size();
|
||||
this.inventorySlots.add(var1);
|
||||
this.inventoryItemStacks.add((Object) null);
|
||||
}
|
||||
|
||||
public void onCraftGuiOpened(ICrafting var1) {
|
||||
if(this.crafters.contains(var1)) {
|
||||
throw new IllegalArgumentException("Listener already listening");
|
||||
} else {
|
||||
this.crafters.add(var1);
|
||||
var1.updateCraftingInventory(this, this.func_28127_b());
|
||||
this.updateCraftingMatrix();
|
||||
}
|
||||
}
|
||||
public void onCraftGuiOpened(ICrafting var1) {
|
||||
if (this.crafters.contains(var1)) {
|
||||
throw new IllegalArgumentException("Listener already listening");
|
||||
} else {
|
||||
this.crafters.add(var1);
|
||||
var1.updateCraftingInventory(this, this.func_28127_b());
|
||||
this.updateCraftingMatrix();
|
||||
}
|
||||
}
|
||||
|
||||
public List func_28127_b() {
|
||||
ArrayList var1 = new ArrayList();
|
||||
public List func_28127_b() {
|
||||
ArrayList var1 = new ArrayList();
|
||||
|
||||
for(int var2 = 0; var2 < this.inventorySlots.size(); ++var2) {
|
||||
var1.add(((Slot)this.inventorySlots.get(var2)).getStack());
|
||||
}
|
||||
for (int var2 = 0; var2 < this.inventorySlots.size(); ++var2) {
|
||||
var1.add(((Slot) this.inventorySlots.get(var2)).getStack());
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
return var1;
|
||||
}
|
||||
|
||||
public void updateCraftingMatrix() {
|
||||
for(int var1 = 0; var1 < this.inventorySlots.size(); ++var1) {
|
||||
ItemStack var2 = ((Slot)this.inventorySlots.get(var1)).getStack();
|
||||
ItemStack var3 = (ItemStack)this.inventoryItemStacks.get(var1);
|
||||
if(!ItemStack.areItemStacksEqual(var3, var2)) {
|
||||
var3 = var2 == null ? null : var2.copy();
|
||||
this.inventoryItemStacks.set(var1, var3);
|
||||
public void updateCraftingMatrix() {
|
||||
for (int var1 = 0; var1 < this.inventorySlots.size(); ++var1) {
|
||||
ItemStack var2 = ((Slot) this.inventorySlots.get(var1)).getStack();
|
||||
ItemStack var3 = (ItemStack) this.inventoryItemStacks.get(var1);
|
||||
if (!ItemStack.areItemStacksEqual(var3, var2)) {
|
||||
var3 = var2 == null ? null : var2.copy();
|
||||
this.inventoryItemStacks.set(var1, var3);
|
||||
|
||||
for(int var4 = 0; var4 < this.crafters.size(); ++var4) {
|
||||
((ICrafting)this.crafters.get(var4)).updateCraftingInventorySlot(this, var1, var3);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int var4 = 0; var4 < this.crafters.size(); ++var4) {
|
||||
((ICrafting) this.crafters.get(var4)).updateCraftingInventorySlot(this, var1, var3);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public Slot func_20127_a(IInventory var1, int var2) {
|
||||
for(int var3 = 0; var3 < this.inventorySlots.size(); ++var3) {
|
||||
Slot var4 = (Slot)this.inventorySlots.get(var3);
|
||||
if(var4.isHere(var1, var2)) {
|
||||
return var4;
|
||||
}
|
||||
}
|
||||
public Slot func_20127_a(IInventory var1, int var2) {
|
||||
for (int var3 = 0; var3 < this.inventorySlots.size(); ++var3) {
|
||||
Slot var4 = (Slot) this.inventorySlots.get(var3);
|
||||
if (var4.isHere(var1, var2)) {
|
||||
return var4;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Slot getSlot(int var1) {
|
||||
return (Slot)this.inventorySlots.get(var1);
|
||||
}
|
||||
public Slot getSlot(int var1) {
|
||||
return (Slot) this.inventorySlots.get(var1);
|
||||
}
|
||||
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
Slot var2 = (Slot)this.inventorySlots.get(var1);
|
||||
return var2 != null ? var2.getStack() : null;
|
||||
}
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
Slot var2 = (Slot) this.inventorySlots.get(var1);
|
||||
return var2 != null ? var2.getStack() : null;
|
||||
}
|
||||
|
||||
public ItemStack func_27085_a(int var1, int var2, boolean var3, EntityPlayer var4) {
|
||||
ItemStack var5 = null;
|
||||
if(var2 == 0 || var2 == 1) {
|
||||
InventoryPlayer var6 = var4.inventory;
|
||||
if(var1 == -999) {
|
||||
if(var6.getItemStack() != null && var1 == -999) {
|
||||
if(var2 == 0) {
|
||||
var4.dropPlayerItem(var6.getItemStack());
|
||||
var6.setItemStack((ItemStack)null);
|
||||
}
|
||||
public ItemStack func_27085_a(int var1, int var2, boolean var3, EntityPlayer var4) {
|
||||
ItemStack var5 = null;
|
||||
if (var2 == 0 || var2 == 1) {
|
||||
InventoryPlayer var6 = var4.inventory;
|
||||
if (var1 == -999) {
|
||||
if (var6.getItemStack() != null && var1 == -999) {
|
||||
if (var2 == 0) {
|
||||
var4.dropPlayerItem(var6.getItemStack());
|
||||
var6.setItemStack((ItemStack) null);
|
||||
}
|
||||
|
||||
if(var2 == 1) {
|
||||
var4.dropPlayerItem(var6.getItemStack().splitStack(1));
|
||||
if(var6.getItemStack().stackSize == 0) {
|
||||
var6.setItemStack((ItemStack)null);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int var10;
|
||||
if(var3) {
|
||||
ItemStack var7 = this.func_27086_a(var1);
|
||||
if(var7 != null) {
|
||||
int var8 = var7.stackSize;
|
||||
var5 = var7.copy();
|
||||
Slot var9 = (Slot)this.inventorySlots.get(var1);
|
||||
if(var9 != null && var9.getStack() != null) {
|
||||
var10 = var9.getStack().stackSize;
|
||||
if(var10 < var8) {
|
||||
this.func_27085_a(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Slot var12 = (Slot)this.inventorySlots.get(var1);
|
||||
if(var12 != null) {
|
||||
var12.onSlotChanged();
|
||||
ItemStack var13 = var12.getStack();
|
||||
ItemStack var14 = var6.getItemStack();
|
||||
if(var13 != null) {
|
||||
var5 = var13.copy();
|
||||
}
|
||||
if (var2 == 1) {
|
||||
var4.dropPlayerItem(var6.getItemStack().splitStack(1));
|
||||
if (var6.getItemStack().stackSize == 0) {
|
||||
var6.setItemStack((ItemStack) null);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
int var10;
|
||||
if (var3) {
|
||||
ItemStack var7 = this.func_27086_a(var1);
|
||||
if (var7 != null) {
|
||||
int var8 = var7.stackSize;
|
||||
var5 = var7.copy();
|
||||
Slot var9 = (Slot) this.inventorySlots.get(var1);
|
||||
if (var9 != null && var9.getStack() != null) {
|
||||
var10 = var9.getStack().stackSize;
|
||||
if (var10 < var8) {
|
||||
this.func_27085_a(var1, var2, var3, var4);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Slot var12 = (Slot) this.inventorySlots.get(var1);
|
||||
if (var12 != null) {
|
||||
var12.onSlotChanged();
|
||||
ItemStack var13 = var12.getStack();
|
||||
ItemStack var14 = var6.getItemStack();
|
||||
if (var13 != null) {
|
||||
var5 = var13.copy();
|
||||
}
|
||||
|
||||
if(var13 == null) {
|
||||
if(var14 != null && var12.isItemValid(var14)) {
|
||||
var10 = var2 == 0 ? var14.stackSize : 1;
|
||||
if(var10 > var12.getSlotStackLimit()) {
|
||||
var10 = var12.getSlotStackLimit();
|
||||
}
|
||||
if (var13 == null) {
|
||||
if (var14 != null && var12.isItemValid(var14)) {
|
||||
var10 = var2 == 0 ? var14.stackSize : 1;
|
||||
if (var10 > var12.getSlotStackLimit()) {
|
||||
var10 = var12.getSlotStackLimit();
|
||||
}
|
||||
|
||||
var12.putStack(var14.splitStack(var10));
|
||||
if(var14.stackSize == 0) {
|
||||
var6.setItemStack((ItemStack)null);
|
||||
}
|
||||
}
|
||||
} else if(var14 == null) {
|
||||
var10 = var2 == 0 ? var13.stackSize : (var13.stackSize + 1) / 2;
|
||||
ItemStack var11 = var12.decrStackSize(var10);
|
||||
var6.setItemStack(var11);
|
||||
if(var13.stackSize == 0) {
|
||||
var12.putStack((ItemStack)null);
|
||||
}
|
||||
var12.putStack(var14.splitStack(var10));
|
||||
if (var14.stackSize == 0) {
|
||||
var6.setItemStack((ItemStack) null);
|
||||
}
|
||||
}
|
||||
} else if (var14 == null) {
|
||||
var10 = var2 == 0 ? var13.stackSize : (var13.stackSize + 1) / 2;
|
||||
ItemStack var11 = var12.decrStackSize(var10);
|
||||
var6.setItemStack(var11);
|
||||
if (var13.stackSize == 0) {
|
||||
var12.putStack((ItemStack) null);
|
||||
}
|
||||
|
||||
var12.onPickupFromSlot(var6.getItemStack());
|
||||
} else if(var12.isItemValid(var14)) {
|
||||
if(var13.itemID != var14.itemID || var13.getHasSubtypes() && var13.getItemDamage() != var14.getItemDamage()) {
|
||||
if(var14.stackSize <= var12.getSlotStackLimit()) {
|
||||
var12.putStack(var14);
|
||||
var6.setItemStack(var13);
|
||||
}
|
||||
} else {
|
||||
var10 = var2 == 0 ? var14.stackSize : 1;
|
||||
if(var10 > var12.getSlotStackLimit() - var13.stackSize) {
|
||||
var10 = var12.getSlotStackLimit() - var13.stackSize;
|
||||
}
|
||||
var12.onPickupFromSlot(var6.getItemStack());
|
||||
} else if (var12.isItemValid(var14)) {
|
||||
if (var13.itemID != var14.itemID || var13.getHasSubtypes() && var13.getItemDamage() != var14.getItemDamage()) {
|
||||
if (var14.stackSize <= var12.getSlotStackLimit()) {
|
||||
var12.putStack(var14);
|
||||
var6.setItemStack(var13);
|
||||
}
|
||||
} else {
|
||||
var10 = var2 == 0 ? var14.stackSize : 1;
|
||||
if (var10 > var12.getSlotStackLimit() - var13.stackSize) {
|
||||
var10 = var12.getSlotStackLimit() - var13.stackSize;
|
||||
}
|
||||
|
||||
if(var10 > var14.getMaxStackSize() - var13.stackSize) {
|
||||
var10 = var14.getMaxStackSize() - var13.stackSize;
|
||||
}
|
||||
if (var10 > var14.getMaxStackSize() - var13.stackSize) {
|
||||
var10 = var14.getMaxStackSize() - var13.stackSize;
|
||||
}
|
||||
|
||||
var14.splitStack(var10);
|
||||
if(var14.stackSize == 0) {
|
||||
var6.setItemStack((ItemStack)null);
|
||||
}
|
||||
var14.splitStack(var10);
|
||||
if (var14.stackSize == 0) {
|
||||
var6.setItemStack((ItemStack) null);
|
||||
}
|
||||
|
||||
var13.stackSize += var10;
|
||||
}
|
||||
} else if(var13.itemID == var14.itemID && var14.getMaxStackSize() > 1 && (!var13.getHasSubtypes() || var13.getItemDamage() == var14.getItemDamage())) {
|
||||
var10 = var13.stackSize;
|
||||
if(var10 > 0 && var10 + var14.stackSize <= var14.getMaxStackSize()) {
|
||||
var14.stackSize += var10;
|
||||
var13.splitStack(var10);
|
||||
if(var13.stackSize == 0) {
|
||||
var12.putStack((ItemStack)null);
|
||||
}
|
||||
var13.stackSize += var10;
|
||||
}
|
||||
} else if (var13.itemID == var14.itemID && var14.getMaxStackSize() > 1 && (!var13.getHasSubtypes() || var13.getItemDamage() == var14.getItemDamage())) {
|
||||
var10 = var13.stackSize;
|
||||
if (var10 > 0 && var10 + var14.stackSize <= var14.getMaxStackSize()) {
|
||||
var14.stackSize += var10;
|
||||
var13.splitStack(var10);
|
||||
if (var13.stackSize == 0) {
|
||||
var12.putStack((ItemStack) null);
|
||||
}
|
||||
|
||||
var12.onPickupFromSlot(var6.getItemStack());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var12.onPickupFromSlot(var6.getItemStack());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var5;
|
||||
}
|
||||
return var5;
|
||||
}
|
||||
|
||||
public void onCraftGuiClosed(EntityPlayer var1) {
|
||||
InventoryPlayer var2 = var1.inventory;
|
||||
if(var2.getItemStack() != null) {
|
||||
var1.dropPlayerItem(var2.getItemStack());
|
||||
var2.setItemStack((ItemStack)null);
|
||||
}
|
||||
public void onCraftGuiClosed(EntityPlayer var1) {
|
||||
InventoryPlayer var2 = var1.inventory;
|
||||
if (var2.getItemStack() != null) {
|
||||
var1.dropPlayerItem(var2.getItemStack());
|
||||
var2.setItemStack((ItemStack) null);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onCraftMatrixChanged(IInventory var1) {
|
||||
this.updateCraftingMatrix();
|
||||
}
|
||||
public void onCraftMatrixChanged(IInventory var1) {
|
||||
this.updateCraftingMatrix();
|
||||
}
|
||||
|
||||
public boolean getCanCraft(EntityPlayer var1) {
|
||||
return !this.field_20131_b.contains(var1);
|
||||
}
|
||||
public boolean getCanCraft(EntityPlayer var1) {
|
||||
return !this.field_20131_b.contains(var1);
|
||||
}
|
||||
|
||||
public void setCanCraft(EntityPlayer var1, boolean var2) {
|
||||
if(var2) {
|
||||
this.field_20131_b.remove(var1);
|
||||
} else {
|
||||
this.field_20131_b.add(var1);
|
||||
}
|
||||
public void setCanCraft(EntityPlayer var1, boolean var2) {
|
||||
if (var2) {
|
||||
this.field_20131_b.remove(var1);
|
||||
} else {
|
||||
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) {
|
||||
int var5 = var2;
|
||||
if(var4) {
|
||||
var5 = var3 - 1;
|
||||
}
|
||||
protected void func_28126_a(ItemStack var1, int var2, int var3, boolean var4) {
|
||||
int var5 = var2;
|
||||
if (var4) {
|
||||
var5 = var3 - 1;
|
||||
}
|
||||
|
||||
Slot var6;
|
||||
ItemStack var7;
|
||||
if(var1.func_21132_c()) {
|
||||
while(var1.stackSize > 0 && (!var4 && var5 < var3 || var4 && var5 >= var2)) {
|
||||
var6 = (Slot)this.inventorySlots.get(var5);
|
||||
var7 = var6.getStack();
|
||||
if(var7 != null && var7.itemID == var1.itemID && (!var1.getHasSubtypes() || var1.getItemDamage() == var7.getItemDamage())) {
|
||||
int var8 = var7.stackSize + var1.stackSize;
|
||||
if(var8 <= var1.getMaxStackSize()) {
|
||||
var1.stackSize = 0;
|
||||
var7.stackSize = var8;
|
||||
var6.onSlotChanged();
|
||||
} else if(var7.stackSize < var1.getMaxStackSize()) {
|
||||
var1.stackSize -= var1.getMaxStackSize() - var7.stackSize;
|
||||
var7.stackSize = var1.getMaxStackSize();
|
||||
var6.onSlotChanged();
|
||||
}
|
||||
}
|
||||
Slot var6;
|
||||
ItemStack var7;
|
||||
if (var1.func_21132_c()) {
|
||||
while (var1.stackSize > 0 && (!var4 && var5 < var3 || var4 && var5 >= var2)) {
|
||||
var6 = (Slot) this.inventorySlots.get(var5);
|
||||
var7 = var6.getStack();
|
||||
if (var7 != null && var7.itemID == var1.itemID && (!var1.getHasSubtypes() || var1.getItemDamage() == var7.getItemDamage())) {
|
||||
int var8 = var7.stackSize + var1.stackSize;
|
||||
if (var8 <= var1.getMaxStackSize()) {
|
||||
var1.stackSize = 0;
|
||||
var7.stackSize = var8;
|
||||
var6.onSlotChanged();
|
||||
} else if (var7.stackSize < var1.getMaxStackSize()) {
|
||||
var1.stackSize -= var1.getMaxStackSize() - var7.stackSize;
|
||||
var7.stackSize = var1.getMaxStackSize();
|
||||
var6.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
if(var4) {
|
||||
--var5;
|
||||
} else {
|
||||
++var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var4) {
|
||||
--var5;
|
||||
} else {
|
||||
++var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var1.stackSize > 0) {
|
||||
if(var4) {
|
||||
var5 = var3 - 1;
|
||||
} else {
|
||||
var5 = var2;
|
||||
}
|
||||
if (var1.stackSize > 0) {
|
||||
if (var4) {
|
||||
var5 = var3 - 1;
|
||||
} else {
|
||||
var5 = var2;
|
||||
}
|
||||
|
||||
while(!var4 && var5 < var3 || var4 && var5 >= var2) {
|
||||
var6 = (Slot)this.inventorySlots.get(var5);
|
||||
var7 = var6.getStack();
|
||||
if(var7 == null) {
|
||||
var6.putStack(var1.copy());
|
||||
var6.onSlotChanged();
|
||||
var1.stackSize = 0;
|
||||
break;
|
||||
}
|
||||
while (!var4 && var5 < var3 || var4 && var5 >= var2) {
|
||||
var6 = (Slot) this.inventorySlots.get(var5);
|
||||
var7 = var6.getStack();
|
||||
if (var7 == null) {
|
||||
var6.putStack(var1.copy());
|
||||
var6.onSlotChanged();
|
||||
var1.stackSize = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(var4) {
|
||||
--var5;
|
||||
} else {
|
||||
++var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (var4) {
|
||||
--var5;
|
||||
} else {
|
||||
++var5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,57 +6,57 @@ import net.minecraft.entity.EntityPlayer;
|
|||
import net.minecraft.item.crafting.ItemStack;
|
||||
|
||||
public class ContainerChest extends Container {
|
||||
private IInventory field_20137_a;
|
||||
private int field_27088_b;
|
||||
private IInventory field_20137_a;
|
||||
private int field_27088_b;
|
||||
|
||||
public ContainerChest(IInventory var1, IInventory var2) {
|
||||
this.field_20137_a = var2;
|
||||
this.field_27088_b = var2.getSizeInventory() / 9;
|
||||
int var3 = (this.field_27088_b - 4) * 18;
|
||||
public ContainerChest(IInventory var1, IInventory var2) {
|
||||
this.field_20137_a = var2;
|
||||
this.field_27088_b = var2.getSizeInventory() / 9;
|
||||
int var3 = (this.field_27088_b - 4) * 18;
|
||||
|
||||
int var4;
|
||||
int var5;
|
||||
for(var4 = 0; var4 < this.field_27088_b; ++var4) {
|
||||
for(var5 = 0; var5 < 9; ++var5) {
|
||||
this.addSlot(new Slot(var2, var5 + var4 * 9, 8 + var5 * 18, 18 + var4 * 18));
|
||||
}
|
||||
}
|
||||
int var4;
|
||||
int var5;
|
||||
for (var4 = 0; var4 < this.field_27088_b; ++var4) {
|
||||
for (var5 = 0; var5 < 9; ++var5) {
|
||||
this.addSlot(new Slot(var2, var5 + var4 * 9, 8 + var5 * 18, 18 + var4 * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(var4 = 0; var4 < 3; ++var4) {
|
||||
for(var5 = 0; var5 < 9; ++var5) {
|
||||
this.addSlot(new Slot(var1, var5 + var4 * 9 + 9, 8 + var5 * 18, 103 + var4 * 18 + var3));
|
||||
}
|
||||
}
|
||||
for (var4 = 0; var4 < 3; ++var4) {
|
||||
for (var5 = 0; var5 < 9; ++var5) {
|
||||
this.addSlot(new Slot(var1, var5 + var4 * 9 + 9, 8 + var5 * 18, 103 + var4 * 18 + var3));
|
||||
}
|
||||
}
|
||||
|
||||
for(var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4, 8 + var4 * 18, 161 + var3));
|
||||
}
|
||||
for (var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4, 8 + var4 * 18, 161 + var3));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return this.field_20137_a.canInteractWith(var1);
|
||||
}
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return this.field_20137_a.canInteractWith(var1);
|
||||
}
|
||||
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
ItemStack var2 = null;
|
||||
Slot var3 = (Slot)this.inventorySlots.get(var1);
|
||||
if(var3 != null && var3.func_27006_b()) {
|
||||
ItemStack var4 = var3.getStack();
|
||||
var2 = var4.copy();
|
||||
if(var1 < this.field_27088_b * 9) {
|
||||
this.func_28126_a(var4, this.field_27088_b * 9, this.inventorySlots.size(), true);
|
||||
} else {
|
||||
this.func_28126_a(var4, 0, this.field_27088_b * 9, false);
|
||||
}
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
ItemStack var2 = null;
|
||||
Slot var3 = (Slot) this.inventorySlots.get(var1);
|
||||
if (var3 != null && var3.func_27006_b()) {
|
||||
ItemStack var4 = var3.getStack();
|
||||
var2 = var4.copy();
|
||||
if (var1 < this.field_27088_b * 9) {
|
||||
this.func_28126_a(var4, this.field_27088_b * 9, this.inventorySlots.size(), true);
|
||||
} else {
|
||||
this.func_28126_a(var4, 0, this.field_27088_b * 9, false);
|
||||
}
|
||||
|
||||
if(var4.stackSize == 0) {
|
||||
var3.putStack((ItemStack)null);
|
||||
} else {
|
||||
var3.onSlotChanged();
|
||||
}
|
||||
}
|
||||
if (var4.stackSize == 0) {
|
||||
var3.putStack((ItemStack) null);
|
||||
} else {
|
||||
var3.onSlotChanged();
|
||||
}
|
||||
}
|
||||
|
||||
return var2;
|
||||
}
|
||||
return var2;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,32 +6,32 @@ import net.minecraft.container.slot.Slot;
|
|||
import net.minecraft.entity.EntityPlayer;
|
||||
|
||||
public class ContainerDispenser extends Container {
|
||||
private TileEntityDispenser field_21133_a;
|
||||
private TileEntityDispenser field_21133_a;
|
||||
|
||||
public ContainerDispenser(IInventory var1, TileEntityDispenser var2) {
|
||||
this.field_21133_a = var2;
|
||||
public ContainerDispenser(IInventory var1, TileEntityDispenser var2) {
|
||||
this.field_21133_a = var2;
|
||||
|
||||
int var3;
|
||||
int var4;
|
||||
for(var3 = 0; var3 < 3; ++var3) {
|
||||
for(var4 = 0; var4 < 3; ++var4) {
|
||||
this.addSlot(new Slot(var2, var4 + var3 * 3, 62 + var4 * 18, 17 + var3 * 18));
|
||||
}
|
||||
}
|
||||
int var3;
|
||||
int var4;
|
||||
for (var3 = 0; var3 < 3; ++var3) {
|
||||
for (var4 = 0; var4 < 3; ++var4) {
|
||||
this.addSlot(new Slot(var2, var4 + var3 * 3, 62 + var4 * 18, 17 + var3 * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(var3 = 0; var3 < 3; ++var3) {
|
||||
for(var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
||||
}
|
||||
}
|
||||
for (var3 = 0; var3 < 3; ++var3) {
|
||||
for (var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(var3 = 0; var3 < 9; ++var3) {
|
||||
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
|
||||
}
|
||||
for (var3 = 0; var3 < 9; ++var3) {
|
||||
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return this.field_21133_a.canInteractWith(var1);
|
||||
}
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return this.field_21133_a.canInteractWith(var1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,93 +9,93 @@ import net.minecraft.item.crafting.ICrafting;
|
|||
import net.minecraft.item.crafting.ItemStack;
|
||||
|
||||
public class ContainerFurnace extends Container {
|
||||
private TileEntityFurnace furnace;
|
||||
private int lastCookTime = 0;
|
||||
private int lastBurnTime = 0;
|
||||
private int lastItemBurnTime = 0;
|
||||
private TileEntityFurnace furnace;
|
||||
private int lastCookTime = 0;
|
||||
private int lastBurnTime = 0;
|
||||
private int lastItemBurnTime = 0;
|
||||
|
||||
public ContainerFurnace(InventoryPlayer var1, TileEntityFurnace var2) {
|
||||
this.furnace = var2;
|
||||
this.addSlot(new Slot(var2, 0, 56, 17));
|
||||
this.addSlot(new Slot(var2, 1, 56, 53));
|
||||
this.addSlot(new SlotFurnace(var1.player, var2, 2, 116, 35));
|
||||
public ContainerFurnace(InventoryPlayer var1, TileEntityFurnace var2) {
|
||||
this.furnace = var2;
|
||||
this.addSlot(new Slot(var2, 0, 56, 17));
|
||||
this.addSlot(new Slot(var2, 1, 56, 53));
|
||||
this.addSlot(new SlotFurnace(var1.player, var2, 2, 116, 35));
|
||||
|
||||
int var3;
|
||||
for(var3 = 0; var3 < 3; ++var3) {
|
||||
for(int var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
||||
}
|
||||
}
|
||||
int var3;
|
||||
for (var3 = 0; var3 < 3; ++var3) {
|
||||
for (int var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4 + var3 * 9 + 9, 8 + var4 * 18, 84 + var3 * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(var3 = 0; var3 < 9; ++var3) {
|
||||
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
|
||||
}
|
||||
for (var3 = 0; var3 < 9; ++var3) {
|
||||
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void onCraftGuiOpened(ICrafting var1) {
|
||||
super.onCraftGuiOpened(var1);
|
||||
var1.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime);
|
||||
var1.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime);
|
||||
var1.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime);
|
||||
}
|
||||
public void onCraftGuiOpened(ICrafting var1) {
|
||||
super.onCraftGuiOpened(var1);
|
||||
var1.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime);
|
||||
var1.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime);
|
||||
var1.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime);
|
||||
}
|
||||
|
||||
public void updateCraftingMatrix() {
|
||||
super.updateCraftingMatrix();
|
||||
public void updateCraftingMatrix() {
|
||||
super.updateCraftingMatrix();
|
||||
|
||||
for(int var1 = 0; var1 < this.crafters.size(); ++var1) {
|
||||
ICrafting var2 = (ICrafting)this.crafters.get(var1);
|
||||
if(this.lastCookTime != this.furnace.furnaceCookTime) {
|
||||
var2.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime);
|
||||
}
|
||||
for (int var1 = 0; var1 < this.crafters.size(); ++var1) {
|
||||
ICrafting var2 = (ICrafting) this.crafters.get(var1);
|
||||
if (this.lastCookTime != this.furnace.furnaceCookTime) {
|
||||
var2.updateCraftingInventoryInfo(this, 0, this.furnace.furnaceCookTime);
|
||||
}
|
||||
|
||||
if(this.lastBurnTime != this.furnace.furnaceBurnTime) {
|
||||
var2.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime);
|
||||
}
|
||||
if (this.lastBurnTime != this.furnace.furnaceBurnTime) {
|
||||
var2.updateCraftingInventoryInfo(this, 1, this.furnace.furnaceBurnTime);
|
||||
}
|
||||
|
||||
if(this.lastItemBurnTime != this.furnace.currentItemBurnTime) {
|
||||
var2.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime);
|
||||
}
|
||||
}
|
||||
if (this.lastItemBurnTime != this.furnace.currentItemBurnTime) {
|
||||
var2.updateCraftingInventoryInfo(this, 2, this.furnace.currentItemBurnTime);
|
||||
}
|
||||
}
|
||||
|
||||
this.lastCookTime = this.furnace.furnaceCookTime;
|
||||
this.lastBurnTime = this.furnace.furnaceBurnTime;
|
||||
this.lastItemBurnTime = this.furnace.currentItemBurnTime;
|
||||
}
|
||||
this.lastCookTime = this.furnace.furnaceCookTime;
|
||||
this.lastBurnTime = this.furnace.furnaceBurnTime;
|
||||
this.lastItemBurnTime = this.furnace.currentItemBurnTime;
|
||||
}
|
||||
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return this.furnace.canInteractWith(var1);
|
||||
}
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return this.furnace.canInteractWith(var1);
|
||||
}
|
||||
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
ItemStack var2 = null;
|
||||
Slot var3 = (Slot)this.inventorySlots.get(var1);
|
||||
if(var3 != null && var3.func_27006_b()) {
|
||||
ItemStack var4 = var3.getStack();
|
||||
var2 = var4.copy();
|
||||
if(var1 == 2) {
|
||||
this.func_28126_a(var4, 3, 39, true);
|
||||
} else if(var1 >= 3 && var1 < 30) {
|
||||
this.func_28126_a(var4, 30, 39, false);
|
||||
} else if(var1 >= 30 && var1 < 39) {
|
||||
this.func_28126_a(var4, 3, 30, false);
|
||||
} else {
|
||||
this.func_28126_a(var4, 3, 39, false);
|
||||
}
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
ItemStack var2 = null;
|
||||
Slot var3 = (Slot) this.inventorySlots.get(var1);
|
||||
if (var3 != null && var3.func_27006_b()) {
|
||||
ItemStack var4 = var3.getStack();
|
||||
var2 = var4.copy();
|
||||
if (var1 == 2) {
|
||||
this.func_28126_a(var4, 3, 39, true);
|
||||
} else if (var1 >= 3 && var1 < 30) {
|
||||
this.func_28126_a(var4, 30, 39, false);
|
||||
} else if (var1 >= 30 && var1 < 39) {
|
||||
this.func_28126_a(var4, 3, 30, false);
|
||||
} else {
|
||||
this.func_28126_a(var4, 3, 39, false);
|
||||
}
|
||||
|
||||
if(var4.stackSize == 0) {
|
||||
var3.putStack((ItemStack)null);
|
||||
} else {
|
||||
var3.onSlotChanged();
|
||||
}
|
||||
if (var4.stackSize == 0) {
|
||||
var3.putStack((ItemStack) null);
|
||||
} else {
|
||||
var3.onSlotChanged();
|
||||
}
|
||||
|
||||
if(var4.stackSize == var2.stackSize) {
|
||||
return null;
|
||||
}
|
||||
if (var4.stackSize == var2.stackSize) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var3.onPickupFromSlot(var4);
|
||||
}
|
||||
var3.onPickupFromSlot(var4);
|
||||
}
|
||||
|
||||
return var2;
|
||||
}
|
||||
return var2;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,96 +12,96 @@ import net.minecraft.item.crafting.CraftingManager;
|
|||
import net.minecraft.item.crafting.ItemStack;
|
||||
|
||||
public class ContainerPlayer extends Container {
|
||||
public InventoryCrafting craftMatrix;
|
||||
public IInventory craftResult;
|
||||
public boolean isMP;
|
||||
public InventoryCrafting craftMatrix;
|
||||
public IInventory craftResult;
|
||||
public boolean isMP;
|
||||
|
||||
public ContainerPlayer(InventoryPlayer var1) {
|
||||
this(var1, true);
|
||||
}
|
||||
public ContainerPlayer(InventoryPlayer var1) {
|
||||
this(var1, true);
|
||||
}
|
||||
|
||||
public ContainerPlayer(InventoryPlayer var1, boolean var2) {
|
||||
this.craftMatrix = new InventoryCrafting(this, 2, 2);
|
||||
this.craftResult = new InventoryCraftResult();
|
||||
this.isMP = false;
|
||||
this.isMP = var2;
|
||||
this.addSlot(new SlotCrafting(var1.player, this.craftMatrix, this.craftResult, 0, 144, 36));
|
||||
public ContainerPlayer(InventoryPlayer var1, boolean var2) {
|
||||
this.craftMatrix = new InventoryCrafting(this, 2, 2);
|
||||
this.craftResult = new InventoryCraftResult();
|
||||
this.isMP = false;
|
||||
this.isMP = var2;
|
||||
this.addSlot(new SlotCrafting(var1.player, this.craftMatrix, this.craftResult, 0, 144, 36));
|
||||
|
||||
int var3;
|
||||
int var4;
|
||||
for(var3 = 0; var3 < 2; ++var3) {
|
||||
for(var4 = 0; var4 < 2; ++var4) {
|
||||
this.addSlot(new Slot(this.craftMatrix, var4 + var3 * 2, 88 + var4 * 18, 26 + var3 * 18));
|
||||
}
|
||||
}
|
||||
int var3;
|
||||
int var4;
|
||||
for (var3 = 0; var3 < 2; ++var3) {
|
||||
for (var4 = 0; var4 < 2; ++var4) {
|
||||
this.addSlot(new Slot(this.craftMatrix, var4 + var3 * 2, 88 + var4 * 18, 26 + var3 * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(var3 = 0; var3 < 4; ++var3) {
|
||||
this.addSlot(new SlotArmor(this, var1, var1.getSizeInventory() - 1 - var3, 8, 8 + var3 * 18, var3));
|
||||
}
|
||||
for (var3 = 0; var3 < 4; ++var3) {
|
||||
this.addSlot(new SlotArmor(this, var1, var1.getSizeInventory() - 1 - var3, 8, 8 + var3 * 18, var3));
|
||||
}
|
||||
|
||||
for(var3 = 0; var3 < 3; ++var3) {
|
||||
for(var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4 + (var3 + 1) * 9, 8 + var4 * 18, 84 + var3 * 18));
|
||||
}
|
||||
}
|
||||
for (var3 = 0; var3 < 3; ++var3) {
|
||||
for (var4 = 0; var4 < 9; ++var4) {
|
||||
this.addSlot(new Slot(var1, var4 + (var3 + 1) * 9, 8 + var4 * 18, 84 + var3 * 18));
|
||||
}
|
||||
}
|
||||
|
||||
for(var3 = 0; var3 < 9; ++var3) {
|
||||
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
|
||||
}
|
||||
for (var3 = 0; var3 < 9; ++var3) {
|
||||
this.addSlot(new Slot(var1, var3, 8 + var3 * 18, 142));
|
||||
}
|
||||
|
||||
this.onCraftMatrixChanged(this.craftMatrix);
|
||||
}
|
||||
this.onCraftMatrixChanged(this.craftMatrix);
|
||||
}
|
||||
|
||||
public void onCraftMatrixChanged(IInventory var1) {
|
||||
this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix));
|
||||
}
|
||||
public void onCraftMatrixChanged(IInventory var1) {
|
||||
this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix));
|
||||
}
|
||||
|
||||
public void onCraftGuiClosed(EntityPlayer var1) {
|
||||
super.onCraftGuiClosed(var1);
|
||||
public void onCraftGuiClosed(EntityPlayer var1) {
|
||||
super.onCraftGuiClosed(var1);
|
||||
|
||||
for(int var2 = 0; var2 < 4; ++var2) {
|
||||
ItemStack var3 = this.craftMatrix.getStackInSlot(var2);
|
||||
if(var3 != null) {
|
||||
var1.dropPlayerItem(var3);
|
||||
this.craftMatrix.setInventorySlotContents(var2, (ItemStack)null);
|
||||
}
|
||||
}
|
||||
for (int var2 = 0; var2 < 4; ++var2) {
|
||||
ItemStack var3 = this.craftMatrix.getStackInSlot(var2);
|
||||
if (var3 != null) {
|
||||
var1.dropPlayerItem(var3);
|
||||
this.craftMatrix.setInventorySlotContents(var2, (ItemStack) null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return true;
|
||||
}
|
||||
public boolean canInteractWith(EntityPlayer var1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
ItemStack var2 = null;
|
||||
Slot var3 = (Slot)this.inventorySlots.get(var1);
|
||||
if(var3 != null && var3.func_27006_b()) {
|
||||
ItemStack var4 = var3.getStack();
|
||||
var2 = var4.copy();
|
||||
if(var1 == 0) {
|
||||
this.func_28126_a(var4, 9, 45, true);
|
||||
} else if(var1 >= 9 && var1 < 36) {
|
||||
this.func_28126_a(var4, 36, 45, false);
|
||||
} else if(var1 >= 36 && var1 < 45) {
|
||||
this.func_28126_a(var4, 9, 36, false);
|
||||
} else {
|
||||
this.func_28126_a(var4, 9, 45, false);
|
||||
}
|
||||
public ItemStack func_27086_a(int var1) {
|
||||
ItemStack var2 = null;
|
||||
Slot var3 = (Slot) this.inventorySlots.get(var1);
|
||||
if (var3 != null && var3.func_27006_b()) {
|
||||
ItemStack var4 = var3.getStack();
|
||||
var2 = var4.copy();
|
||||
if (var1 == 0) {
|
||||
this.func_28126_a(var4, 9, 45, true);
|
||||
} else if (var1 >= 9 && var1 < 36) {
|
||||
this.func_28126_a(var4, 36, 45, false);
|
||||
} else if (var1 >= 36 && var1 < 45) {
|
||||
this.func_28126_a(var4, 9, 36, false);
|
||||
} else {
|
||||
this.func_28126_a(var4, 9, 45, false);
|
||||
}
|
||||
|
||||
if(var4.stackSize == 0) {
|
||||
var3.putStack((ItemStack)null);
|
||||
} else {
|
||||
var3.onSlotChanged();
|
||||
}
|
||||
if (var4.stackSize == 0) {
|
||||
var3.putStack((ItemStack) null);
|
||||
} else {
|
||||
var3.onSlotChanged();
|
||||
}
|
||||
|
||||
if(var4.stackSize == var2.stackSize) {
|
||||
return null;
|
||||
}
|
||||
if (var4.stackSize == var2.stackSize) {
|
||||
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
Loading…
Add table
Add a link
Reference in a new issue