mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 07:19:56 +03:00
123 lines
7.5 KiB
Diff
123 lines
7.5 KiB
Diff
--- ../src-base/minecraft/net/minecraft/block/BlockWall.java
|
|
+++ ../src-work/minecraft/net/minecraft/block/BlockWall.java
|
|
@@ -30,14 +30,14 @@
|
|
public static final PropertyBool EAST = PropertyBool.create("east");
|
|
public static final PropertyBool SOUTH = PropertyBool.create("south");
|
|
public static final PropertyBool WEST = PropertyBool.create("west");
|
|
- public static final PropertyEnum<BlockWall.EnumType> VARIANT = PropertyEnum.<BlockWall.EnumType>create("variant", BlockWall.EnumType.class);
|
|
+ public static final PropertyEnum<EnumType> VARIANT = PropertyEnum.<EnumType>create("variant", EnumType.class);
|
|
protected static final AxisAlignedBB[] AABB_BY_INDEX = new AxisAlignedBB[] {new AxisAlignedBB(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D), new AxisAlignedBB(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D), new AxisAlignedBB(0.0D, 0.0D, 0.25D, 0.75D, 1.0D, 1.0D), new AxisAlignedBB(0.25D, 0.0D, 0.0D, 0.75D, 1.0D, 0.75D), new AxisAlignedBB(0.3125D, 0.0D, 0.0D, 0.6875D, 0.875D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.75D, 1.0D, 0.75D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.75D, 1.0D, 1.0D), new AxisAlignedBB(0.25D, 0.0D, 0.25D, 1.0D, 1.0D, 0.75D), new AxisAlignedBB(0.25D, 0.0D, 0.25D, 1.0D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.3125D, 1.0D, 0.875D, 0.6875D), new AxisAlignedBB(0.0D, 0.0D, 0.25D, 1.0D, 1.0D, 1.0D), new AxisAlignedBB(0.25D, 0.0D, 0.0D, 1.0D, 1.0D, 0.75D), new AxisAlignedBB(0.25D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.75D), new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D)};
|
|
protected static final AxisAlignedBB[] CLIP_AABB_BY_INDEX = new AxisAlignedBB[] {AABB_BY_INDEX[0].setMaxY(1.5D), AABB_BY_INDEX[1].setMaxY(1.5D), AABB_BY_INDEX[2].setMaxY(1.5D), AABB_BY_INDEX[3].setMaxY(1.5D), AABB_BY_INDEX[4].setMaxY(1.5D), AABB_BY_INDEX[5].setMaxY(1.5D), AABB_BY_INDEX[6].setMaxY(1.5D), AABB_BY_INDEX[7].setMaxY(1.5D), AABB_BY_INDEX[8].setMaxY(1.5D), AABB_BY_INDEX[9].setMaxY(1.5D), AABB_BY_INDEX[10].setMaxY(1.5D), AABB_BY_INDEX[11].setMaxY(1.5D), AABB_BY_INDEX[12].setMaxY(1.5D), AABB_BY_INDEX[13].setMaxY(1.5D), AABB_BY_INDEX[14].setMaxY(1.5D), AABB_BY_INDEX[15].setMaxY(1.5D)};
|
|
|
|
public BlockWall(Block modelBlock)
|
|
{
|
|
super(modelBlock.blockMaterial);
|
|
- this.setDefaultState(this.blockState.getBaseState().withProperty(UP, Boolean.valueOf(false)).withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false)).withProperty(VARIANT, BlockWall.EnumType.NORMAL));
|
|
+ this.setDefaultState(this.blockState.getBaseState().withProperty(UP, Boolean.valueOf(false)).withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false)).withProperty(VARIANT, EnumType.NORMAL));
|
|
this.setHardness(modelBlock.blockHardness);
|
|
this.setResistance(modelBlock.blockResistance / 3.0F);
|
|
this.setSoundType(modelBlock.blockSoundType);
|
|
@@ -96,7 +96,7 @@
|
|
|
|
public String getLocalizedName()
|
|
{
|
|
- return I18n.translateToLocal(this.getUnlocalizedName() + "." + BlockWall.EnumType.NORMAL.getUnlocalizedName() + ".name");
|
|
+ return I18n.translateToLocal(this.getUnlocalizedName() + "." + EnumType.NORMAL.getUnlocalizedName() + ".name");
|
|
}
|
|
|
|
public boolean isFullCube(IBlockState state)
|
|
@@ -130,7 +130,7 @@
|
|
|
|
public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items)
|
|
{
|
|
- for (BlockWall.EnumType blockwall$enumtype : BlockWall.EnumType.values())
|
|
+ for (EnumType blockwall$enumtype : EnumType.values())
|
|
{
|
|
items.add(new ItemStack(this, 1, blockwall$enumtype.getMetadata()));
|
|
}
|
|
@@ -138,7 +138,7 @@
|
|
|
|
public int damageDropped(IBlockState state)
|
|
{
|
|
- return ((BlockWall.EnumType)state.getValue(VARIANT)).getMetadata();
|
|
+ return ((EnumType)state.getValue(VARIANT)).getMetadata();
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
@@ -149,20 +149,20 @@
|
|
|
|
public IBlockState getStateFromMeta(int meta)
|
|
{
|
|
- return this.getDefaultState().withProperty(VARIANT, BlockWall.EnumType.byMetadata(meta));
|
|
+ return this.getDefaultState().withProperty(VARIANT, EnumType.byMetadata(meta));
|
|
}
|
|
|
|
public int getMetaFromState(IBlockState state)
|
|
{
|
|
- return ((BlockWall.EnumType)state.getValue(VARIANT)).getMetadata();
|
|
+ return ((EnumType)state.getValue(VARIANT)).getMetadata();
|
|
}
|
|
|
|
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos)
|
|
{
|
|
- boolean flag = this.canConnectTo(worldIn, pos.north(), EnumFacing.SOUTH);
|
|
- boolean flag1 = this.canConnectTo(worldIn, pos.east(), EnumFacing.WEST);
|
|
- boolean flag2 = this.canConnectTo(worldIn, pos.south(), EnumFacing.NORTH);
|
|
- boolean flag3 = this.canConnectTo(worldIn, pos.west(), EnumFacing.EAST);
|
|
+ boolean flag = canWallConnectTo(worldIn, pos, EnumFacing.NORTH);
|
|
+ boolean flag1 = canWallConnectTo(worldIn, pos, EnumFacing.EAST);
|
|
+ boolean flag2 = canWallConnectTo(worldIn, pos, EnumFacing.SOUTH);
|
|
+ boolean flag3 = canWallConnectTo(worldIn, pos, EnumFacing.WEST);
|
|
boolean flag4 = flag && !flag1 && flag2 && !flag3 || !flag && flag1 && !flag2 && flag3;
|
|
return state.withProperty(UP, Boolean.valueOf(!flag4 || !worldIn.isAirBlock(pos.up()))).withProperty(NORTH, Boolean.valueOf(flag)).withProperty(EAST, Boolean.valueOf(flag1)).withProperty(SOUTH, Boolean.valueOf(flag2)).withProperty(WEST, Boolean.valueOf(flag3));
|
|
}
|
|
@@ -177,12 +177,29 @@
|
|
return face != EnumFacing.UP && face != EnumFacing.DOWN ? BlockFaceShape.MIDDLE_POLE_THICK : BlockFaceShape.CENTER_BIG;
|
|
}
|
|
|
|
+ /* ======================================== FORGE START ======================================== */
|
|
+
|
|
+ @Override
|
|
+ public boolean canBeConnectedTo(IBlockAccess world, BlockPos pos, EnumFacing facing)
|
|
+ {
|
|
+ return canConnectTo(world, pos.offset(facing), facing.getOpposite());
|
|
+ }
|
|
+
|
|
+ private boolean canWallConnectTo(IBlockAccess world, BlockPos pos, EnumFacing facing)
|
|
+ {
|
|
+ BlockPos other = pos.offset(facing);
|
|
+ Block block = world.getBlockState(other).getBlock();
|
|
+ return block.canBeConnectedTo(world, other, facing.getOpposite()) || canConnectTo(world, other, facing.getOpposite());
|
|
+ }
|
|
+
|
|
+ /* ======================================== FORGE END ======================================== */
|
|
+
|
|
public static enum EnumType implements IStringSerializable
|
|
{
|
|
NORMAL(0, "cobblestone", "normal"),
|
|
MOSSY(1, "mossy_cobblestone", "mossy");
|
|
|
|
- private static final BlockWall.EnumType[] META_LOOKUP = new BlockWall.EnumType[values().length];
|
|
+ private static final EnumType[] META_LOOKUP = new EnumType[values().length];
|
|
private final int meta;
|
|
private final String name;
|
|
private final String unlocalizedName;
|
|
@@ -204,7 +221,7 @@
|
|
return this.name;
|
|
}
|
|
|
|
- public static BlockWall.EnumType byMetadata(int meta)
|
|
+ public static EnumType byMetadata(int meta)
|
|
{
|
|
if (meta < 0 || meta >= META_LOOKUP.length)
|
|
{
|
|
@@ -226,7 +243,7 @@
|
|
|
|
static
|
|
{
|
|
- for (BlockWall.EnumType blockwall$enumtype : values())
|
|
+ for (EnumType blockwall$enumtype : values())
|
|
{
|
|
META_LOOKUP[blockwall$enumtype.getMetadata()] = blockwall$enumtype;
|
|
}
|