From 7fd8879c7319c6129e95f835848963122e1ebccf Mon Sep 17 00:00:00 2001 From: Sen Date: Sun, 25 May 2025 12:13:15 +0200 Subject: [PATCH] general Block* code cleanup --- client/src/client/Client.java | 14 +- .../src/client/gui/container/GuiCrafting.java | 2 +- client/src/client/network/ClientPlayer.java | 2 +- .../src/client/renderer/ActiveRenderInfo.java | 2 +- client/src/client/renderer/BlockRenderer.java | 2 +- .../src/client/renderer/EntityRenderer.java | 3 +- .../client/renderer/RegionRenderCache.java | 2 +- client/src/client/renderer/RenderGlobal.java | 12 +- .../renderer/blockmodel/ModelManager.java | 2 +- .../renderer/entity/RenderTntPrimed.java | 2 +- .../renderer/particle/EffectRenderer.java | 4 +- .../renderer/particle/EntityDownfallFX.java | 2 +- .../particle/EntityDropParticleFX.java | 2 +- .../tileentity/TileEntityChestRenderer.java | 2 +- .../tileentity/TileEntityPistonRenderer.java | 7 +- client/src/client/util/PlayerController.java | 8 +- client/src/client/world/WorldClient.java | 4 +- .../common/ai/EntityAIControlledByPlayer.java | 8 +- .../src/common/ai/EntityAIDoorInteract.java | 2 +- common/src/common/ai/EntityAIEatGrass.java | 2 +- common/src/common/ai/EntityAIOcelotSit.java | 2 +- common/src/common/ai/EntityAITakePlace.java | 5 +- common/src/common/block/Block.java | 2226 +++++++---------- common/src/common/block/BlockAir.java | 64 +- common/src/common/block/BlockBreakable.java | 48 - common/src/common/block/BlockColored.java | 83 +- common/src/common/block/BlockContainer.java | 60 +- common/src/common/block/BlockDirectional.java | 12 +- common/src/common/block/BlockFalling.java | 132 +- common/src/common/block/BlockGlass.java | 38 - common/src/common/block/BlockIce.java | 94 - .../src/common/block/BlockRotatedPillar.java | 16 +- common/src/common/block/BlockSlime.java | 93 - common/src/common/block/BlockSnowBlock.java | 47 - .../src/common/block/BlockStainedGlass.java | 120 - common/src/common/block/BlockTranslucent.java | 28 + common/src/common/block/BlockTreasure.java | 4 +- .../src/common/block/ITileEntityProvider.java | 5 +- .../block/{ => artificial}/BlockBed.java | 4 +- .../{ => artificial}/BlockBookshelf.java | 3 +- .../block/{ => artificial}/BlockCake.java | 3 +- .../block/{ => artificial}/BlockCarpet.java | 3 +- .../BlockCompressedPowered.java | 3 +- .../block/{ => artificial}/BlockDoor.java | 3 +- .../{ => artificial}/BlockDragonEgg.java | 7 +- .../block/{ => artificial}/BlockFence.java | 5 +- .../{ => artificial}/BlockFenceGate.java | 4 +- .../{ => artificial}/BlockFloorPortal.java | 3 +- .../{ => artificial}/BlockFlowerPot.java | 4 +- .../common/block/artificial/BlockGlass.java | 44 + .../block/{ => artificial}/BlockHay.java | 3 +- .../block/{ => artificial}/BlockLadder.java | 4 +- .../block/{ => artificial}/BlockPane.java | 3 +- .../block/{ => artificial}/BlockPortal.java | 25 +- .../{ => artificial}/BlockPortalFrame.java | 3 +- .../block/{ => artificial}/BlockQuartz.java | 3 +- .../block/{ => artificial}/BlockSlab.java | 3 +- .../block/artificial/BlockStainedGlass.java | 52 + .../BlockStainedGlassPane.java | 2 +- .../block/{ => artificial}/BlockStairs.java | 15 +- .../{ => artificial}/BlockStoneBrick.java | 3 +- .../block/{ => artificial}/BlockTrapDoor.java | 5 +- .../block/{ => artificial}/BlockWall.java | 14 +- .../block/{ => foliage}/BlockBaseFlower.java | 2 +- .../{ => foliage}/BlockBlackenedSoil.java | 3 +- .../block/{ => foliage}/BlockBlueShroom.java | 3 +- .../common/block/{ => foliage}/BlockBush.java | 3 +- .../block/{ => foliage}/BlockCactus.java | 3 +- .../block/{ => foliage}/BlockCarrot.java | 2 +- .../block/{ => foliage}/BlockCocoa.java | 4 +- .../block/{ => foliage}/BlockCrops.java | 4 +- .../block/{ => foliage}/BlockDeadBush.java | 3 +- .../block/{ => foliage}/BlockDoublePlant.java | 5 +- .../block/{ => foliage}/BlockDryLeaves.java | 3 +- .../block/{ => foliage}/BlockFarmland.java | 4 +- .../block/{ => foliage}/BlockFlower.java | 2 +- .../block/{ => foliage}/BlockGrass.java | 4 +- .../{ => foliage}/BlockHugeMushroom.java | 3 +- .../block/{ => foliage}/BlockLeaves.java | 4 +- .../block/{ => foliage}/BlockLeavesBase.java | 3 +- .../block/{ => foliage}/BlockLilyPad.java | 6 +- .../common/block/{ => foliage}/BlockLog.java | 4 +- .../block/{ => foliage}/BlockMelon.java | 3 +- .../block/{ => foliage}/BlockMushroom.java | 4 +- .../block/{ => foliage}/BlockMycelium.java | 4 +- .../block/{ => foliage}/BlockPotato.java | 2 +- .../block/{ => foliage}/BlockPumpkin.java | 5 +- .../common/block/{ => foliage}/BlockReed.java | 3 +- .../block/{ => foliage}/BlockSapling.java | 2 +- .../common/block/{ => foliage}/BlockStem.java | 6 +- .../block/{ => foliage}/BlockTallGrass.java | 2 +- .../block/{ => foliage}/BlockTianSoil.java | 3 +- .../common/block/{ => foliage}/BlockVine.java | 11 +- .../common/block/{ => foliage}/BlockWart.java | 3 +- .../common/block/{ => foliage}/IGrowable.java | 2 +- .../block/{ => foliage}/LeavesType.java | 2 +- .../{ => liquid}/BlockDynamicLiquid.java | 6 +- .../block/{ => liquid}/BlockLiquid.java | 9 +- .../block/{ => liquid}/BlockStaticLiquid.java | 7 +- .../block/{ => natural}/BlockBedrock.java | 3 +- .../{ => natural}/BlockBlackenedDirt.java | 3 +- .../{ => natural}/BlockBlackenedStone.java | 3 +- .../common/block/{ => natural}/BlockClay.java | 3 +- .../common/block/{ => natural}/BlockDirt.java | 3 +- .../common/block/{ => natural}/BlockFire.java | 17 +- .../block/{ => natural}/BlockGlowstone.java | 3 +- .../block/{ => natural}/BlockGravel.java | 10 +- .../{ => natural}/BlockHardenedClay.java | 3 +- .../block/{ => natural}/BlockHellRock.java | 3 +- common/src/common/block/natural/BlockIce.java | 65 + .../block/{ => natural}/BlockObsidian.java | 3 +- .../common/block/{ => natural}/BlockOre.java | 3 +- .../block/{ => natural}/BlockPackedIce.java | 3 +- .../block/{ => natural}/BlockRedstoneOre.java | 3 +- .../common/block/{ => natural}/BlockRock.java | 3 +- .../common/block/{ => natural}/BlockSand.java | 6 +- .../block/{ => natural}/BlockSandStone.java | 3 +- .../src/common/block/natural/BlockSlime.java | 63 + .../common/block/{ => natural}/BlockSnow.java | 7 +- .../common/block/natural/BlockSnowBlock.java | 36 + .../block/{ => natural}/BlockSoulSand.java | 3 +- .../block/{ => natural}/BlockStone.java | 3 +- .../block/{ => natural}/BlockTintedFire.java | 2 +- .../common/block/{ => natural}/BlockWeb.java | 3 +- .../common/block/{ => tech}/BlockAnvil.java | 3 +- .../{ => tech}/BlockBasePressurePlate.java | 4 +- .../common/block/{ => tech}/BlockBeacon.java | 4 +- .../block/{ => tech}/BlockBrewingStand.java | 3 +- .../common/block/{ => tech}/BlockButton.java | 3 +- .../block/{ => tech}/BlockCauldron.java | 3 +- .../common/block/{ => tech}/BlockChest.java | 4 +- .../common/block/{ => tech}/BlockCore.java | 3 +- .../{ => tech}/BlockDaylightDetector.java | 4 +- .../block/{ => tech}/BlockDispenser.java | 4 +- .../common/block/{ => tech}/BlockDropper.java | 2 +- .../{ => tech}/BlockEnchantmentTable.java | 3 +- .../common/block/{ => tech}/BlockFurnace.java | 4 +- .../common/block/{ => tech}/BlockHopper.java | 4 +- .../common/block/{ => tech}/BlockJukebox.java | 3 +- .../common/block/{ => tech}/BlockLever.java | 3 +- .../common/block/{ => tech}/BlockMachine.java | 5 +- .../block/{ => tech}/BlockMobSpawner.java | 3 +- .../common/block/{ => tech}/BlockNote.java | 4 +- .../common/block/{ => tech}/BlockNuke.java | 3 +- .../block/{ => tech}/BlockPistonBase.java | 13 +- .../block/{ => tech}/BlockPistonHead.java | 4 +- .../block/{ => tech}/BlockPistonMoving.java | 8 +- .../block/{ => tech}/BlockPressurePlate.java | 2 +- .../BlockPressurePlateWeighted.java | 2 +- .../common/block/{ => tech}/BlockRail.java | 3 +- .../block/{ => tech}/BlockRailBase.java | 3 +- .../block/{ => tech}/BlockRailDetector.java | 2 +- .../block/{ => tech}/BlockRailPowered.java | 3 +- .../{ => tech}/BlockRedstoneComparator.java | 6 +- .../block/{ => tech}/BlockRedstoneDiode.java | 4 +- .../block/{ => tech}/BlockRedstoneLight.java | 3 +- .../{ => tech}/BlockRedstoneRepeater.java | 3 +- .../block/{ => tech}/BlockRedstoneTorch.java | 3 +- .../block/{ => tech}/BlockRedstoneWire.java | 3 +- .../block/{ => tech}/BlockSourceImpl.java | 2 +- .../src/common/block/{ => tech}/BlockTNT.java | 3 +- .../block/{ => tech}/BlockTianReactor.java | 2 +- .../common/block/{ => tech}/BlockTorch.java | 5 +- .../block/{ => tech}/BlockTripWire.java | 3 +- .../block/{ => tech}/BlockTripWireHook.java | 3 +- .../block/{ => tech}/BlockWarpChest.java | 3 +- .../block/{ => tech}/BlockWorkbench.java | 3 +- .../common/block/{ => tile}/BlockBanner.java | 4 +- .../common/block/{ => tile}/BlockSign.java | 3 +- .../common/block/{ => tile}/BlockSkull.java | 3 +- .../block/{ => tile}/BlockStandingSign.java | 3 +- .../block/{ => tile}/BlockWallSign.java | 3 +- common/src/common/dimension/Dimension.java | 2 +- .../BehaviorDefaultDispenseItem.java | 2 +- .../dispenser/BehaviorProjectileDispense.java | 2 +- common/src/common/entity/Entity.java | 12 +- .../src/common/entity/animal/EntityHorse.java | 3 +- .../common/entity/animal/EntityRabbit.java | 2 +- .../common/entity/effect/EntityLightning.java | 3 +- common/src/common/entity/item/EntityCart.java | 4 +- .../common/entity/item/EntityChestCart.java | 2 +- .../src/common/entity/item/EntityFalling.java | 7 +- .../common/entity/item/EntityLeashKnot.java | 2 +- .../src/common/entity/item/EntityTntCart.java | 2 +- common/src/common/entity/npc/EntityNPC.java | 2 +- .../common/entity/projectile/EntityArrow.java | 6 +- .../src/common/entity/types/EntityLiving.java | 5 +- .../common/entity/types/EntityThrowable.java | 2 +- common/src/common/init/BlockRegistry.java | 128 +- common/src/common/init/Blocks.java | 72 +- common/src/common/init/CraftingRegistry.java | 18 +- common/src/common/init/DispenserRegistry.java | 14 +- common/src/common/init/FluidRegistry.java | 6 +- common/src/common/init/ItemRegistry.java | 30 +- common/src/common/init/SmeltingRegistry.java | 2 +- common/src/common/init/UniverseRegistry.java | 4 +- .../src/common/inventory/ContainerRepair.java | 2 +- .../common/inventory/ContainerWorkbench.java | 2 +- common/src/common/item/ItemArmor.java | 2 +- common/src/common/item/ItemBanner.java | 4 +- common/src/common/item/ItemBed.java | 2 +- common/src/common/item/ItemBucket.java | 6 +- common/src/common/item/ItemButton.java | 2 +- common/src/common/item/ItemChargedOrb.java | 2 +- common/src/common/item/ItemDoor.java | 2 +- common/src/common/item/ItemDoublePlant.java | 4 +- common/src/common/item/ItemDye.java | 7 +- common/src/common/item/ItemFence.java | 2 +- common/src/common/item/ItemFireball.java | 3 +- common/src/common/item/ItemFlintAndSteel.java | 6 +- common/src/common/item/ItemHoe.java | 5 +- common/src/common/item/ItemLead.java | 2 +- common/src/common/item/ItemLeaves.java | 4 +- common/src/common/item/ItemLilyPad.java | 2 +- common/src/common/item/ItemMinecart.java | 8 +- common/src/common/item/ItemMonsterPlacer.java | 4 +- common/src/common/item/ItemNpcSpawner.java | 4 +- common/src/common/item/ItemPressurePlate.java | 2 +- common/src/common/item/ItemReed.java | 2 +- common/src/common/item/ItemSign.java | 4 +- common/src/common/item/ItemSkull.java | 2 +- common/src/common/item/ItemSlab.java | 2 +- common/src/common/item/ItemSnow.java | 2 +- common/src/common/item/ItemSword.java | 2 +- common/src/common/item/ItemWall.java | 2 +- common/src/common/material/Material.java | 15 +- .../pathfinding/PathNavigateGround.java | 3 +- .../common/pathfinding/WalkNodeProcessor.java | 12 +- .../common/tileentity/TileEntityBanner.java | 2 +- .../tileentity/TileEntityBrewingStand.java | 2 +- .../common/tileentity/TileEntityChest.java | 2 +- .../TileEntityDaylightDetector.java | 2 +- .../common/tileentity/TileEntityFurnace.java | 6 +- .../common/tileentity/TileEntityHopper.java | 4 +- .../src/common/tileentity/TileEntityNote.java | 3 +- common/src/common/village/Village.java | 2 +- common/src/common/world/Chunk.java | 2 +- common/src/common/world/Explosion.java | 11 +- common/src/common/world/World.java | 18 +- server/src/server/biome/BiomeBlackened.java | 2 +- server/src/server/biome/BiomeForest.java | 4 +- server/src/server/biome/BiomeJungle.java | 2 +- server/src/server/biome/BiomeMesa.java | 11 +- server/src/server/biome/BiomePlains.java | 4 +- server/src/server/biome/BiomeSavanna.java | 4 +- server/src/server/biome/BiomeSpace.java | 2 +- server/src/server/biome/BiomeSwamp.java | 5 +- server/src/server/biome/BiomeTaiga.java | 6 +- server/src/server/biome/BiomeTian.java | 2 +- server/src/server/biome/GenBiome.java | 16 +- .../src/server/clipboard/ClipboardPlacer.java | 4 +- .../src/server/clipboard/ReorderRegistry.java | 4 +- .../server/clipboard/RotationRegistry.java | 18 +- server/src/server/network/Player.java | 22 +- .../src/server/village/VillageCollection.java | 2 +- .../src/server/world}/BlockEventData.java | 3 +- server/src/server/world/ChunkServer.java | 3 +- server/src/server/world/Converter.java | 46 +- server/src/server/world/WorldServer.java | 25 +- .../src/server/worldgen/FeatureLiquids.java | 4 +- .../server/worldgen/ReplacerAltSurface.java | 6 +- .../src/server/worldgen/ReplacerTopLayer.java | 3 +- .../server/worldgen/caves/MapGenCaves.java | 2 +- .../feature/WorldGenAbandonedChest.java | 2 +- .../worldgen/feature/WorldGenDesertWells.java | 4 +- .../worldgen/feature/WorldGenGlowStone.java | 3 +- .../worldgen/feature/WorldGenHellLava.java | 3 +- .../worldgen/feature/WorldGenIceSpike.java | 7 +- .../worldgen/foliage/FeatureDoublePlant.java | 2 +- .../worldgen/foliage/WorldGenBigMushroom.java | 4 +- .../worldgen/foliage/WorldGenDeadBush.java | 2 +- .../worldgen/foliage/WorldGenFlowers.java | 2 +- .../worldgen/foliage/WorldGenMushroom.java | 2 +- .../worldgen/foliage/WorldGenPumpkin.java | 2 +- .../worldgen/foliage/WorldGenShrub.java | 4 +- .../worldgen/foliage/WorldGenTallGrass.java | 4 +- .../worldgen/foliage/WorldGenVines.java | 2 +- .../structure/StructureComponent.java | 11 +- .../structure/StructureMineshaft.java | 9 +- .../structure/StructureScattered.java | 14 +- .../structure/StructureStronghold.java | 4 +- .../worldgen/structure/StructureVillage.java | 25 +- .../worldgen/tree/WorldGenBaseTree.java | 20 +- .../server/worldgen/tree/WorldGenBigTree.java | 8 +- .../server/worldgen/tree/WorldGenBirch.java | 6 +- .../server/worldgen/tree/WorldGenDarkOak.java | 8 +- .../worldgen/tree/WorldGenHugeTree.java | 10 +- .../server/worldgen/tree/WorldGenJungle.java | 2 +- .../server/worldgen/tree/WorldGenPine.java | 12 +- .../server/worldgen/tree/WorldGenSavanna.java | 14 +- .../server/worldgen/tree/WorldGenSwamp.java | 18 +- .../server/worldgen/tree/WorldGenTaiga1.java | 4 +- .../server/worldgen/tree/WorldGenTaiga2.java | 6 +- .../server/worldgen/tree/WorldGenTree.java | 7 +- 294 files changed, 2229 insertions(+), 2650 deletions(-) delete mode 100755 common/src/common/block/BlockBreakable.java delete mode 100755 common/src/common/block/BlockGlass.java delete mode 100755 common/src/common/block/BlockIce.java delete mode 100755 common/src/common/block/BlockSlime.java delete mode 100755 common/src/common/block/BlockSnowBlock.java delete mode 100755 common/src/common/block/BlockStainedGlass.java create mode 100755 common/src/common/block/BlockTranslucent.java rename common/src/common/block/{ => artificial}/BlockBed.java (98%) rename common/src/common/block/{ => artificial}/BlockBookshelf.java (93%) rename common/src/common/block/{ => artificial}/BlockCake.java (99%) rename common/src/common/block/{ => artificial}/BlockCarpet.java (98%) rename common/src/common/block/{ => artificial}/BlockCompressedPowered.java (91%) rename common/src/common/block/{ => artificial}/BlockDoor.java (99%) rename common/src/common/block/{ => artificial}/BlockDragonEgg.java (97%) rename common/src/common/block/{ => artificial}/BlockFence.java (97%) rename common/src/common/block/{ => artificial}/BlockFenceGate.java (99%) rename common/src/common/block/{ => artificial}/BlockFloorPortal.java (98%) rename common/src/common/block/{ => artificial}/BlockFlowerPot.java (99%) create mode 100755 common/src/common/block/artificial/BlockGlass.java rename common/src/common/block/{ => artificial}/BlockHay.java (96%) rename common/src/common/block/{ => artificial}/BlockLadder.java (98%) rename common/src/common/block/{ => artificial}/BlockPane.java (99%) rename common/src/common/block/{ => artificial}/BlockPortal.java (97%) rename common/src/common/block/{ => artificial}/BlockPortalFrame.java (98%) rename common/src/common/block/{ => artificial}/BlockQuartz.java (99%) rename common/src/common/block/{ => artificial}/BlockSlab.java (99%) create mode 100755 common/src/common/block/artificial/BlockStainedGlass.java rename common/src/common/block/{ => artificial}/BlockStainedGlassPane.java (98%) rename common/src/common/block/{ => artificial}/BlockStairs.java (98%) rename common/src/common/block/{ => artificial}/BlockStoneBrick.java (98%) rename common/src/common/block/{ => artificial}/BlockTrapDoor.java (97%) rename common/src/common/block/{ => artificial}/BlockWall.java (94%) rename common/src/common/block/{ => foliage}/BlockBaseFlower.java (84%) rename common/src/common/block/{ => foliage}/BlockBlackenedSoil.java (97%) rename common/src/common/block/{ => foliage}/BlockBlueShroom.java (97%) rename common/src/common/block/{ => foliage}/BlockBush.java (97%) rename common/src/common/block/{ => foliage}/BlockCactus.java (98%) rename common/src/common/block/{ => foliage}/BlockCarrot.java (94%) rename common/src/common/block/{ => foliage}/BlockCocoa.java (98%) rename common/src/common/block/{ => foliage}/BlockCrops.java (98%) rename common/src/common/block/{ => foliage}/BlockDeadBush.java (97%) rename common/src/common/block/{ => foliage}/BlockDoublePlant.java (99%) rename common/src/common/block/{ => foliage}/BlockDryLeaves.java (96%) rename common/src/common/block/{ => foliage}/BlockFarmland.java (98%) rename common/src/common/block/{ => foliage}/BlockFlower.java (99%) rename common/src/common/block/{ => foliage}/BlockGrass.java (98%) rename common/src/common/block/{ => foliage}/BlockHugeMushroom.java (99%) rename common/src/common/block/{ => foliage}/BlockLeaves.java (99%) rename common/src/common/block/{ => foliage}/BlockLeavesBase.java (94%) rename common/src/common/block/{ => foliage}/BlockLilyPad.java (95%) rename common/src/common/block/{ => foliage}/BlockLog.java (98%) rename common/src/common/block/{ => foliage}/BlockMelon.java (95%) rename common/src/common/block/{ => foliage}/BlockMushroom.java (97%) rename common/src/common/block/{ => foliage}/BlockMycelium.java (97%) rename common/src/common/block/{ => foliage}/BlockPotato.java (97%) rename common/src/common/block/{ => foliage}/BlockPumpkin.java (97%) rename common/src/common/block/{ => foliage}/BlockReed.java (98%) rename common/src/common/block/{ => foliage}/BlockSapling.java (99%) rename common/src/common/block/{ => foliage}/BlockStem.java (98%) rename common/src/common/block/{ => foliage}/BlockTallGrass.java (99%) rename common/src/common/block/{ => foliage}/BlockTianSoil.java (96%) rename common/src/common/block/{ => foliage}/BlockVine.java (98%) rename common/src/common/block/{ => foliage}/BlockWart.java (98%) rename common/src/common/block/{ => foliage}/IGrowable.java (93%) rename common/src/common/block/{ => foliage}/LeavesType.java (93%) rename common/src/common/block/{ => liquid}/BlockDynamicLiquid.java (97%) rename common/src/common/block/{ => liquid}/BlockLiquid.java (97%) rename common/src/common/block/{ => liquid}/BlockStaticLiquid.java (94%) rename common/src/common/block/{ => natural}/BlockBedrock.java (89%) rename common/src/common/block/{ => natural}/BlockBlackenedDirt.java (96%) rename common/src/common/block/{ => natural}/BlockBlackenedStone.java (89%) rename common/src/common/block/{ => natural}/BlockClay.java (92%) rename common/src/common/block/{ => natural}/BlockDirt.java (99%) rename common/src/common/block/{ => natural}/BlockFire.java (99%) rename common/src/common/block/{ => natural}/BlockGlowstone.java (95%) rename common/src/common/block/{ => natural}/BlockGravel.java (76%) rename common/src/common/block/{ => natural}/BlockHardenedClay.java (87%) rename common/src/common/block/{ => natural}/BlockHellRock.java (89%) create mode 100755 common/src/common/block/natural/BlockIce.java rename common/src/common/block/{ => natural}/BlockObsidian.java (93%) rename common/src/common/block/{ => natural}/BlockOre.java (98%) rename common/src/common/block/{ => natural}/BlockPackedIce.java (88%) rename common/src/common/block/{ => natural}/BlockRedstoneOre.java (98%) rename common/src/common/block/{ => natural}/BlockRock.java (95%) rename common/src/common/block/{ => natural}/BlockSand.java (95%) rename common/src/common/block/{ => natural}/BlockSandStone.java (98%) create mode 100755 common/src/common/block/natural/BlockSlime.java rename common/src/common/block/{ => natural}/BlockSnow.java (95%) create mode 100755 common/src/common/block/natural/BlockSnowBlock.java rename common/src/common/block/{ => natural}/BlockSoulSand.java (94%) rename common/src/common/block/{ => natural}/BlockStone.java (89%) rename common/src/common/block/{ => natural}/BlockTintedFire.java (96%) rename common/src/common/block/{ => natural}/BlockWeb.java (96%) rename common/src/common/block/{ => tech}/BlockAnvil.java (99%) rename common/src/common/block/{ => tech}/BlockBasePressurePlate.java (98%) rename common/src/common/block/{ => tech}/BlockBeacon.java (97%) rename common/src/common/block/{ => tech}/BlockBrewingStand.java (99%) rename common/src/common/block/{ => tech}/BlockButton.java (99%) rename common/src/common/block/{ => tech}/BlockCauldron.java (99%) rename common/src/common/block/{ => tech}/BlockChest.java (99%) rename common/src/common/block/{ => tech}/BlockCore.java (91%) rename common/src/common/block/{ => tech}/BlockDaylightDetector.java (98%) rename common/src/common/block/{ => tech}/BlockDispenser.java (99%) rename common/src/common/block/{ => tech}/BlockDropper.java (99%) rename common/src/common/block/{ => tech}/BlockEnchantmentTable.java (98%) rename common/src/common/block/{ => tech}/BlockFurnace.java (99%) rename common/src/common/block/{ => tech}/BlockHopper.java (99%) rename common/src/common/block/{ => tech}/BlockJukebox.java (94%) rename common/src/common/block/{ => tech}/BlockLever.java (99%) rename common/src/common/block/{ => tech}/BlockMachine.java (96%) rename common/src/common/block/{ => tech}/BlockMobSpawner.java (97%) rename common/src/common/block/{ => tech}/BlockNote.java (97%) rename common/src/common/block/{ => tech}/BlockNuke.java (97%) rename common/src/common/block/{ => tech}/BlockPistonBase.java (97%) rename common/src/common/block/{ => tech}/BlockPistonHead.java (99%) rename common/src/common/block/{ => tech}/BlockPistonMoving.java (98%) rename common/src/common/block/{ => tech}/BlockPressurePlate.java (99%) rename common/src/common/block/{ => tech}/BlockPressurePlateWeighted.java (98%) rename common/src/common/block/{ => tech}/BlockRail.java (96%) rename common/src/common/block/{ => tech}/BlockRailBase.java (99%) rename common/src/common/block/{ => tech}/BlockRailDetector.java (99%) rename common/src/common/block/{ => tech}/BlockRailPowered.java (99%) rename common/src/common/block/{ => tech}/BlockRedstoneComparator.java (99%) rename common/src/common/block/{ => tech}/BlockRedstoneDiode.java (99%) rename common/src/common/block/{ => tech}/BlockRedstoneLight.java (97%) rename common/src/common/block/{ => tech}/BlockRedstoneRepeater.java (99%) rename common/src/common/block/{ => tech}/BlockRedstoneTorch.java (99%) rename common/src/common/block/{ => tech}/BlockRedstoneWire.java (99%) rename common/src/common/block/{ => tech}/BlockSourceImpl.java (97%) rename common/src/common/block/{ => tech}/BlockTNT.java (99%) rename common/src/common/block/{ => tech}/BlockTianReactor.java (96%) rename common/src/common/block/{ => tech}/BlockTorch.java (98%) rename common/src/common/block/{ => tech}/BlockTripWire.java (99%) rename common/src/common/block/{ => tech}/BlockTripWireHook.java (99%) rename common/src/common/block/{ => tech}/BlockWarpChest.java (98%) rename common/src/common/block/{ => tech}/BlockWorkbench.java (97%) rename common/src/common/block/{ => tile}/BlockBanner.java (98%) rename common/src/common/block/{ => tile}/BlockSign.java (98%) rename common/src/common/block/{ => tile}/BlockSkull.java (98%) rename common/src/common/block/{ => tile}/BlockStandingSign.java (96%) rename common/src/common/block/{ => tile}/BlockWallSign.java (97%) rename {common/src/common/block => server/src/server/world}/BlockEventData.java (96%) diff --git a/client/src/client/Client.java b/client/src/client/Client.java index c3c6e18..3c249a0 100755 --- a/client/src/client/Client.java +++ b/client/src/client/Client.java @@ -114,6 +114,7 @@ import common.future.ListenableFuture; import common.future.ListenableFutureTask; import common.future.ThreadFactoryBuilder; import common.init.BlockRegistry; +import common.init.Blocks; import common.init.Config; import common.init.EntityRegistry; import common.init.ItemRegistry; @@ -129,7 +130,6 @@ import common.item.ItemStack; import common.log.Log; import common.log.LogLevel; import common.log.Message; -import common.material.Material; import common.network.IThreadListener; import common.network.NetConnection; import common.network.PacketDecoder; @@ -1267,7 +1267,7 @@ public class Client implements IThreadListener { { BlockPos blockpos = this.pointed.block; - if (this.world.getState(blockpos).getBlock().getMaterial() != Material.air && this.controller.onPlayerDamageBlock(blockpos, this.pointed.side)) + if (this.world.getState(blockpos).getBlock() != Blocks.air && this.controller.onPlayerDamageBlock(blockpos, this.pointed.side)) { this.effectRenderer.addBlockHitEffects(blockpos, this.pointed.side); this.player.swingItem(); @@ -1293,7 +1293,7 @@ public class Client implements IThreadListener { else { ItemStack itemstack = this.player.inventory.getCurrentItem(); - if ((this.pointed.type != ObjectType.BLOCK || this.world.getState(this.pointed.block).getBlock().getMaterial() == Material.air) && itemstack != null && itemstack.getItem().onAction(itemstack, this.player, this.world, ItemControl.PRIMARY, null)) + if ((this.pointed.type != ObjectType.BLOCK || this.world.getState(this.pointed.block).getBlock() == Blocks.air) && itemstack != null && itemstack.getItem().onAction(itemstack, this.player, this.world, ItemControl.PRIMARY, null)) { this.player.swingItem(); this.player.client.addToSendQueue(new CPacketAction(Action.ITEM_ACTION, ItemControl.PRIMARY.ordinal())); @@ -1310,7 +1310,7 @@ public class Client implements IThreadListener { case BLOCK: this.player.swingItem(); BlockPos blockpos = this.pointed.block; - if (this.world.getState(blockpos).getBlock().getMaterial() != Material.air) + if (this.world.getState(blockpos).getBlock() != Blocks.air) { this.controller.clickBlock(blockpos, this.pointed.side); break; @@ -1345,7 +1345,7 @@ public class Client implements IThreadListener { } else { - if ((this.pointed.type != ObjectType.BLOCK || this.world.getState(this.pointed.block).getBlock().getMaterial() == Material.air) && itemstack != null && itemstack.getItem().onAction(itemstack, this.player, this.world, ItemControl.SECONDARY, null)) + if ((this.pointed.type != ObjectType.BLOCK || this.world.getState(this.pointed.block).getBlock() == Blocks.air) && itemstack != null && itemstack.getItem().onAction(itemstack, this.player, this.world, ItemControl.SECONDARY, null)) { this.player.swingItem(); this.player.client.addToSendQueue(new CPacketAction(Action.ITEM_ACTION, ItemControl.SECONDARY.ordinal())); @@ -1370,7 +1370,7 @@ public class Client implements IThreadListener { case BLOCK: BlockPos blockpos = this.pointed.block; - if (this.world.getState(blockpos).getBlock().getMaterial() != Material.air) + if (this.world.getState(blockpos).getBlock() != Blocks.air) { int i = itemstack != null ? itemstack.stackSize : 0; @@ -1430,7 +1430,7 @@ public class Client implements IThreadListener { BlockPos blockpos = this.pointed.block; Block block = this.world.getState(blockpos).getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { return; } diff --git a/client/src/client/gui/container/GuiCrafting.java b/client/src/client/gui/container/GuiCrafting.java index 954e6cf..36b3eb5 100755 --- a/client/src/client/gui/container/GuiCrafting.java +++ b/client/src/client/gui/container/GuiCrafting.java @@ -1,6 +1,6 @@ package client.gui.container; -import common.block.BlockWorkbench; +import common.block.tech.BlockWorkbench; import common.inventory.ContainerWorkbench; import common.inventory.InventoryPlayer; import common.util.BlockPos; diff --git a/client/src/client/network/ClientPlayer.java b/client/src/client/network/ClientPlayer.java index 94602af..dfd828a 100755 --- a/client/src/client/network/ClientPlayer.java +++ b/client/src/client/network/ClientPlayer.java @@ -35,7 +35,7 @@ import common.attributes.AttributeInstance; import common.attributes.AttributeMap; import common.attributes.AttributeModifier; import common.block.Block; -import common.block.BlockWorkbench; +import common.block.tech.BlockWorkbench; import common.collect.Lists; import common.collect.Maps; import common.dimension.Dimension; diff --git a/client/src/client/renderer/ActiveRenderInfo.java b/client/src/client/renderer/ActiveRenderInfo.java index 653eff6..a8e79b2 100755 --- a/client/src/client/renderer/ActiveRenderInfo.java +++ b/client/src/client/renderer/ActiveRenderInfo.java @@ -8,7 +8,7 @@ import java.nio.IntBuffer; import org.lwjgl.opengl.GL11; import common.block.Block; -import common.block.BlockLiquid; +import common.block.liquid.BlockLiquid; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.util.BlockPos; diff --git a/client/src/client/renderer/BlockRenderer.java b/client/src/client/renderer/BlockRenderer.java index 0288aaf..ce1f00d 100755 --- a/client/src/client/renderer/BlockRenderer.java +++ b/client/src/client/renderer/BlockRenderer.java @@ -15,7 +15,7 @@ import client.renderer.texture.TextureAtlasSprite; import client.renderer.texture.TextureMap; import client.renderer.tileentity.TileEntityItemStackRenderer; import common.block.Block; -import common.block.BlockLiquid; +import common.block.liquid.BlockLiquid; import common.collect.Maps; import common.init.BlockRegistry; import common.init.FluidRegistry; diff --git a/client/src/client/renderer/EntityRenderer.java b/client/src/client/renderer/EntityRenderer.java index d9dd6a3..919707d 100755 --- a/client/src/client/renderer/EntityRenderer.java +++ b/client/src/client/renderer/EntityRenderer.java @@ -20,6 +20,7 @@ import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityAnimal; import common.entity.types.EntityLiving; +import common.init.Blocks; import common.init.Items; import common.init.SoundEvent; import common.material.Material; @@ -1168,7 +1169,7 @@ public class EntityRenderer { if(temp < 194.0f || this.random.chance(5)) this.gm.world.spawnParticle(temp >= 194.0f && this.random.chance(10) ? ParticleType.LAVA : ParticleType.SMOKE_NORMAL, (double)blockpos1.getX() + d3, (double)((float)blockpos1.getY() + 0.1F) - block.getBlockBoundsMinY(), (double)blockpos1.getZ() + d4, 0.0D, 0.0D, 0.0D); } - else if (block.getMaterial() != Material.air) + else if (block != Blocks.air) { block.setBlockBoundsBasedOnState(world, blockpos2); ++j; diff --git a/client/src/client/renderer/RegionRenderCache.java b/client/src/client/renderer/RegionRenderCache.java index 5d90530..d2cba9e 100755 --- a/client/src/client/renderer/RegionRenderCache.java +++ b/client/src/client/renderer/RegionRenderCache.java @@ -192,7 +192,7 @@ public class RegionRenderCache implements IWorldAccess // */ // public boolean isAirBlock(BlockPos pos) // { -// return this.getBlockState(pos).getBlock().getMaterial() == Material.air; +// return this.getBlockState(pos).getBlock() == Blocks.air; // } public int getLightFor(LightType p_175628_1_, BlockPos pos) diff --git a/client/src/client/renderer/RenderGlobal.java b/client/src/client/renderer/RenderGlobal.java index 302609c..46d270e 100755 --- a/client/src/client/renderer/RenderGlobal.java +++ b/client/src/client/renderer/RenderGlobal.java @@ -28,9 +28,9 @@ import client.renderer.tileentity.TileEntityRendererDispatcher; import client.world.ChunkClient; import client.world.WorldClient; import common.block.Block; -import common.block.BlockChest; -import common.block.BlockSign; -import common.block.BlockSkull; +import common.block.tech.BlockChest; +import common.block.tile.BlockSign; +import common.block.tile.BlockSkull; import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; @@ -38,7 +38,7 @@ import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.projectile.EntityBox; import common.entity.types.EntityLiving; -import common.material.Material; +import common.init.Blocks; import common.model.BlockLayer; import common.rng.Random; import common.sound.Sound; @@ -1580,7 +1580,7 @@ public class RenderGlobal { State iblockstate = this.theWorld.getState(blockpos); - if (iblockstate.getBlock().getMaterial() != Material.air) + if (iblockstate.getBlock() != Blocks.air) { int i = destroyblockprogress.getPartialBlockDamage(); TextureAtlasSprite textureatlassprite = this.destroyBlockIcons[i]; @@ -1616,7 +1616,7 @@ public class RenderGlobal BlockPos blockpos = movingObjectPositionIn.block; Block block = this.theWorld.getState(blockpos).getBlock(); - if (block.getMaterial() != Material.air) // && this.theWorld.getWorldBorder().contains(blockpos)) + if (block != Blocks.air) // && this.theWorld.getWorldBorder().contains(blockpos)) { block.setBlockBoundsBasedOnState(this.theWorld, blockpos); double d0 = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)partialTicks; diff --git a/client/src/client/renderer/blockmodel/ModelManager.java b/client/src/client/renderer/blockmodel/ModelManager.java index 5984f9a..50484e1 100755 --- a/client/src/client/renderer/blockmodel/ModelManager.java +++ b/client/src/client/renderer/blockmodel/ModelManager.java @@ -8,7 +8,7 @@ import java.util.Set; import client.renderer.texture.TextureAtlasSprite; import client.renderer.texture.TextureMap; import common.block.Block; -import common.block.BlockLiquid; +import common.block.liquid.BlockLiquid; import common.collect.Maps; import common.init.BlockRegistry; import common.init.Blocks; diff --git a/client/src/client/renderer/entity/RenderTntPrimed.java b/client/src/client/renderer/entity/RenderTntPrimed.java index 85aa3f8..616fd3b 100755 --- a/client/src/client/renderer/entity/RenderTntPrimed.java +++ b/client/src/client/renderer/entity/RenderTntPrimed.java @@ -6,7 +6,7 @@ import client.Client; import client.renderer.BlockRenderer; import client.renderer.GlState; import client.renderer.texture.TextureMap; -import common.block.BlockTNT; +import common.block.tech.BlockTNT; import common.entity.item.EntityTnt; import common.init.Blocks; import common.util.ExtMath; diff --git a/client/src/client/renderer/particle/EffectRenderer.java b/client/src/client/renderer/particle/EffectRenderer.java index 5d6ea5f..49d88cb 100755 --- a/client/src/client/renderer/particle/EffectRenderer.java +++ b/client/src/client/renderer/particle/EffectRenderer.java @@ -16,7 +16,7 @@ import common.block.Block; import common.collect.Lists; import common.collect.Maps; import common.entity.Entity; -import common.material.Material; +import common.init.Blocks; import common.model.ParticleType; import common.rng.Random; import common.util.BlockPos; @@ -319,7 +319,7 @@ public class EffectRenderer public void addBlockDestroyEffects(BlockPos pos, State state) { - if (state.getBlock().getMaterial() != Material.air) + if (state.getBlock() != Blocks.air) { state = state.getBlock().getActualState(state, this.worldObj, pos); int i = 4; diff --git a/client/src/client/renderer/particle/EntityDownfallFX.java b/client/src/client/renderer/particle/EntityDownfallFX.java index b2bd951..6b5191e 100755 --- a/client/src/client/renderer/particle/EntityDownfallFX.java +++ b/client/src/client/renderer/particle/EntityDownfallFX.java @@ -1,7 +1,7 @@ package client.renderer.particle; import common.block.Block; -import common.block.BlockLiquid; +import common.block.liquid.BlockLiquid; import common.material.Material; import common.util.BlockPos; import common.util.ExtMath; diff --git a/client/src/client/renderer/particle/EntityDropParticleFX.java b/client/src/client/renderer/particle/EntityDropParticleFX.java index 90542cd..6bed5e8 100755 --- a/client/src/client/renderer/particle/EntityDropParticleFX.java +++ b/client/src/client/renderer/particle/EntityDropParticleFX.java @@ -1,6 +1,6 @@ package client.renderer.particle; -import common.block.BlockLiquid; +import common.block.liquid.BlockLiquid; import common.material.Material; import common.model.ParticleType; import common.util.BlockPos; diff --git a/client/src/client/renderer/tileentity/TileEntityChestRenderer.java b/client/src/client/renderer/tileentity/TileEntityChestRenderer.java index 4fbb70f..3e543fd 100755 --- a/client/src/client/renderer/tileentity/TileEntityChestRenderer.java +++ b/client/src/client/renderer/tileentity/TileEntityChestRenderer.java @@ -6,7 +6,7 @@ import client.renderer.GlState; import client.renderer.model.ModelChest; import client.renderer.model.ModelLargeChest; import common.block.Block; -import common.block.BlockChest; +import common.block.tech.BlockChest; import common.tileentity.TileEntityChest; diff --git a/client/src/client/renderer/tileentity/TileEntityPistonRenderer.java b/client/src/client/renderer/tileentity/TileEntityPistonRenderer.java index ce055f1..f40c247 100755 --- a/client/src/client/renderer/tileentity/TileEntityPistonRenderer.java +++ b/client/src/client/renderer/tileentity/TileEntityPistonRenderer.java @@ -11,10 +11,9 @@ import client.renderer.RenderBuffer; import client.renderer.Tessellator; import client.renderer.texture.TextureMap; import common.block.Block; -import common.block.BlockPistonBase; -import common.block.BlockPistonHead; +import common.block.tech.BlockPistonBase; +import common.block.tech.BlockPistonHead; import common.init.Blocks; -import common.material.Material; import common.tileentity.TileEntityPiston; import common.util.BlockPos; import common.world.State; @@ -30,7 +29,7 @@ public class TileEntityPistonRenderer extends TileEntitySpecialRenderer implements Iterable - { - private final Class clazz; - private final Iterable [] iterables; +public class Block { + private static class Product implements Iterable { + private final Class clazz; + private final Iterable[] iterables; - private Product(Class clazz, Iterable [] iterables) - { - this.clazz = clazz; - this.iterables = iterables; - } + private Product(Class clazz, Iterable[] iterables) { + this.clazz = clazz; + this.iterables = iterables; + } - public Iterator iterator() - { - return (Iterator)(this.iterables.length <= 0 ? Collections.singletonList((Object[])createArray(this.clazz, 0)).iterator() : new Product.ProductIterator(this.clazz, this.iterables)); - } + public Iterator iterator() { + return (Iterator)(this.iterables.length <= 0 ? Collections.singletonList((Object[])createArray(this.clazz, 0)).iterator() + : new Product.ProductIterator(this.clazz, this.iterables)); + } - static class ProductIterator extends UnmodifiableIterator - { - private int index; - private final Iterable [] iterables; - private final Iterator [] iterators; - private final T[] results; + static class ProductIterator extends UnmodifiableIterator { + private int index; + private final Iterable[] iterables; + private final Iterator[] iterators; + private final T[] results; - private ProductIterator(Class clazz, Iterable [] iterables) - { - this.index = -2; - this.iterables = iterables; - this.iterators = (Iterator[])createArray(Iterator.class, this.iterables.length); + private ProductIterator(Class clazz, Iterable[] iterables) { + this.index = -2; + this.iterables = iterables; + this.iterators = (Iterator[])createArray(Iterator.class, this.iterables.length); - for (int i = 0; i < this.iterables.length; ++i) - { - this.iterators[i] = iterables[i].iterator(); - } + for(int i = 0; i < this.iterables.length; ++i) { + this.iterators[i] = iterables[i].iterator(); + } - this.results = createArray(clazz, this.iterators.length); - } + this.results = createArray(clazz, this.iterators.length); + } - private void endOfData() - { - this.index = -1; - Arrays.fill(this.iterators, (Object)null); - Arrays.fill(this.results, (Object)null); - } + private void endOfData() { + this.index = -1; + Arrays.fill(this.iterators, (Object)null); + Arrays.fill(this.results, (Object)null); + } - public boolean hasNext() - { - if (this.index == -2) - { - this.index = 0; + public boolean hasNext() { + if(this.index == -2) { + this.index = 0; - for (Iterator iterator1 : this.iterators) - { - if (!iterator1.hasNext()) - { - this.endOfData(); - break; - } - } + for(Iterator iterator : this.iterators) { + if(!iterator.hasNext()) { + this.endOfData(); + break; + } + } - return true; - } - else - { - if (this.index >= this.iterators.length) - { - for (this.index = this.iterators.length - 1; this.index >= 0; --this.index) - { - Iterator iterator = this.iterators[this.index]; + return true; + } + else { + if(this.index >= this.iterators.length) { + for(this.index = this.iterators.length - 1; this.index >= 0; --this.index) { + Iterator iterator = this.iterators[this.index]; - if (iterator.hasNext()) - { - break; - } + if(iterator.hasNext()) { + break; + } - if (this.index == 0) - { - this.endOfData(); - break; - } + if(this.index == 0) { + this.endOfData(); + break; + } - iterator = this.iterables[this.index].iterator(); - this.iterators[this.index] = iterator; + iterator = this.iterables[this.index].iterator(); + this.iterators[this.index] = iterator; - if (!iterator.hasNext()) - { - this.endOfData(); - break; - } - } - } + if(!iterator.hasNext()) { + this.endOfData(); + break; + } + } + } - return this.index >= 0; - } - } + return this.index >= 0; + } + } - public T[] next() - { - if (!this.hasNext()) - { - throw new NoSuchElementException(); - } - else - { - while (this.index < this.iterators.length) - { - this.results[this.index] = this.iterators[this.index].next(); - ++this.index; - } + public T[] next() { + if(!this.hasNext()) { + throw new NoSuchElementException(); + } + else { + while(this.index < this.iterators.length) { + this.results[this.index] = this.iterators[this.index].next(); + ++this.index; + } - return (T[])((Object[])this.results.clone()); - } - } - } - } + return (T[])((Object[])this.results.clone()); + } + } + } + } - private static class GetList implements Function> - { - private GetList() - { - } + private static class GetList implements Function> { + private GetList() { + } + + public List apply(Object[] data) { + return Arrays.asList((T[])data); + } + } - public List apply(Object[] p_apply_1_) - { - return Arrays.asList((T[])p_apply_1_); - } - } - private final ImmutableList properties; private final ImmutableList states; - protected final Material material; + protected final Material material; + + protected boolean fullBlock; + protected boolean translucent; + protected boolean sumBrightness; + protected boolean axeHarvest; + protected boolean shovelHarvest; + protected boolean ticked; + protected boolean hasTile; + protected int lightOpacity; + protected int lightValue; + protected int miningLevel; + protected int shearsEfficiency; + protected float blockHardness; + protected float blockResistance; + protected float radiation; + public float slipperiness; + protected double minX; + protected double minY; + protected double minZ; + protected double maxX; + protected double maxY; + protected double maxZ; + private State defaultState; + private String display; + private CheatTab tab; + public SoundType sound; + + private static Iterable> cartesianProduct(Iterable> sets) { + return arraysAsLists(cartesianProduct(Object.class, sets)); + } + + private static Iterable cartesianProduct(Class clazz, Iterable> sets) { + return new Product(clazz, (Iterable[])toArray(Iterable.class, sets)); + } + + private static Iterable> arraysAsLists(Iterable arrays) { + return Iterables.transform(arrays, new GetList()); + } + + private static T[] toArray(Class clazz, Iterable it) { + List list = Lists.newArrayList(); + + for(T t : it) { + list.add(t); + } + + return (T[])((Object[])list.toArray(createArray(clazz, list.size()))); + } + + private static T[] createArray(Class clazz, int size) { + return (T[])((Object[])((Object[])Array.newInstance(clazz, size))); + } + + private static Map createMap(Iterable keys, Iterable values) { + return populateMap(keys, values, Maps.newLinkedHashMap()); + } + + private static Map populateMap(Iterable keys, Iterable values, Map map) { + Iterator iterator = values.iterator(); + + for(IProperty prop : keys) { + map.put(prop, iterator.next()); + } + + if(iterator.hasNext()) { + throw new NoSuchElementException(); + } + else { + return map; + } + } + + private static List> getAllowedValues(List properties) { + List> list = Lists.>newArrayList(); + for(int z = 0; z < properties.size(); z++) { + list.add((properties.get(z)).getAllowedValues()); + } + return list; + } - protected boolean fullBlock; - protected boolean translucent; - protected boolean sumBrightness; - protected boolean axeHarvest; - protected boolean shovelHarvest; -// protected boolean enableStats; - protected boolean ticked; - protected boolean hasTile; - protected int lightOpacity; - protected int lightValue; - protected int miningLevel; - protected int shearsEfficiency; - protected float blockHardness; - protected float blockResistance; - protected float radiation; - public float slipperiness; - protected double minX; - protected double minY; - protected double minZ; - protected double maxX; - protected double maxY; - protected double maxZ; - private State defaultState; - private String display; - private CheatTab tab; - public SoundType sound; - - private static Iterable> cartesianProduct(Iterable > sets) - { - return arraysAsLists(cartesianProduct(Object.class, sets)); - } - - private static Iterable cartesianProduct(Class clazz, Iterable > sets) - { - return new Product(clazz, (Iterable[])toArray(Iterable.class, sets)); - } - - private static Iterable> arraysAsLists(Iterable arrays) - { - return Iterables.transform(arrays, new GetList()); - } - - private static T[] toArray(Class clazz, Iterable it) - { - List list = Lists.newArrayList(); - - for (T t : it) - { - list.add(t); - } - - return (T[])((Object[])list.toArray(createArray(clazz, list.size()))); - } - - private static T[] createArray(Class p_179319_0_, int p_179319_1_) - { - return (T[])((Object[])((Object[])Array.newInstance(p_179319_0_, p_179319_1_))); - } - - private static Map createMap(Iterable keys, Iterable values) - { - return populateMap(keys, values, Maps.newLinkedHashMap()); - } - - private static Map populateMap(Iterable keys, Iterable values, Map map) - { - Iterator iterator = values.iterator(); - - for (IProperty k : keys) - { - map.put(k, iterator.next()); - } - - if (iterator.hasNext()) - { - throw new NoSuchElementException(); - } - else - { - return map; - } - } - - public Block(Material material) - { - this.miningLevel = (material == Material.rock || material == Material.iron || material == Material.anvil) ? 0 : -1; - this.axeHarvest = material == Material.wood || material == Material.plants || material == Material.vine || - material == Material.gourd; - this.shearsEfficiency = (material == Material.leaves || material == Material.web) ? 3 : -1; -// this.enableStats = true; - this.sound = SoundType.STONE; - this.slipperiness = 0.6F; - this.material = material; -// this.blockMapColor = blockMapColorIn; - this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - this.fullBlock = this.isOpaqueCube(); - this.lightOpacity = this.isOpaqueCube() ? 255 : 0; - this.translucent = !material.blocksLight(); -// this.smap = new StateList(this, this.getProperties()); - IProperty[] properties = this.getProperties(); + private static ImmutableList getPropertyList(IProperty[] properties) { Arrays.sort(properties, new Comparator() { public int compare(IProperty p1, IProperty p2) { return p1.getName().compareTo(p2.getName()); } }); - this.properties = ImmutableList.copyOf(properties); + return ImmutableList.copyOf(properties); + } + + private static ImmutableList getStateList(List properties, Block block) { Map, State> map = Maps., State>newLinkedHashMap(); List list = Lists.newArrayList(); - for(List allowed : cartesianProduct(this.getAllowedValues())) { - Map props = createMap(this.properties, allowed); - State state = new State(this, ImmutableMap.copyOf(props)); + for(List allowed : cartesianProduct(getAllowedValues(properties))) { + Map props = createMap(properties, allowed); + State state = new State(block, ImmutableMap.copyOf(props)); map.put(props, state); list.add(state); } for(State state : list) { state.buildTable(map); } - this.states = ImmutableList.copyOf(list); - this.setDefaultState(this.getBaseState()); - } + return ImmutableList.copyOf(list); + } - /** - * Sets the footstep sound for the block. Returns the object for convenience in constructing. - */ - public Block setStepSound(SoundType sound) - { - this.sound = sound; - return this; - } + public Block(Material material) { + this.miningLevel = (material == Material.rock || material == Material.iron || material == Material.anvil) ? 0 : -1; + this.axeHarvest = material == Material.wood || material == Material.plants || material == Material.vine || material == Material.gourd; + this.shearsEfficiency = (material == Material.leaves || material == Material.web) ? 3 : -1; + this.sound = SoundType.STONE; + this.slipperiness = 0.6F; + this.material = material; + this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + this.fullBlock = this.isOpaqueCube(); + this.lightOpacity = this.isOpaqueCube() ? 255 : 0; + this.translucent = !material.blocksLight(); + this.properties = getPropertyList(this.getProperties()); + this.states = getStateList(this.properties, this); + this.setDefaultState(this.getBaseState()); + } - /** - * Sets how much light is blocked going through this block. Returns the object for convenience in constructing. - */ - public Block setLightOpacity(int opacity) - { - this.lightOpacity = opacity; - return this; - } + public Block setStepSound(SoundType sound) { + this.sound = sound; + return this; + } - /** - * Sets the light value that the block emits. Returns resulting block instance for constructing convenience. Args: - * level - */ - public Block setLightLevel(float value) - { - this.lightValue = (int)(15.0F * value); - return this; - } + public Block setLightOpacity(int opacity) { + this.lightOpacity = opacity; + return this; + } - /** - * Sets the the blocks resistance to explosions. Returns the object for convenience in constructing. - */ - public Block setResistance(float resistance) - { - this.blockResistance = resistance * 3.0F; - return this; - } + public Block setLightLevel(float value) { + this.lightValue = (int)(15.0F * value); + return this; + } - /** - * Sets how many hits it takes to break a block. - */ - public Block setHardness(float hardness) - { - this.blockHardness = hardness; + public Block setResistance(float resistance) { + this.blockResistance = resistance * 3.0F; + return this; + } - if (this.blockResistance < hardness * 5.0F) - { - this.blockResistance = hardness * 5.0F; - } + public Block setHardness(float hardness) { + this.blockHardness = hardness; - return this; - } + if(this.blockResistance < hardness * 5.0F) { + this.blockResistance = hardness * 5.0F; + } -// public Block setBlockUnbreakable() -// { -// this.setHardness(-1.0F); -// this.setResistance(6000000.0F); -// return this; -// } + return this; + } - /** - * Sets whether this block type will receive random update ticks - */ - protected Block setTickRandomly() - { - this.ticked = true; - return this; - } + protected Block setTickRandomly() { + this.ticked = true; + return this; + } - public Block setDisplay(String name) - { - this.display = name; - return this; - } + public Block setDisplay(String name) { + this.display = name; + return this; + } -// public Block disableStats() -// { -// this.enableStats = false; -// return this; -// } + public Block setTab(CheatTab tab) { + this.tab = tab; + return this; + } - public Block setTab(CheatTab tab) - { - this.tab = tab; - return this; - } - - public Block setSumBrightness() - { - this.sumBrightness = true; - return this; - } - - public Block setMiningLevel(int level) - { - this.miningLevel = level; - return this; - } - - public Block setAxeHarvestable() - { - this.axeHarvest = true; - return this; - } - - public Block setShovelHarvestable() - { - this.shovelHarvest = true; - return this; - } - - public Block setShearsEfficiency(int efficiency) - { - this.shearsEfficiency = efficiency; - return this; - } - - public Block setRadiation(float value) - { - this.radiation = value; - if(value > 0.0f) - this.ticked = true; - return this; - } - - + public Block setSumBrightness() { + this.sumBrightness = true; + return this; + } - public boolean isFullBlock() - { - return this.fullBlock; - } + public Block setMiningLevel(int level) { + this.miningLevel = level; + return this; + } - public int getLightOpacity() - { - return this.lightOpacity; - } + public Block setAxeHarvestable() { + this.axeHarvest = true; + return this; + } - /** - * Used in the renderer to apply ambient occlusion - */ - public boolean isTranslucent() - { - return this.translucent; - } + public Block setShovelHarvestable() { + this.shovelHarvest = true; + return this; + } - public int getLightValue() - { - return this.lightValue; - } + public Block setShearsEfficiency(int efficiency) { + this.shearsEfficiency = efficiency; + return this; + } - /** - * Should block use the brightest neighbor light value as its own - */ - public boolean getSumBrightness() - { - return this.sumBrightness; - } + public Block setRadiation(float value) { + this.radiation = value; + if(value > 0.0f) + this.ticked = true; + return this; + } - /** - * Get a material of block - */ - public Material getMaterial() - { - return this.material; - } + public boolean isFullBlock() { + return this.fullBlock; + } + + public int getLightOpacity() { + return this.lightOpacity; + } + + public boolean isTranslucent() { + return this.translucent; + } + + public int getLightValue() { + return this.lightValue; + } + + public boolean getSumBrightness() { + return this.sumBrightness; + } + + public final Material getMaterial() { + return this.material; + } public ImmutableList getValidStates() { return this.states; } - private List> getAllowedValues() { - List> list = Lists.>newArrayList(); - for(int z = 0; z < this.properties.size(); z++) { - list.add((this.properties.get(z)).getAllowedValues()); - } - return list; - } - public final State getBaseState() { return this.states.get(0); } -// public Block getBlock() { -// return this; -// } - public Collection getPropertyMap() { return this.properties; } -// public String toString() { -// return Objects.toStringHelper(this).add("block", BlockRegistry.REGISTRY.getNameForObject(this)) -// .add("properties", Iterables.transform(this.properties, GET_NAME_FUNC)).toString(); -// } - -// /** -// * Get the MapColor for this Block and the given BlockState -// */ -// public final MapColor getMapColor(IBlockState state) -// { -// return this.blockMapColor; -// } - - /** - * Convert the given metadata into a BlockState for this Block - */ - public State getStateFromMeta(int meta) - { - return this.getState(); - } - - /** - * Convert the BlockState into the correct metadata value - */ - public int getMetaFromState(State state) - { - if (state != null && !state.getPropertyNames().isEmpty()) - { - throw new IllegalArgumentException("Don\'t know how to convert " + state + " back into data..."); - } - else - { - return 0; - } - } - - /** - * Get the actual Block state of this Block at the given position. This applies properties not visible in the - * metadata, such as fence connections. - */ - public State getActualState(State state, IWorldAccess worldIn, BlockPos pos) - { - return state; - } - - /** - * Indicate if a material is a normal solid opaque cube - */ - public boolean isBlockNormalCube() - { - return this.material.blocksMovement() && this.isFullCube(); - } - - /** - * Used for nearly all game logic (non-rendering) purposes. Use Forge-provided isNormalCube(IBlockAccess, BlockPos) - * instead. - */ - public boolean isNormalCube() - { - return this.material.isOpaque() && this.isFullCube() && !this.canProvidePower(); - } - - public boolean isVisuallyOpaque() - { - return this.material.blocksMovement() && this.isFullCube(); - } - - public boolean isFullCube() - { - return true; - } - - public boolean isPassable(IBlockAccess worldIn, BlockPos pos) - { - return !this.material.blocksMovement(); - } - - /** - * The type of render function called. 3 for standard block models, 2 for TESR's, 1 for liquids, -1 is no render - */ - public int getRenderType() - { - return 3; - } - - public boolean isXrayVisible() - { - return false; - } - - /** - * Whether this Block can be replaced directly by other blocks (true for e.g. tall grass) - */ - public boolean isReplaceable(World worldIn, BlockPos pos) - { - return false; - } - - public float getBlockHardness(World worldIn, BlockPos pos) - { - return this.blockHardness; - } - - /** - * Returns whether or not this block is of a type that needs random ticking. Called for ref-counting purposes by - * ExtendedBlockStorage in order to broadly cull a chunk from the random chunk update list for efficiency's sake. - */ - public boolean getTickRandomly() - { - return this.ticked; - } - - public boolean hasTileEntity() - { - return this.hasTile; - } - - protected final void setBlockBounds(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) - { - this.minX = (double)minX; - this.minY = (double)minY; - this.minZ = (double)minZ; - this.maxX = (double)maxX; - this.maxY = (double)maxY; - this.maxZ = (double)maxZ; - } - - public int getMixedBrightnessForBlock(IWorldAccess worldIn, BlockPos pos) - { - Block block = worldIn.getState(pos).getBlock(); - int i = worldIn.getCombinedLight(pos, block.getLightValue()); - - if (i == 0 && block instanceof BlockSlab) - { - pos = pos.down(); - block = worldIn.getState(pos).getBlock(); - return worldIn.getCombinedLight(pos, block.getLightValue()); - } - else - { - return i; - } - } - - public boolean shouldSideBeRendered(IWorldAccess worldIn, BlockPos pos, Facing side) - { - return side == Facing.DOWN && this.minY > 0.0D ? true : (side == Facing.UP && this.maxY < 1.0D ? true : (side == Facing.NORTH && this.minZ > 0.0D ? true : (side == Facing.SOUTH && this.maxZ < 1.0D ? true : (side == Facing.WEST && this.minX > 0.0D ? true : (side == Facing.EAST && this.maxX < 1.0D ? true : !worldIn.getState(pos).getBlock().isOpaqueCube()))))); - } - - /** - * Whether this Block is solid on the given Side - */ - public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, Facing side) - { - return worldIn.getState(pos).getBlock().getMaterial().isSolid(); - } - - public BoundingBox getSelectedBoundingBox(World worldIn, BlockPos pos) - { - return new BoundingBox((double)pos.getX() + this.minX, (double)pos.getY() + this.minY, (double)pos.getZ() + this.minZ, (double)pos.getX() + this.maxX, (double)pos.getY() + this.maxY, (double)pos.getZ() + this.maxZ); - } - - /** - * Add all collision boxes of this Block to the list that intersect with the given mask. - */ - public void addCollisionBoxesToList(World worldIn, BlockPos pos, State state, BoundingBox mask, List list, Entity collidingEntity) - { - BoundingBox axisalignedbb = this.getCollisionBoundingBox(worldIn, pos, state); - - if (axisalignedbb != null && mask.intersectsWith(axisalignedbb)) - { - list.add(axisalignedbb); - } - } - - public BoundingBox getCollisionBoundingBox(World worldIn, BlockPos pos, State state) - { - return new BoundingBox((double)pos.getX() + this.minX, (double)pos.getY() + this.minY, (double)pos.getZ() + this.minZ, (double)pos.getX() + this.maxX, (double)pos.getY() + this.maxY, (double)pos.getZ() + this.maxZ); - } - - /** - * Used to determine ambient occlusion and culling when rebuilding chunks for render - */ - public boolean isOpaqueCube() - { - return true; - } - - public boolean canCollideCheck(State state, boolean hitIfLiquid) - { - return this.isCollidable(); - } - - /** - * Returns if this block is collidable (only used by Fire). Args: x, y, z - */ - public boolean isCollidable() - { - return true; - } - - /** - * Called randomly when setTickRandomly is set to true (used by e.g. crops to grow, etc.) - */ - public void randomTick(AWorldServer worldIn, BlockPos pos, State state, Random random) - { - this.updateTick(worldIn, pos, state, random); - if(this.radiation > 0.0f && /* worldIn.getTime() % 5L == 0L && */ random.chance(Config.randomTick / 3)) - this.affectEntities(worldIn, pos, state, this.radiation * 8.0f * 0.25f); - } - - private void affectEntities(AWorldServer worldIn, BlockPos pos, State state, float rad) - { - float r = ExtMath.clampf(rad * 2.0f, 0.0f, 25.0f); - BoundingBox box = this.getCollisionBoundingBox(worldIn, pos, state); - if(box == null) - box = new BoundingBox(pos, pos.add(1, 1, 1)); - for (EntityLiving entity : worldIn.getEntitiesWithinAABB(EntityLiving.class, box.expand(r, r, r))) - { - float effect = rad * 2.0f * (r - ExtMath.sqrtf((float)entity.getDistanceSq(pos))) / r; - if(effect > 0.0f) - entity.addRadiation(effect); - } - } - - public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) - { - } - - public void randomDisplayTick(AWorldClient worldIn, BlockPos pos, State state, Random rand) - { - } - - /** - * Called when a player destroys this Block - */ - public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, State state) - { - } - - /** - * Called when a neighboring block changes. - */ - public void onNeighborBlockChange(World worldIn, BlockPos pos, State state, Block neighborBlock) - { - } - - /** - * How many world ticks before ticking - */ - public int tickRate(World worldIn, BlockPos pos) - { - return 10; - } - - public void onBlockAdded(AWorldServer world, BlockPos pos, State state) - { - } - - public void onBlockRemoved(AWorldServer world, BlockPos pos, State state) - { - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - public int quantityDropped(Random random) - { - return 1; - } - - /** - * Get the Item that this Block should drop when harvested. - */ - public Item getItemDropped(State state, Random rand, int fortune) - { - return ItemRegistry.getItemFromBlock(this); - } - - /** - * Get the hardness of this Block relative to the ability of the given player - */ - public float getPlayerRelativeBlockHardness(EntityNPC playerIn, World worldIn, BlockPos pos) - { - float f = this.getBlockHardness(worldIn, pos); - return f < 0.0F ? 0.0F : (!playerIn.canHarvestBlock(this) ? playerIn.getToolDigEfficiency(this) / f / 100.0F : playerIn.getToolDigEfficiency(this) / f / 30.0F); - } - - /** - * Spawn this Block's drops into the World as EntityItems - */ - public final void dropBlockAsItem(World worldIn, BlockPos pos, State state, int forture) - { - this.dropBlockAsItemWithChance(worldIn, pos, state, 1.0F, forture); - } - - /** - * Spawns this Block's drops into the World as EntityItems. - */ - public void dropBlockAsItemWithChance(World worldIn, BlockPos pos, State state, float chance, int fortune) - { - if (!worldIn.client) - { - int i = this.quantityDroppedWithBonus(fortune, worldIn.rand); - - for (int j = 0; j < i; ++j) - { - if (worldIn.rand.floatv() <= chance) - { - Item item = this.getItemDropped(state, worldIn.rand, fortune); - - if (item != null) - { - spawnAsEntity(worldIn, pos, new ItemStack(item, 1, this.damageDropped(state))); - } - } - } - } - } - - /** - * Spawns the given ItemStack as an EntityItem into the World at the given position - */ - public static void spawnAsEntity(World worldIn, BlockPos pos, ItemStack stack) - { - if (!worldIn.client && Config.blockDrop) - { - float f = 0.5F; - double d0 = (double)(worldIn.rand.floatv() * f) + (double)(1.0F - f) * 0.5D; - double d1 = (double)(worldIn.rand.floatv() * f) + (double)(1.0F - f) * 0.5D; - double d2 = (double)(worldIn.rand.floatv() * f) + (double)(1.0F - f) * 0.5D; - EntityItem entityitem = new EntityItem(worldIn, (double)pos.getX() + d0, (double)pos.getY() + d1, (double)pos.getZ() + d2, stack); - entityitem.setDefaultPickupDelay(); - worldIn.spawnEntityInWorld(entityitem); - } - } - - /** - * Spawns the given amount of experience into the World as XP orb entities - */ - protected void dropXpOnBlockBreak(World worldIn, BlockPos pos, int amount) - { - if (!worldIn.client && Config.blockXP) - { - while (amount > 0) - { - int i = EntityXp.getXPSplit(amount); - amount -= i; - worldIn.spawnEntityInWorld(new EntityXp(worldIn, (double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, i)); - } - } - } - - /** - * Gets the metadata of the item this Block can drop. This method is called when the block gets destroyed. It - * returns the metadata of the dropped item based on the old metadata of the block. - */ - public int damageDropped(State state) - { - return 0; - } - - /** - * Returns how much this block can resist explosions from the passed in entity. - */ - public float getExplosionResistance(Entity exploder) - { - return this.blockResistance / 5.0F; - } - - /** - * Ray traces through the blocks collision from start vector to end vector returning a ray trace hit. - */ - public HitPosition collisionRayTrace(World worldIn, BlockPos pos, Vec3 start, Vec3 end) - { - this.setBlockBoundsBasedOnState(worldIn, pos); - start = start.addVector((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ())); - end = end.addVector((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ())); - Vec3 vec3 = start.getIntermediateWithXValue(end, this.minX); - Vec3 vec31 = start.getIntermediateWithXValue(end, this.maxX); - Vec3 vec32 = start.getIntermediateWithYValue(end, this.minY); - Vec3 vec33 = start.getIntermediateWithYValue(end, this.maxY); - Vec3 vec34 = start.getIntermediateWithZValue(end, this.minZ); - Vec3 vec35 = start.getIntermediateWithZValue(end, this.maxZ); - - if (!this.isVecInsideYZBounds(vec3)) - { - vec3 = null; - } - - if (!this.isVecInsideYZBounds(vec31)) - { - vec31 = null; - } - - if (!this.isVecInsideXZBounds(vec32)) - { - vec32 = null; - } - - if (!this.isVecInsideXZBounds(vec33)) - { - vec33 = null; - } - - if (!this.isVecInsideXYBounds(vec34)) - { - vec34 = null; - } - - if (!this.isVecInsideXYBounds(vec35)) - { - vec35 = null; - } - - Vec3 vec36 = null; - - if (vec3 != null && (vec36 == null || start.squareDistanceTo(vec3) < start.squareDistanceTo(vec36))) - { - vec36 = vec3; - } - - if (vec31 != null && (vec36 == null || start.squareDistanceTo(vec31) < start.squareDistanceTo(vec36))) - { - vec36 = vec31; - } - - if (vec32 != null && (vec36 == null || start.squareDistanceTo(vec32) < start.squareDistanceTo(vec36))) - { - vec36 = vec32; - } - - if (vec33 != null && (vec36 == null || start.squareDistanceTo(vec33) < start.squareDistanceTo(vec36))) - { - vec36 = vec33; - } - - if (vec34 != null && (vec36 == null || start.squareDistanceTo(vec34) < start.squareDistanceTo(vec36))) - { - vec36 = vec34; - } - - if (vec35 != null && (vec36 == null || start.squareDistanceTo(vec35) < start.squareDistanceTo(vec36))) - { - vec36 = vec35; - } - - if (vec36 == null) - { - return null; - } - else - { - Facing enumfacing = null; - - if (vec36 == vec3) - { - enumfacing = Facing.WEST; - } - - if (vec36 == vec31) - { - enumfacing = Facing.EAST; - } - - if (vec36 == vec32) - { - enumfacing = Facing.DOWN; - } - - if (vec36 == vec33) - { - enumfacing = Facing.UP; - } - - if (vec36 == vec34) - { - enumfacing = Facing.NORTH; - } - - if (vec36 == vec35) - { - enumfacing = Facing.SOUTH; - } - - return new HitPosition(ObjectType.BLOCK, vec36.addVector((double)pos.getX(), (double)pos.getY(), (double)pos.getZ()), enumfacing, pos); - } - } - - /** - * Checks if a vector is within the Y and Z bounds of the block. - */ - private boolean isVecInsideYZBounds(Vec3 point) - { - return point == null ? false : point.yCoord >= this.minY && point.yCoord <= this.maxY && point.zCoord >= this.minZ && point.zCoord <= this.maxZ; - } - - /** - * Checks if a vector is within the X and Z bounds of the block. - */ - private boolean isVecInsideXZBounds(Vec3 point) - { - return point == null ? false : point.xCoord >= this.minX && point.xCoord <= this.maxX && point.zCoord >= this.minZ && point.zCoord <= this.maxZ; - } - - /** - * Checks if a vector is within the X and Y bounds of the block. - */ - private boolean isVecInsideXYBounds(Vec3 point) - { - return point == null ? false : point.xCoord >= this.minX && point.xCoord <= this.maxX && point.yCoord >= this.minY && point.yCoord <= this.maxY; - } - - /** - * Called when this Block is destroyed by an Explosion - */ - public void onBlockDestroyedByExplosion(World worldIn, BlockPos pos, Explosion explosionIn, State prevState) - { - } - - public BlockLayer getBlockLayer() - { - return BlockLayer.SOLID; - } - - public boolean canReplace(World worldIn, BlockPos pos, Facing side, ItemStack stack) - { - return this.canPlaceBlockOnSide(worldIn, pos, side); - } - - /** - * Check whether this Block can be placed on the given side - */ - public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, Facing side) - { - return this.canPlaceBlockAt(worldIn, pos); - } - - public boolean canPlaceBlockAt(World worldIn, BlockPos pos) - { - return worldIn.getState(pos).getBlock().material.isReplaceable(); - } - - public boolean onBlockActivated(World worldIn, BlockPos pos, State state, EntityNPC playerIn, Facing side, float hitX, float hitY, float hitZ) - { - return false; - } - - /** - * Triggered whenever an entity collides with this block (enters into the block) - */ - public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) - { - } - - /** - * Called by ItemBlocks just before a block is actually set in the world, to allow for adjustments to the - * IBlockstate - */ - public State onBlockPlaced(World worldIn, BlockPos pos, Facing facing, float hitX, float hitY, float hitZ, int meta, EntityLiving placer) - { - return this.getStateFromMeta(meta); - } - - public void onBlockClicked(World worldIn, BlockPos pos, EntityNPC playerIn) - { - } - - public Vec3 modifyAcceleration(World worldIn, BlockPos pos, Entity entityIn, Vec3 motion) - { - return motion; - } - - public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos) - { - } - - /** - * returns the block bounderies minX value - */ - public final double getBlockBoundsMinX() - { - return this.minX; - } - - /** - * returns the block bounderies maxX value - */ - public final double getBlockBoundsMaxX() - { - return this.maxX; - } - - /** - * returns the block bounderies minY value - */ - public final double getBlockBoundsMinY() - { - return this.minY; - } - - /** - * returns the block bounderies maxY value - */ - public final double getBlockBoundsMaxY() - { - return this.maxY; - } - - /** - * returns the block bounderies minZ value - */ - public final double getBlockBoundsMinZ() - { - return this.minZ; - } - - /** - * returns the block bounderies maxZ value - */ - public final double getBlockBoundsMaxZ() - { - return this.maxZ; - } - -// public int getBlockColor() -// { -// return 16777215; -// } - - public int getRenderColor(State state) - { - return 16777215; - } - - public int colorMultiplier(IWorldAccess worldIn, BlockPos pos, int renderPass) - { - return 16777215; - } - - public final int colorMultiplier(IWorldAccess worldIn, BlockPos pos) - { - return this.colorMultiplier(worldIn, pos, 0); - } - - public int getWeakPower(IWorldAccess worldIn, BlockPos pos, State state, Facing side) - { - return 0; - } - - /** - * Can this block provide power. Only wire currently seems to have this change based on its state. - */ - public boolean canProvidePower() - { - return false; - } - - /** - * Called When an Entity Collided with the Block - */ - public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, State state, Entity entityIn) - { - } - - public int getStrongPower(IWorldAccess worldIn, BlockPos pos, State state, Facing side) - { - return 0; - } - - /** - * Sets the block's bounds for rendering it as an item - */ - public void setBlockBoundsForItemRender() - { - } - - public void harvestBlock(World worldIn, EntityNPC player, BlockPos pos, State state, TileEntity te) - { -// player.triggerAchievement(StatRegistry.mineBlockStatArray[BlockRegistry.getIdFromBlock(this)]); - - if (this.canSilkHarvest() && EnchantmentHelper.getSilkTouchModifier(player)) - { - ItemStack itemstack = this.createStackedBlock(state); - - if (itemstack != null) - { - spawnAsEntity(worldIn, pos, itemstack); - } - } - else - { - int i = EnchantmentHelper.getFortuneModifier(player); - this.dropBlockAsItem(worldIn, pos, state, i); - } - } - - public boolean canSilkHarvest() - { - return this.isFullCube() && !this.hasTile; - } - - public ItemStack createStackedBlock(State state) - { - int i = 0; - Item item = ItemRegistry.getItemFromBlock(this); - - if (item != null && item.getHasSubtypes()) - { - i = this.getMetaFromState(state); - } - - return new ItemStack(item, 1, i); - } - - /** - * Get the quantity dropped based on the given fortune level - */ - public int quantityDroppedWithBonus(int fortune, Random random) - { - return this.quantityDropped(random); - } - - /** - * Called by ItemBlocks after a block is set in the world, to allow post-place logic - */ - public void onBlockPlacedBy(World worldIn, BlockPos pos, State state, EntityLiving placer, ItemStack stack) - { - } - - /** - * Return true if an entity can be spawned inside the block (used to get the player's bed spawn location) - */ - public boolean canSpawnInBlock() - { - return !this.material.isSolid() && !this.material.isLiquid(); - } - -// /** -// * Gets the localized name of this block. Used for the statistics page. -// */ -// public String getLocalizedName() -// { -// return Strs.get(this.getUnlocalizedName() + ".name"); -// } - - public final String getDisplay() - { - return this.display; - } - - /** - * Called on both Client and Server when World#addBlockEvent is called - */ - public boolean onBlockEventReceived(World worldIn, BlockPos pos, State state, int eventID, int eventParam) - { - return false; - } - -// /** -// * Return the state of blocks statistics flags - if the block is counted for mined and placed. -// */ -// public boolean getEnableStats() -// { -// return this.enableStats; -// } - - public int getMobilityFlag() - { - return this.material.getMaterialMobility(); - } - - /** - * Returns the default ambient occlusion value based on block opacity - */ - public float getAmbientOcclusionLightValue() - { - return this.isBlockNormalCube() ? 0.2F : 1.0F; - } - - /** - * Block's chance to react to a living entity falling on it. - */ - public void onFallenUpon(World worldIn, BlockPos pos, Entity entityIn, float fallDistance) - { - entityIn.fall(fallDistance, 1.0F); - } - - /** - * Called when an Entity lands on this Block. This method *must* update motionY because the entity will not do that - * on its own - */ - public void onLanded(World worldIn, Entity entityIn) - { - entityIn.motionY = 0.0D; - } - - public Item getItem(World worldIn, BlockPos pos) - { - return ItemRegistry.getItemFromBlock(this); - } - - /** - * Gets the meta to use for the Pick Block ItemStack result - */ - public int getDamageValue(World worldIn, BlockPos pos) - { - return this.damageDropped(worldIn.getState(pos)); - } - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - public void getSubBlocks(Item itemIn, CheatTab tab, List list) - { - list.add(new ItemStack(itemIn, 1, 0)); - } - - /** - * Returns the tab to display the given block on. - */ - public CheatTab getTab() - { - return this.tab; - } - - public void onBlockHarvested(World worldIn, BlockPos pos, State state, EntityNPC player) - { - } - - /** - * Called similar to random ticks, but only when it is raining. - */ - public void fillWithRain(World worldIn, BlockPos pos) - { - } - - public boolean isPickStrict() - { - return false; - } - - public boolean requiresUpdates() - { - return true; - } - - /** - * Return whether this block can drop from an explosion. - */ - public boolean canDropFromExplosion(Explosion explosionIn) - { - return true; - } - - public boolean isAssociatedBlock(Block other) - { - return this == other; - } - - public static boolean isEqualTo(Block blockIn, Block other) - { - return blockIn != null && other != null ? (blockIn == other ? true : blockIn.isAssociatedBlock(other)) : false; - } - - public boolean hasComparatorInputOverride() - { - return false; - } - - public int getComparatorInputOverride(World worldIn, BlockPos pos) - { - return 0; - } - - /** - * Possibly modify the given BlockState before rendering it on an Entity (Minecarts, Endermen, ...) - */ - public State getStateForEntityRender(State state) - { - return state; - } - - protected IProperty[] getProperties() - { - return new IProperty[0]; - } - - protected final void setDefaultState(State state) - { - this.defaultState = state; - } - - public final State getState() - { - return this.defaultState; - } - -// public EnumOffsetType getOffsetType() -// { -// return EnumOffsetType.NONE; -// } - -// public String toString() -// { -// return "Block{" + BlockRegistry.REGISTRY.getNameForObject(this) + "}"; -// } - - public int getMiningLevel() { - return this.miningLevel; - } - - public boolean canAxeHarvest() { - return this.axeHarvest; - } - - public boolean canShovelHarvest() { - return this.shovelHarvest; - } - - public int getShearsEfficiency() { - return this.shearsEfficiency; - } - - public boolean isMagnetic() { - return false; - } - - public Transforms getTransform() { - return Transforms.BLOCK; - } - - public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(name).add().all(); - } - - public IProperty[] getIgnoredProperties() { - return null; - } - - public void getAnimatedTextures(Map map) { - } - - public boolean canKeepFire() { - return false; - } - - public boolean canExtinguish() { - return false; - } - - public void onDestroyedByFire(World world, BlockPos pos, State state) { - } + public State getStateFromMeta(int meta) { + return this.getState(); + } + + public int getMetaFromState(State state) { + if(state != null && !state.getPropertyNames().isEmpty()) { + throw new IllegalArgumentException("Don\'t know how to convert " + state + " back into data..."); + } + else { + return 0; + } + } + + public State getActualState(State state, IWorldAccess worldIn, BlockPos pos) { + return state; + } + + public boolean isBlockNormalCube() { + return this.material.blocksMovement() && this.isFullCube(); + } + + public boolean isNormalCube() { + return this.material.isOpaque() && this.isFullCube() && !this.canProvidePower(); + } + + public boolean isVisuallyOpaque() { + return this.material.blocksMovement() && this.isFullCube(); + } + + public boolean isFullCube() { + return true; + } + + public boolean isPassable(IBlockAccess worldIn, BlockPos pos) { + return !this.material.blocksMovement(); + } + + public int getRenderType() { + return 3; + } + + public boolean isXrayVisible() { + return false; + } + + public boolean isReplaceable(World worldIn, BlockPos pos) { + return false; + } + + public float getBlockHardness(World worldIn, BlockPos pos) { + return this.blockHardness; + } + + public final float getRawHardness() { + return this.blockHardness; + } + + public final float getRawResistance() { + return this.blockResistance; + } + + public boolean getTickRandomly() { + return this.ticked; + } + + public boolean hasTileEntity() { + return this.hasTile; + } + + protected final void setBlockBounds(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) { + this.minX = (double)minX; + this.minY = (double)minY; + this.minZ = (double)minZ; + this.maxX = (double)maxX; + this.maxY = (double)maxY; + this.maxZ = (double)maxZ; + } + + public int getMixedBrightnessForBlock(IWorldAccess worldIn, BlockPos pos) { + Block block = worldIn.getState(pos).getBlock(); + int i = worldIn.getCombinedLight(pos, block.getLightValue()); + + if(i == 0 && block instanceof BlockSlab) { + pos = pos.down(); + block = worldIn.getState(pos).getBlock(); + return worldIn.getCombinedLight(pos, block.getLightValue()); + } + else { + return i; + } + } + + public boolean shouldSideBeRendered(IWorldAccess worldIn, BlockPos pos, Facing side) { + return side == Facing.DOWN && this.minY > 0.0D ? true + : (side == Facing.UP && this.maxY < 1.0D ? true + : (side == Facing.NORTH && this.minZ > 0.0D ? true + : (side == Facing.SOUTH && this.maxZ < 1.0D ? true + : (side == Facing.WEST && this.minX > 0.0D ? true + : (side == Facing.EAST && this.maxX < 1.0D ? true + : !worldIn.getState(pos).getBlock().isOpaqueCube()))))); + } + + public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, Facing side) { + return worldIn.getState(pos).getBlock().getMaterial().isSolid(); + } + + public BoundingBox getSelectedBoundingBox(World worldIn, BlockPos pos) { + return new BoundingBox((double)pos.getX() + this.minX, (double)pos.getY() + this.minY, (double)pos.getZ() + this.minZ, + (double)pos.getX() + this.maxX, (double)pos.getY() + this.maxY, (double)pos.getZ() + this.maxZ); + } + + public void addCollisionBoxesToList(World worldIn, BlockPos pos, State state, BoundingBox mask, List list, Entity collidingEntity) { + BoundingBox axisalignedbb = this.getCollisionBoundingBox(worldIn, pos, state); + + if(axisalignedbb != null && mask.intersectsWith(axisalignedbb)) { + list.add(axisalignedbb); + } + } + + public BoundingBox getCollisionBoundingBox(World worldIn, BlockPos pos, State state) { + return new BoundingBox((double)pos.getX() + this.minX, (double)pos.getY() + this.minY, (double)pos.getZ() + this.minZ, + (double)pos.getX() + this.maxX, (double)pos.getY() + this.maxY, (double)pos.getZ() + this.maxZ); + } + + public boolean isOpaqueCube() { + return true; + } + + public boolean canCollideCheck(State state, boolean liquid) { + return this.isCollidable(); + } + + public boolean isCollidable() { + return true; + } + + public void randomTick(AWorldServer worldIn, BlockPos pos, State state, Random random) { + this.updateTick(worldIn, pos, state, random); + if(this.radiation > 0.0f && /* worldIn.getTime() % 5L == 0L && */ random.chance(Config.randomTick / 3)) + this.affectEntities(worldIn, pos, state, this.radiation * 8.0f * 0.25f); + } + + private void affectEntities(AWorldServer worldIn, BlockPos pos, State state, float rad) { + float r = ExtMath.clampf(rad * 2.0f, 0.0f, 25.0f); + BoundingBox box = this.getCollisionBoundingBox(worldIn, pos, state); + if(box == null) + box = new BoundingBox(pos, pos.add(1, 1, 1)); + for(EntityLiving entity : worldIn.getEntitiesWithinAABB(EntityLiving.class, box.expand(r, r, r))) { + float effect = rad * 2.0f * (r - ExtMath.sqrtf((float)entity.getDistanceSq(pos))) / r; + if(effect > 0.0f) + entity.addRadiation(effect); + } + } + + public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) { + } + + public void randomDisplayTick(AWorldClient worldIn, BlockPos pos, State state, Random rand) { + } + + public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, State state) { + } + + public void onNeighborBlockChange(World worldIn, BlockPos pos, State state, Block neighborBlock) { + } + + public int tickRate(World worldIn, BlockPos pos) { + return 10; + } + + public void onBlockAdded(AWorldServer world, BlockPos pos, State state) { + } + + public void onBlockRemoved(AWorldServer world, BlockPos pos, State state) { + } + + public int quantityDropped(Random random) { + return 1; + } + + public Item getItemDropped(State state, Random rand, int fortune) { + return ItemRegistry.getItemFromBlock(this); + } + + public float getPlayerRelativeBlockHardness(EntityNPC playerIn, World worldIn, BlockPos pos) { + float f = this.getBlockHardness(worldIn, pos); + return f < 0.0F ? 0.0F + : (!playerIn.canHarvestBlock(this) ? playerIn.getToolDigEfficiency(this) / f / 100.0F + : playerIn.getToolDigEfficiency(this) / f / 30.0F); + } + + public final void dropBlockAsItem(World worldIn, BlockPos pos, State state, int forture) { + this.dropBlockAsItemWithChance(worldIn, pos, state, 1.0F, forture); + } + + public void dropBlockAsItemWithChance(World worldIn, BlockPos pos, State state, float chance, int fortune) { + if(!worldIn.client) { + int i = this.quantityDroppedWithBonus(fortune, worldIn.rand); + + for(int j = 0; j < i; ++j) { + if(worldIn.rand.floatv() <= chance) { + Item item = this.getItemDropped(state, worldIn.rand, fortune); + + if(item != null) { + spawnAsEntity(worldIn, pos, new ItemStack(item, 1, this.damageDropped(state))); + } + } + } + } + } + + public static void spawnAsEntity(World worldIn, BlockPos pos, ItemStack stack) { + if(!worldIn.client && Config.blockDrop) { + float f = 0.5F; + double d0 = (double)(worldIn.rand.floatv() * f) + (double)(1.0F - f) * 0.5D; + double d1 = (double)(worldIn.rand.floatv() * f) + (double)(1.0F - f) * 0.5D; + double d2 = (double)(worldIn.rand.floatv() * f) + (double)(1.0F - f) * 0.5D; + EntityItem entityitem = new EntityItem(worldIn, (double)pos.getX() + d0, (double)pos.getY() + d1, (double)pos.getZ() + d2, stack); + entityitem.setDefaultPickupDelay(); + worldIn.spawnEntityInWorld(entityitem); + } + } + + protected void dropXpOnBlockBreak(World worldIn, BlockPos pos, int amount) { + if(!worldIn.client && Config.blockXP) { + while(amount > 0) { + int i = EntityXp.getXPSplit(amount); + amount -= i; + worldIn.spawnEntityInWorld(new EntityXp(worldIn, (double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, i)); + } + } + } + + public int damageDropped(State state) { + return 0; + } + + public float getExplosionResistance(Entity exploder) { + return this.blockResistance / 5.0F; + } + + public HitPosition collisionRayTrace(World worldIn, BlockPos pos, Vec3 start, Vec3 end) { + this.setBlockBoundsBasedOnState(worldIn, pos); + start = start.addVector((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ())); + end = end.addVector((double)(-pos.getX()), (double)(-pos.getY()), (double)(-pos.getZ())); + Vec3 vec3 = start.getIntermediateWithXValue(end, this.minX); + Vec3 vec31 = start.getIntermediateWithXValue(end, this.maxX); + Vec3 vec32 = start.getIntermediateWithYValue(end, this.minY); + Vec3 vec33 = start.getIntermediateWithYValue(end, this.maxY); + Vec3 vec34 = start.getIntermediateWithZValue(end, this.minZ); + Vec3 vec35 = start.getIntermediateWithZValue(end, this.maxZ); + + if(!this.isVecInsideYZBounds(vec3)) { + vec3 = null; + } + + if(!this.isVecInsideYZBounds(vec31)) { + vec31 = null; + } + + if(!this.isVecInsideXZBounds(vec32)) { + vec32 = null; + } + + if(!this.isVecInsideXZBounds(vec33)) { + vec33 = null; + } + + if(!this.isVecInsideXYBounds(vec34)) { + vec34 = null; + } + + if(!this.isVecInsideXYBounds(vec35)) { + vec35 = null; + } + + Vec3 vec36 = null; + + if(vec3 != null && (vec36 == null || start.squareDistanceTo(vec3) < start.squareDistanceTo(vec36))) { + vec36 = vec3; + } + + if(vec31 != null && (vec36 == null || start.squareDistanceTo(vec31) < start.squareDistanceTo(vec36))) { + vec36 = vec31; + } + + if(vec32 != null && (vec36 == null || start.squareDistanceTo(vec32) < start.squareDistanceTo(vec36))) { + vec36 = vec32; + } + + if(vec33 != null && (vec36 == null || start.squareDistanceTo(vec33) < start.squareDistanceTo(vec36))) { + vec36 = vec33; + } + + if(vec34 != null && (vec36 == null || start.squareDistanceTo(vec34) < start.squareDistanceTo(vec36))) { + vec36 = vec34; + } + + if(vec35 != null && (vec36 == null || start.squareDistanceTo(vec35) < start.squareDistanceTo(vec36))) { + vec36 = vec35; + } + + if(vec36 == null) { + return null; + } + else { + Facing enumfacing = null; + + if(vec36 == vec3) { + enumfacing = Facing.WEST; + } + + if(vec36 == vec31) { + enumfacing = Facing.EAST; + } + + if(vec36 == vec32) { + enumfacing = Facing.DOWN; + } + + if(vec36 == vec33) { + enumfacing = Facing.UP; + } + + if(vec36 == vec34) { + enumfacing = Facing.NORTH; + } + + if(vec36 == vec35) { + enumfacing = Facing.SOUTH; + } + + return new HitPosition(ObjectType.BLOCK, vec36.addVector((double)pos.getX(), (double)pos.getY(), (double)pos.getZ()), enumfacing, pos); + } + } + + private boolean isVecInsideYZBounds(Vec3 point) { + return point == null ? false + : point.yCoord >= this.minY && point.yCoord <= this.maxY && point.zCoord >= this.minZ && point.zCoord <= this.maxZ; + } + + private boolean isVecInsideXZBounds(Vec3 point) { + return point == null ? false + : point.xCoord >= this.minX && point.xCoord <= this.maxX && point.zCoord >= this.minZ && point.zCoord <= this.maxZ; + } + + private boolean isVecInsideXYBounds(Vec3 point) { + return point == null ? false + : point.xCoord >= this.minX && point.xCoord <= this.maxX && point.yCoord >= this.minY && point.yCoord <= this.maxY; + } + + public void onBlockDestroyedByExplosion(World worldIn, BlockPos pos, Explosion explosionIn, State prevState) { + } + + public BlockLayer getBlockLayer() { + return BlockLayer.SOLID; + } + + public boolean canReplace(World worldIn, BlockPos pos, Facing side, ItemStack stack) { + return this.canPlaceBlockOnSide(worldIn, pos, side); + } + + public boolean canPlaceBlockOnSide(World worldIn, BlockPos pos, Facing side) { + return this.canPlaceBlockAt(worldIn, pos); + } + + public boolean canPlaceBlockAt(World worldIn, BlockPos pos) { + return worldIn.getState(pos).getBlock().material.isReplaceable(); + } + + public boolean onBlockActivated(World worldIn, BlockPos pos, State state, EntityNPC playerIn, Facing side, float hitX, float hitY, float hitZ) { + return false; + } + + public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) { + } + + public State onBlockPlaced(World worldIn, BlockPos pos, Facing facing, float hitX, float hitY, float hitZ, int meta, EntityLiving placer) { + return this.getStateFromMeta(meta); + } + + public void onBlockClicked(World worldIn, BlockPos pos, EntityNPC playerIn) { + } + + public Vec3 modifyAcceleration(World worldIn, BlockPos pos, Entity entityIn, Vec3 motion) { + return motion; + } + + public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos) { + } + + public final double getBlockBoundsMinX() { + return this.minX; + } + + public final double getBlockBoundsMaxX() { + return this.maxX; + } + + public final double getBlockBoundsMinY() { + return this.minY; + } + + public final double getBlockBoundsMaxY() { + return this.maxY; + } + + public final double getBlockBoundsMinZ() { + return this.minZ; + } + + public final double getBlockBoundsMaxZ() { + return this.maxZ; + } + + public int getRenderColor(State state) { + return 16777215; + } + + public int colorMultiplier(IWorldAccess worldIn, BlockPos pos, int renderPass) { + return 16777215; + } + + public final int colorMultiplier(IWorldAccess worldIn, BlockPos pos) { + return this.colorMultiplier(worldIn, pos, 0); + } + + public int getWeakPower(IWorldAccess worldIn, BlockPos pos, State state, Facing side) { + return 0; + } + + public boolean canProvidePower() { + return false; + } + + public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, State state, Entity entityIn) { + } + + public int getStrongPower(IWorldAccess worldIn, BlockPos pos, State state, Facing side) { + return 0; + } + + public void setBlockBoundsForItemRender() { + } + + public void harvestBlock(World worldIn, EntityNPC player, BlockPos pos, State state, TileEntity te) { + if(this.canSilkHarvest() && EnchantmentHelper.getSilkTouchModifier(player)) { + ItemStack itemstack = this.createStackedBlock(state); + + if(itemstack != null) { + spawnAsEntity(worldIn, pos, itemstack); + } + } + else { + int i = EnchantmentHelper.getFortuneModifier(player); + this.dropBlockAsItem(worldIn, pos, state, i); + } + } + + public boolean canSilkHarvest() { + return this.isFullCube() && !this.hasTile; + } + + public ItemStack createStackedBlock(State state) { + int i = 0; + Item item = ItemRegistry.getItemFromBlock(this); + + if(item != null && item.getHasSubtypes()) { + i = this.getMetaFromState(state); + } + + return new ItemStack(item, 1, i); + } + + public int quantityDroppedWithBonus(int fortune, Random random) { + return this.quantityDropped(random); + } + + public void onBlockPlacedBy(World worldIn, BlockPos pos, State state, EntityLiving placer, ItemStack stack) { + } + + public boolean canSpawnInBlock() { + return !this.material.isSolid() && !this.material.isLiquid(); + } + + public final String getDisplay() { + return this.display; + } + + public boolean onBlockEventReceived(World worldIn, BlockPos pos, State state, int eventID, int eventParam) { + return false; + } + + public int getMobilityFlag() { + return this.material.getMaterialMobility(); + } + + public float getAmbientOcclusionLightValue() { + return this.isBlockNormalCube() ? 0.2F : 1.0F; + } + + public void onFallenUpon(World worldIn, BlockPos pos, Entity entityIn, float fallDistance) { + entityIn.fall(fallDistance, 1.0F); + } + + public void onLanded(World worldIn, Entity entityIn) { + entityIn.motionY = 0.0D; + } + + public Item getItem(World worldIn, BlockPos pos) { + return ItemRegistry.getItemFromBlock(this); + } + + public int getDamageValue(World worldIn, BlockPos pos) { + return this.damageDropped(worldIn.getState(pos)); + } + + public void getSubBlocks(Item itemIn, CheatTab tab, List list) { + list.add(new ItemStack(itemIn, 1, 0)); + } + + public CheatTab getTab() { + return this.tab; + } + + public void onBlockHarvested(World worldIn, BlockPos pos, State state, EntityNPC player) { + } + + public void fillWithRain(World worldIn, BlockPos pos) { + } + + public boolean isPickStrict() { + return false; + } + + public boolean requiresUpdates() { + return true; + } + + public boolean canDropFromExplosion(Explosion explosionIn) { + return true; + } + + public boolean isAssociatedBlock(Block other) { + return this == other; + } + + public static boolean isEqualTo(Block blockIn, Block other) { + return blockIn != null && other != null ? (blockIn == other ? true : blockIn.isAssociatedBlock(other)) : false; + } + + public boolean hasComparatorInputOverride() { + return false; + } + + public int getComparatorInputOverride(World worldIn, BlockPos pos) { + return 0; + } + + public State getStateForEntityRender(State state) { + return state; + } + + protected IProperty[] getProperties() { + return new IProperty[0]; + } + + protected final void setDefaultState(State state) { + this.defaultState = state; + } + + public final State getState() { + return this.defaultState; + } + + public int getMiningLevel() { + return this.miningLevel; + } + + public boolean canAxeHarvest() { + return this.axeHarvest; + } + + public boolean canShovelHarvest() { + return this.shovelHarvest; + } + + public int getShearsEfficiency() { + return this.shearsEfficiency; + } + + public boolean isMagnetic() { + return false; + } + + public Transforms getTransform() { + return Transforms.BLOCK; + } + + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(name).add().all(); + } + + public IProperty[] getIgnoredProperties() { + return null; + } + + public void getAnimatedTextures(Map map) { + } + + public boolean canKeepFire() { + return false; + } + + public boolean canExtinguish() { + return false; + } + + public void onDestroyedByFire(World world, BlockPos pos, State state) { + } } diff --git a/common/src/common/block/BlockAir.java b/common/src/common/block/BlockAir.java index e0a27ff..a5177a8 100755 --- a/common/src/common/block/BlockAir.java +++ b/common/src/common/block/BlockAir.java @@ -1,56 +1,36 @@ package common.block; -import common.material.Material; +import common.material.MaterialTransparent; import common.util.BlockPos; import common.util.BoundingBox; import common.world.State; import common.world.World; -public class BlockAir extends Block -{ - public BlockAir() - { - super(Material.air); - } +public final class BlockAir extends Block { + public BlockAir() { + super(new MaterialTransparent()); + } - /** - * The type of render function called. 3 for standard block models, 2 for TESR's, 1 for liquids, -1 is no render - */ - public int getRenderType() - { - return -1; - } + public int getRenderType() { + return -1; + } - public BoundingBox getCollisionBoundingBox(World worldIn, BlockPos pos, State state) - { - return null; - } + public BoundingBox getCollisionBoundingBox(World world, BlockPos pos, State state) { + return null; + } - /** - * Used to determine ambient occlusion and culling when rebuilding chunks for render - */ - public boolean isOpaqueCube() - { - return false; - } + public boolean isOpaqueCube() { + return false; + } - public boolean canCollideCheck(State state, boolean hitIfLiquid) - { - return false; - } + public boolean canCollideCheck(State state, boolean liquid) { + return false; + } - /** - * Spawns this Block's drops into the World as EntityItems. - */ - public void dropBlockAsItemWithChance(World worldIn, BlockPos pos, State state, float chance, int fortune) - { - } + public void dropBlockAsItemWithChance(World world, BlockPos pos, State state, float chance, int fortune) { + } - /** - * Whether this Block can be replaced directly by other blocks (true for e.g. tall grass) - */ - public boolean isReplaceable(World worldIn, BlockPos pos) - { - return true; - } + public boolean isReplaceable(World world, BlockPos pos) { + return true; + } } diff --git a/common/src/common/block/BlockBreakable.java b/common/src/common/block/BlockBreakable.java deleted file mode 100755 index 23a1c5d..0000000 --- a/common/src/common/block/BlockBreakable.java +++ /dev/null @@ -1,48 +0,0 @@ -package common.block; - -import common.init.Blocks; -import common.material.Material; -import common.util.BlockPos; -import common.util.Facing; -import common.world.IWorldAccess; -import common.world.State; - -public class BlockBreakable extends Block -{ - private boolean ignoreSimilarity; - - public BlockBreakable(Material p_i46393_1_, boolean p_i46393_2_) - { - super(p_i46393_1_); - this.ignoreSimilarity = p_i46393_2_; - } - - /** - * Used to determine ambient occlusion and culling when rebuilding chunks for render - */ - public boolean isOpaqueCube() - { - return false; - } - - public boolean shouldSideBeRendered(IWorldAccess worldIn, BlockPos pos, Facing side) - { - State iblockstate = worldIn.getState(pos); - Block block = iblockstate.getBlock(); - - if (this == Blocks.glass || this == Blocks.stained_glass) - { - if (worldIn.getState(pos.offset(side.getOpposite())) != iblockstate) - { - return true; - } - - if (block == this) - { - return false; - } - } - - return !this.ignoreSimilarity && block == this ? false : super.shouldSideBeRendered(worldIn, pos, side); - } -} diff --git a/common/src/common/block/BlockColored.java b/common/src/common/block/BlockColored.java index 8516cbc..ae9af9d 100755 --- a/common/src/common/block/BlockColored.java +++ b/common/src/common/block/BlockColored.java @@ -13,67 +13,38 @@ import common.properties.IProperty; import common.properties.PropertyEnum; import common.world.State; -public class BlockColored extends Block -{ - public static final PropertyEnum COLOR = PropertyEnum.create("color", DyeColor.class); +public class BlockColored extends Block { + public static final PropertyEnum COLOR = PropertyEnum.create("color", DyeColor.class); - public BlockColored(Material materialIn) - { - super(materialIn); - this.setDefaultState(this.getBaseState().withProperty(COLOR, DyeColor.WHITE)); - this.setTab(CheatTab.tabBlocks); - } + public BlockColored(Material material) { + super(material); + this.setDefaultState(this.getBaseState().withProperty(COLOR, DyeColor.WHITE)); + this.setTab(CheatTab.tabBlocks); + } - /** - * Gets the metadata of the item this Block can drop. This method is called when the block gets destroyed. It - * returns the metadata of the dropped item based on the old metadata of the block. - */ - public int damageDropped(State state) - { - return ((DyeColor)state.getValue(COLOR)).getMetadata(); - } + public int damageDropped(State state) { + return state.getValue(COLOR).getMetadata(); + } - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - public void getSubBlocks(Item itemIn, CheatTab tab, List list) - { - for (DyeColor enumdyecolor : DyeColor.values()) - { - list.add(new ItemStack(itemIn, 1, enumdyecolor.getMetadata())); - } - } + public void getSubBlocks(Item item, CheatTab tab, List list) { + for(DyeColor color : DyeColor.values()) { + list.add(new ItemStack(item, 1, color.getMetadata())); + } + } -// /** -// * Get the MapColor for this Block and the given BlockState -// */ -// public MapColor getMapColor(IBlockState state) -// { -// return ((EnumDyeColor)state.getValue(COLOR)).getMapColor(); -// } + public State getStateFromMeta(int meta) { + return this.getState().withProperty(COLOR, DyeColor.byMetadata(meta)); + } - /** - * Convert the given metadata into a BlockState for this Block - */ - public State getStateFromMeta(int meta) - { - return this.getState().withProperty(COLOR, DyeColor.byMetadata(meta)); - } + public int getMetaFromState(State state) { + return state.getValue(COLOR).getMetadata(); + } - /** - * Convert the BlockState into the correct metadata value - */ - public int getMetaFromState(State state) - { - return ((DyeColor)state.getValue(COLOR)).getMetadata(); - } + protected IProperty[] getProperties() { + return new IProperty[] {COLOR}; + } - protected IProperty[] getProperties() - { - return new IProperty[] {COLOR}; - } - - public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(state.getValue(COLOR).getName() + "_" + name).add().all(); - } + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(COLOR).getName() + "_" + name).add().all(); + } } diff --git a/common/src/common/block/BlockContainer.java b/common/src/common/block/BlockContainer.java index 78a927b..8c1a06f 100755 --- a/common/src/common/block/BlockContainer.java +++ b/common/src/common/block/BlockContainer.java @@ -8,45 +8,33 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public abstract class BlockContainer extends Block implements ITileEntityProvider -{ - public BlockContainer(Material p_i46402_1_) - { - super(p_i46402_1_); - this.hasTile = true; - } +public abstract class BlockContainer extends Block implements ITileEntityProvider { + public BlockContainer(Material material) { + super(material); + this.hasTile = true; + } - protected boolean isInvalidNeighbor(World p_181086_1_, BlockPos p_181086_2_, Facing p_181086_3_) - { - return p_181086_1_.getState(p_181086_2_.offset(p_181086_3_)).getBlock().getMaterial() == Material.cactus; - } + protected boolean isInvalidNeighbor(World world, BlockPos pos, Facing face) { + return world.getState(pos.offset(face)).getBlock().getMaterial() == Material.cactus; + } - protected boolean hasInvalidNeighbor(World p_181087_1_, BlockPos p_181087_2_) - { - return this.isInvalidNeighbor(p_181087_1_, p_181087_2_, Facing.NORTH) || this.isInvalidNeighbor(p_181087_1_, p_181087_2_, Facing.SOUTH) || this.isInvalidNeighbor(p_181087_1_, p_181087_2_, Facing.WEST) || this.isInvalidNeighbor(p_181087_1_, p_181087_2_, Facing.EAST); - } + protected boolean hasInvalidNeighbor(World world, BlockPos pos) { + return this.isInvalidNeighbor(world, pos, Facing.NORTH) || this.isInvalidNeighbor(world, pos, Facing.SOUTH) + || this.isInvalidNeighbor(world, pos, Facing.WEST) || this.isInvalidNeighbor(world, pos, Facing.EAST); + } - /** - * The type of render function called. 3 for standard block models, 2 for TESR's, 1 for liquids, -1 is no render - */ - public int getRenderType() - { - return -1; - } + public int getRenderType() { + return -1; + } - public void onBlockRemoved(AWorldServer worldIn, BlockPos pos, State state) - { - super.onBlockRemoved(worldIn, pos, state); - worldIn.removeTileEntity(pos); - } + public void onBlockRemoved(AWorldServer world, BlockPos pos, State state) { + super.onBlockRemoved(world, pos, state); + world.removeTileEntity(pos); + } - /** - * Called on both Client and Server when World#addBlockEvent is called - */ - public boolean onBlockEventReceived(World worldIn, BlockPos pos, State state, int eventID, int eventParam) - { - super.onBlockEventReceived(worldIn, pos, state, eventID, eventParam); - TileEntity tileentity = worldIn.getTileEntity(pos); - return tileentity == null ? false : tileentity.receiveClientEvent(eventID, eventParam); - } + public boolean onBlockEventReceived(World world, BlockPos pos, State state, int id, int param) { + super.onBlockEventReceived(world, pos, state, id, param); + TileEntity tile = world.getTileEntity(pos); + return tile == null ? false : tile.receiveClientEvent(id, param); + } } diff --git a/common/src/common/block/BlockDirectional.java b/common/src/common/block/BlockDirectional.java index b80351a..bd75e9c 100755 --- a/common/src/common/block/BlockDirectional.java +++ b/common/src/common/block/BlockDirectional.java @@ -4,12 +4,10 @@ import common.material.Material; import common.properties.PropertyDirection; import common.util.Facing; -public abstract class BlockDirectional extends Block -{ - public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); +public abstract class BlockDirectional extends Block { + public static final PropertyDirection FACING = PropertyDirection.create("facing", Facing.Plane.HORIZONTAL); - public BlockDirectional(Material materialIn) - { - super(materialIn); - } + public BlockDirectional(Material material) { + super(material); + } } diff --git a/common/src/common/block/BlockFalling.java b/common/src/common/block/BlockFalling.java index e483126..41ebf28 100755 --- a/common/src/common/block/BlockFalling.java +++ b/common/src/common/block/BlockFalling.java @@ -1,9 +1,9 @@ package common.block; +import common.block.natural.BlockFire; import common.entity.item.EntityFalling; import common.init.Blocks; import common.init.Config; -import common.item.CheatTab; import common.material.Material; import common.rng.Random; import common.util.BlockPos; @@ -11,93 +11,63 @@ import common.world.State; import common.world.World; import common.world.AWorldServer; -public class BlockFalling extends Block -{ - public static boolean fallInstantly; +public class BlockFalling extends Block { + public static boolean fallInstantly; - public BlockFalling() - { - super(Material.sand); - this.setTab(CheatTab.tabNature); - } + public static boolean canFallInto(World world, BlockPos pos) { + Block block = world.getState(pos).getBlock(); + return block instanceof BlockFire || block == Blocks.air || block.material.isLiquid(); + } - public BlockFalling(Material materialIn) - { - super(materialIn); - } + public BlockFalling(Material material) { + super(material); + } - public void onBlockAdded(AWorldServer worldIn, BlockPos pos, State state) - { - worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn, pos)); - } + public void onBlockAdded(AWorldServer world, BlockPos pos, State state) { + world.scheduleUpdate(pos, this, this.tickRate(world, pos)); + } - /** - * Called when a neighboring block changes. - */ - public void onNeighborBlockChange(World worldIn, BlockPos pos, State state, Block neighborBlock) - { - worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn, pos)); - } + public void onNeighborBlockChange(World world, BlockPos pos, State state, Block neighbor) { + world.scheduleUpdate(pos, this, this.tickRate(world, pos)); + } - public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) - { - if(/* !worldIn.client && */ Config.blockGravity) - this.checkFallable(worldIn, pos); - } + public void updateTick(AWorldServer world, BlockPos pos, State state, Random rand) { + if(Config.blockGravity) + this.checkFallable(world, pos); + } - private void checkFallable(World worldIn, BlockPos pos) - { - if (canFallInto(worldIn, pos.down()) && pos.getY() >= 0) - { - int i = 32; + private void checkFallable(World world, BlockPos pos) { + if(canFallInto(world, pos.down()) && pos.getY() >= 0) { + int range = 32; + if(!fallInstantly && world.isAreaLoaded(pos.add(-range, -range, -range), pos.add(range, range, range))) { + if(!world.client) { + EntityFalling entity = new EntityFalling(world, (double)pos.getX() + 0.5D, (double)pos.getY(), + (double)pos.getZ() + 0.5D, world.getState(pos)); + this.onStartFalling(entity); + world.spawnEntityInWorld(entity); + } + } + else { + world.setBlockToAir(pos); + BlockPos loc; + int limit = 512; + for(loc = pos.down(); canFallInto(world, loc) && loc.getY() > -World.MAX_SIZE_Y; loc = loc.down()) { + if(--limit <= 0) + return; + } + if(loc.getY() > -World.MAX_SIZE_Y) + world.setState(loc.up(), this.getState()); + } + } + } - if (!fallInstantly && worldIn.isAreaLoaded(pos.add(-i, -i, -i), pos.add(i, i, i))) - { - if (!worldIn.client) - { - EntityFalling entityfallingblock = new EntityFalling(worldIn, (double)pos.getX() + 0.5D, (double)pos.getY(), (double)pos.getZ() + 0.5D, worldIn.getState(pos)); - this.onStartFalling(entityfallingblock); - worldIn.spawnEntityInWorld(entityfallingblock); - } - } - else - { - worldIn.setBlockToAir(pos); - BlockPos blockpos; + public int tickRate(World world, BlockPos pos) { + return 2; + } - for (blockpos = pos.down(); canFallInto(worldIn, blockpos) && blockpos.getY() > 0; blockpos = blockpos.down()) - { - ; - } + protected void onStartFalling(EntityFalling entity) { + } - if (blockpos.getY() > 0) - { - worldIn.setState(blockpos.up(), this.getState()); - } - } - } - } - - protected void onStartFalling(EntityFalling fallingEntity) - { - } - - /** - * How many world ticks before ticking - */ - public int tickRate(World worldIn, BlockPos pos) - { - return 2; - } - - public static boolean canFallInto(World worldIn, BlockPos pos) - { - Block block = worldIn.getState(pos).getBlock(); - Material material = block.material; - return block == Blocks.fire || material == Material.air || material.isLiquid(); - } - - public void onEndFalling(World worldIn, BlockPos pos) - { - } + public void onEndFalling(World world, BlockPos pos) { + } } diff --git a/common/src/common/block/BlockGlass.java b/common/src/common/block/BlockGlass.java deleted file mode 100755 index adc1e63..0000000 --- a/common/src/common/block/BlockGlass.java +++ /dev/null @@ -1,38 +0,0 @@ -package common.block; - -import common.item.CheatTab; -import common.material.Material; -import common.model.BlockLayer; -import common.rng.Random; - -public class BlockGlass extends BlockBreakable -{ - public BlockGlass(Material materialIn, boolean ignoreSimilarity) - { - super(materialIn, ignoreSimilarity); - this.setTab(CheatTab.tabBlocks); - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - public int quantityDropped(Random random) - { - return 0; - } - - public BlockLayer getBlockLayer() - { - return BlockLayer.CUTOUT; - } - - public boolean isFullCube() - { - return false; - } - - public boolean canSilkHarvest() - { - return true; - } -} diff --git a/common/src/common/block/BlockIce.java b/common/src/common/block/BlockIce.java deleted file mode 100755 index a1e5981..0000000 --- a/common/src/common/block/BlockIce.java +++ /dev/null @@ -1,94 +0,0 @@ -package common.block; - -import common.enchantment.EnchantmentHelper; -import common.entity.npc.EntityNPC; -import common.init.Blocks; -import common.init.Config; -import common.item.CheatTab; -import common.item.ItemStack; -import common.material.Material; -import common.model.BlockLayer; -import common.rng.Random; -import common.tileentity.TileEntity; -import common.util.BlockPos; -import common.world.LightType; -import common.world.State; -import common.world.World; -import common.world.AWorldServer; - -public class BlockIce extends BlockBreakable -{ - public BlockIce() - { - super(Material.ice, false); - this.slipperiness = 0.98F; - this.setTickRandomly(); - this.setTab(CheatTab.tabNature); - } - - public BlockLayer getBlockLayer() - { - return BlockLayer.TRANSLUCENT; - } - - public void harvestBlock(World worldIn, EntityNPC player, BlockPos pos, State state, TileEntity te) - { -// player.triggerAchievement(StatRegistry.mineBlockStatArray[BlockRegistry.getIdFromBlock(this)]); - - if (this.canSilkHarvest() && EnchantmentHelper.getSilkTouchModifier(player)) - { - ItemStack itemstack = this.createStackedBlock(state); - - if (itemstack != null) - { - spawnAsEntity(worldIn, pos, itemstack); - } - } - else - { - if (worldIn.doesWaterVaporize(pos)) - { - worldIn.setBlockToAir(pos); - return; - } - - int i = EnchantmentHelper.getFortuneModifier(player); - this.dropBlockAsItem(worldIn, pos, state, i); - Material material = worldIn.getState(pos.down()).getBlock().getMaterial(); - - if (material.blocksMovement() || material.isLiquid()) - { - worldIn.setState(pos, Blocks.flowing_water.getState()); - } - } - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - public int quantityDropped(Random random) - { - return 0; - } - - public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) - { - if (Config.iceMelt && ((worldIn.getLightFor(LightType.BLOCK, pos) > 11 - this.getLightOpacity()) || !worldIn.canFreezeAt(pos))) - { - if (worldIn.doesWaterVaporize(pos)) - { - worldIn.setBlockToAir(pos); - } - else - { - this.dropBlockAsItem(worldIn, pos, worldIn.getState(pos), 0); - worldIn.setState(pos, Blocks.water.getState()); - } - } - } - - public int getMobilityFlag() - { - return 0; - } -} diff --git a/common/src/common/block/BlockRotatedPillar.java b/common/src/common/block/BlockRotatedPillar.java index 232db9c..3c72302 100755 --- a/common/src/common/block/BlockRotatedPillar.java +++ b/common/src/common/block/BlockRotatedPillar.java @@ -8,16 +8,14 @@ import common.properties.PropertyEnum; import common.util.Facing; import common.world.State; -public abstract class BlockRotatedPillar extends Block -{ - public static final PropertyEnum AXIS = PropertyEnum.create("axis", Facing.Axis.class); +public abstract class BlockRotatedPillar extends Block { + public static final PropertyEnum AXIS = PropertyEnum.create("axis", Facing.Axis.class); - public BlockRotatedPillar(Material materialIn) - { - super(materialIn); - } + public BlockRotatedPillar(Material material) { + super(material); + } - public Model getModel(ModelProvider provider, String name, State state) { + public Model getModel(ModelProvider provider, String name, State state) { switch(state.getValue(AXIS)) { case X: return provider.getModel(name + "_side").add().d().rot(180).u() @@ -31,5 +29,5 @@ public abstract class BlockRotatedPillar extends Block .n(name + "_top").rot(180).s(name + "_top").w().rot(270) .e().rot(90); } - } + } } diff --git a/common/src/common/block/BlockSlime.java b/common/src/common/block/BlockSlime.java deleted file mode 100755 index 64ba03a..0000000 --- a/common/src/common/block/BlockSlime.java +++ /dev/null @@ -1,93 +0,0 @@ -package common.block; - -import common.entity.Entity; -import common.item.CheatTab; -import common.material.Material; -import common.model.BlockLayer; -import common.model.Model; -import common.model.ModelProvider; -import common.util.BlockPos; -import common.world.State; -import common.world.World; - -public class BlockSlime extends BlockBreakable -{ - private static final Model slime = ModelProvider.getModelProvider().getModel("slime") - .add(0, 0, 0, 16, 16, 16) - .d().uv(0, 0, 16, 16).noCull() - .u().uv(0, 0, 16, 16).noCull() - .n().uv(0, 0, 16, 16).noCull() - .s().uv(0, 0, 16, 16).noCull() - .w().uv(0, 0, 16, 16).noCull() - .e().uv(0, 0, 16, 16).noCull() - .add(3, 3, 3, 13, 13, 13) - .d().uv(3, 3, 13, 13).noCull() - .u().uv(3, 3, 13, 13).noCull() - .n().uv(3, 3, 13, 13).noCull() - .s().uv(3, 3, 13, 13).noCull() - .w().uv(3, 3, 13, 13).noCull() - .e().uv(3, 3, 13, 13).noCull() - ; - - public BlockSlime() - { - super(Material.clay, false); - this.setTab(CheatTab.tabTech); - this.slipperiness = 0.8F; - } - - public BlockLayer getBlockLayer() - { - return BlockLayer.TRANSLUCENT; - } - - /** - * Block's chance to react to a living entity falling on it. - */ - public void onFallenUpon(World worldIn, BlockPos pos, Entity entityIn, float fallDistance) - { - if (entityIn.isSneaking()) - { - super.onFallenUpon(worldIn, pos, entityIn, fallDistance); - } - else - { - entityIn.fall(fallDistance, 0.0F); - } - } - - /** - * Called when an Entity lands on this Block. This method *must* update motionY because the entity will not do that - * on its own - */ - public void onLanded(World worldIn, Entity entityIn) - { - if (entityIn.isSneaking()) - { - super.onLanded(worldIn, entityIn); - } - else if (entityIn.motionY < 0.0D) - { - entityIn.motionY = -entityIn.motionY; - } - } - - /** - * Triggered whenever an entity collides with this block (enters into the block) - */ - public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) - { - if (Math.abs(entityIn.motionY) < 0.1D && !entityIn.isSneaking()) - { - double d0 = 0.4D + Math.abs(entityIn.motionY) * 0.2D; - entityIn.motionX *= d0; - entityIn.motionZ *= d0; - } - - super.onEntityCollidedWithBlock(worldIn, pos, entityIn); - } - - public Model getModel(ModelProvider provider, String name, State state) { - return slime; - } -} diff --git a/common/src/common/block/BlockSnowBlock.java b/common/src/common/block/BlockSnowBlock.java deleted file mode 100755 index 0e4a60e..0000000 --- a/common/src/common/block/BlockSnowBlock.java +++ /dev/null @@ -1,47 +0,0 @@ -package common.block; - -import common.init.Config; -import common.init.Items; -import common.item.CheatTab; -import common.item.Item; -import common.material.Material; -import common.rng.Random; -import common.util.BlockPos; -import common.world.LightType; -import common.world.State; -import common.world.AWorldServer; - -public class BlockSnowBlock extends Block -{ - public BlockSnowBlock() - { - super(Material.craftedSnow); - this.setTickRandomly(); - this.setTab(CheatTab.tabNature); - } - - /** - * Get the Item that this Block should drop when harvested. - */ - public Item getItemDropped(State state, Random rand, int fortune) - { - return Items.snowball; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - public int quantityDropped(Random random) - { - return 4; - } - - public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) - { - if (Config.snowFullMelt && worldIn.getLightFor(LightType.BLOCK, pos) > 11) - { - this.dropBlockAsItem(worldIn, pos, worldIn.getState(pos), 0); - worldIn.setBlockToAir(pos); - } - } -} diff --git a/common/src/common/block/BlockStainedGlass.java b/common/src/common/block/BlockStainedGlass.java deleted file mode 100755 index de0f6a2..0000000 --- a/common/src/common/block/BlockStainedGlass.java +++ /dev/null @@ -1,120 +0,0 @@ -package common.block; - -import java.util.List; - -import common.color.DyeColor; -import common.item.CheatTab; -import common.item.Item; -import common.item.ItemStack; -import common.material.Material; -import common.model.BlockLayer; -import common.model.Model; -import common.model.ModelProvider; -import common.properties.IProperty; -import common.properties.PropertyEnum; -import common.rng.Random; -import common.world.State; - -public class BlockStainedGlass extends BlockBreakable -{ - public static final PropertyEnum COLOR = PropertyEnum.create("color", DyeColor.class); - - public BlockStainedGlass(Material materialIn) - { - super(materialIn, false); - this.setDefaultState(this.getBaseState().withProperty(COLOR, DyeColor.WHITE)); - this.setTab(CheatTab.tabBlocks); - } - - /** - * Gets the metadata of the item this Block can drop. This method is called when the block gets destroyed. It - * returns the metadata of the dropped item based on the old metadata of the block. - */ - public int damageDropped(State state) - { - return ((DyeColor)state.getValue(COLOR)).getMetadata(); - } - - /** - * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks) - */ - public void getSubBlocks(Item itemIn, CheatTab tab, List list) - { - for (DyeColor enumdyecolor : DyeColor.values()) - { - list.add(new ItemStack(itemIn, 1, enumdyecolor.getMetadata())); - } - } - -// /** -// * Get the MapColor for this Block and the given BlockState -// */ -// public MapColor getMapColor(IBlockState state) -// { -// return ((EnumDyeColor)state.getValue(COLOR)).getMapColor(); -// } - - public BlockLayer getBlockLayer() - { - return BlockLayer.TRANSLUCENT; - } - - /** - * Returns the quantity of items to drop on block destruction. - */ - public int quantityDropped(Random random) - { - return 0; - } - - public boolean canSilkHarvest() - { - return true; - } - - public boolean isFullCube() - { - return false; - } - - /** - * Convert the given metadata into a BlockState for this Block - */ - public State getStateFromMeta(int meta) - { - return this.getState().withProperty(COLOR, DyeColor.byMetadata(meta)); - } - -// public void onBlockAdded(IWorldServer worldIn, BlockPos pos, State state) -// { -// if (!worldIn.client) -// { -// BlockBeacon.updateColorAsync(worldIn, pos); -// } -// } -// -// public void onBlockRemoved(IWorldServer worldIn, BlockPos pos, State state) -// { -// if (!worldIn.client) -// { -// BlockBeacon.updateColorAsync(worldIn, pos); -// } -// } - - /** - * Convert the BlockState into the correct metadata value - */ - public int getMetaFromState(State state) - { - return ((DyeColor)state.getValue(COLOR)).getMetadata(); - } - - protected IProperty[] getProperties() - { - return new IProperty[] {COLOR}; - } - - public Model getModel(ModelProvider provider, String name, State state) { - return provider.getModel(state.getValue(COLOR).getName() + "_glass").add().all(); - } -} diff --git a/common/src/common/block/BlockTranslucent.java b/common/src/common/block/BlockTranslucent.java new file mode 100755 index 0000000..d8466d4 --- /dev/null +++ b/common/src/common/block/BlockTranslucent.java @@ -0,0 +1,28 @@ +package common.block; + +import common.material.Material; +import common.model.BlockLayer; +import common.util.BlockPos; +import common.util.Facing; +import common.world.IWorldAccess; +import common.world.State; + +public class BlockTranslucent extends Block { + public BlockTranslucent(Material material) { + super(material); + } + + public final boolean isOpaqueCube() { + return false; + } + + public final BlockLayer getBlockLayer() { + return BlockLayer.TRANSLUCENT; + } + + public boolean shouldSideBeRendered(IWorldAccess world, BlockPos pos, Facing side) { + State state = world.getState(pos); + Block block = state.getBlock(); + return block != this && super.shouldSideBeRendered(world, pos, side); + } +} diff --git a/common/src/common/block/BlockTreasure.java b/common/src/common/block/BlockTreasure.java index 7f79172..d855f06 100755 --- a/common/src/common/block/BlockTreasure.java +++ b/common/src/common/block/BlockTreasure.java @@ -3,8 +3,8 @@ package common.block; import common.material.Material; public class BlockTreasure extends Block { - public BlockTreasure(Material materialIn) { - super(materialIn); + public BlockTreasure(Material material) { + super(material); } public boolean isXrayVisible() { diff --git a/common/src/common/block/ITileEntityProvider.java b/common/src/common/block/ITileEntityProvider.java index e23572a..fe4ab9f 100755 --- a/common/src/common/block/ITileEntityProvider.java +++ b/common/src/common/block/ITileEntityProvider.java @@ -3,7 +3,6 @@ package common.block; import common.tileentity.TileEntity; import common.world.World; -public interface ITileEntityProvider -{ - TileEntity createNewTileEntity(World worldIn); +public interface ITileEntityProvider { + TileEntity createNewTileEntity(World world); } diff --git a/common/src/common/block/BlockBed.java b/common/src/common/block/artificial/BlockBed.java similarity index 98% rename from common/src/common/block/BlockBed.java rename to common/src/common/block/artificial/BlockBed.java index 02e759e..057a671 100755 --- a/common/src/common/block/BlockBed.java +++ b/common/src/common/block/artificial/BlockBed.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.artificial; +import common.block.Block; +import common.block.BlockDirectional; import common.color.DyeColor; import common.color.TextColor; import common.entity.npc.EntityNPC; diff --git a/common/src/common/block/BlockBookshelf.java b/common/src/common/block/artificial/BlockBookshelf.java similarity index 93% rename from common/src/common/block/BlockBookshelf.java rename to common/src/common/block/artificial/BlockBookshelf.java index a555b4c..1a05805 100755 --- a/common/src/common/block/BlockBookshelf.java +++ b/common/src/common/block/artificial/BlockBookshelf.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.artificial; +import common.block.Block; import common.init.Items; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockCake.java b/common/src/common/block/artificial/BlockCake.java similarity index 99% rename from common/src/common/block/BlockCake.java rename to common/src/common/block/artificial/BlockCake.java index 6422758..7416723 100755 --- a/common/src/common/block/BlockCake.java +++ b/common/src/common/block/artificial/BlockCake.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.artificial; +import common.block.Block; import common.entity.npc.EntityNPC; import common.init.Items; import common.item.Item; diff --git a/common/src/common/block/BlockCarpet.java b/common/src/common/block/artificial/BlockCarpet.java similarity index 98% rename from common/src/common/block/BlockCarpet.java rename to common/src/common/block/artificial/BlockCarpet.java index 9b9a970..b65b714 100755 --- a/common/src/common/block/BlockCarpet.java +++ b/common/src/common/block/artificial/BlockCarpet.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.color.DyeColor; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockCompressedPowered.java b/common/src/common/block/artificial/BlockCompressedPowered.java similarity index 91% rename from common/src/common/block/BlockCompressedPowered.java rename to common/src/common/block/artificial/BlockCompressedPowered.java index 4168977..94f5d1d 100755 --- a/common/src/common/block/BlockCompressedPowered.java +++ b/common/src/common/block/artificial/BlockCompressedPowered.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.artificial; +import common.block.Block; import common.material.Material; import common.util.BlockPos; import common.util.Facing; diff --git a/common/src/common/block/BlockDoor.java b/common/src/common/block/artificial/BlockDoor.java similarity index 99% rename from common/src/common/block/BlockDoor.java rename to common/src/common/block/artificial/BlockDoor.java index b8e0e96..a57ff29 100755 --- a/common/src/common/block/BlockDoor.java +++ b/common/src/common/block/artificial/BlockDoor.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.collect.Lists; import common.entity.npc.EntityNPC; import common.init.Blocks; diff --git a/common/src/common/block/BlockDragonEgg.java b/common/src/common/block/artificial/BlockDragonEgg.java similarity index 97% rename from common/src/common/block/BlockDragonEgg.java rename to common/src/common/block/artificial/BlockDragonEgg.java index 2d90ee8..505977d 100755 --- a/common/src/common/block/BlockDragonEgg.java +++ b/common/src/common/block/artificial/BlockDragonEgg.java @@ -1,7 +1,10 @@ -package common.block; +package common.block.artificial; +import common.block.Block; +import common.block.BlockFalling; import common.entity.item.EntityFalling; import common.entity.npc.EntityNPC; +import common.init.Blocks; import common.init.Config; import common.material.Material; import common.model.Model; @@ -146,7 +149,7 @@ public class BlockDragonEgg extends Block { BlockPos blockpos = pos.add(worldIn.rand.zrange(16) - worldIn.rand.zrange(16), worldIn.rand.zrange(8) - worldIn.rand.zrange(8), worldIn.rand.zrange(16) - worldIn.rand.zrange(16)); - if (worldIn.getState(blockpos).getBlock().material == Material.air) + if (worldIn.getState(blockpos).getBlock() == Blocks.air) { if (worldIn.client) { diff --git a/common/src/common/block/BlockFence.java b/common/src/common/block/artificial/BlockFence.java similarity index 97% rename from common/src/common/block/BlockFence.java rename to common/src/common/block/artificial/BlockFence.java index 3bd2657..f13437d 100755 --- a/common/src/common/block/BlockFence.java +++ b/common/src/common/block/artificial/BlockFence.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.collect.Lists; import common.entity.Entity; import common.entity.npc.EntityNPC; @@ -165,7 +166,7 @@ public class BlockFence extends Block public boolean canConnectTo(IBlockAccess worldIn, BlockPos pos) { Block block = worldIn.getState(pos).getBlock(); - return ((!(block instanceof BlockFence) || block.material != this.material) && !(block instanceof BlockFenceGate) ? (block.material.isOpaque() && block.isFullCube() ? block.material != Material.gourd : false) : true); + return ((!(block instanceof BlockFence) || block.getMaterial() != this.material) && !(block instanceof BlockFenceGate) ? (block.getMaterial().isOpaque() && block.isFullCube() ? block.getMaterial() != Material.gourd : false) : true); } public boolean shouldSideBeRendered(IWorldAccess worldIn, BlockPos pos, Facing side) diff --git a/common/src/common/block/BlockFenceGate.java b/common/src/common/block/artificial/BlockFenceGate.java similarity index 99% rename from common/src/common/block/BlockFenceGate.java rename to common/src/common/block/artificial/BlockFenceGate.java index 93421f8..41305d5 100755 --- a/common/src/common/block/BlockFenceGate.java +++ b/common/src/common/block/artificial/BlockFenceGate.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.artificial; +import common.block.Block; +import common.block.BlockDirectional; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; diff --git a/common/src/common/block/BlockFloorPortal.java b/common/src/common/block/artificial/BlockFloorPortal.java similarity index 98% rename from common/src/common/block/BlockFloorPortal.java rename to common/src/common/block/artificial/BlockFloorPortal.java index a365a47..7ae4afc 100755 --- a/common/src/common/block/BlockFloorPortal.java +++ b/common/src/common/block/artificial/BlockFloorPortal.java @@ -1,9 +1,10 @@ -package common.block; +package common.block.artificial; import java.util.List; import java.util.Map; import java.util.Set; +import common.block.Block; import common.collect.Sets; import common.entity.Entity; import common.item.Item; diff --git a/common/src/common/block/BlockFlowerPot.java b/common/src/common/block/artificial/BlockFlowerPot.java similarity index 99% rename from common/src/common/block/BlockFlowerPot.java rename to common/src/common/block/artificial/BlockFlowerPot.java index d25970a..85884a6 100755 --- a/common/src/common/block/BlockFlowerPot.java +++ b/common/src/common/block/artificial/BlockFlowerPot.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.artificial; +import common.block.Block; +import common.block.foliage.BlockFlower; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.ItemRegistry; diff --git a/common/src/common/block/artificial/BlockGlass.java b/common/src/common/block/artificial/BlockGlass.java new file mode 100755 index 0000000..fb3fe69 --- /dev/null +++ b/common/src/common/block/artificial/BlockGlass.java @@ -0,0 +1,44 @@ +package common.block.artificial; + +import common.block.Block; +import common.item.CheatTab; +import common.material.Material; +import common.model.BlockLayer; +import common.rng.Random; +import common.util.BlockPos; +import common.util.Facing; +import common.world.IWorldAccess; +import common.world.State; + +public class BlockGlass extends Block { + public BlockGlass() { + super(Material.glass); + this.setTab(CheatTab.tabBlocks); + } + + public int quantityDropped(Random rand) { + return 0; + } + + public BlockLayer getBlockLayer() { + return BlockLayer.CUTOUT; + } + + public boolean isOpaqueCube() { + return false; + } + + public boolean isFullCube() { + return false; + } + + public boolean canSilkHarvest() { + return true; + } + + public boolean shouldSideBeRendered(IWorldAccess world, BlockPos pos, Facing side) { + State state = world.getState(pos); + Block block = state.getBlock(); + return world.getState(pos.offset(side.getOpposite())) != state || (block != this && super.shouldSideBeRendered(world, pos, side)); + } +} diff --git a/common/src/common/block/BlockHay.java b/common/src/common/block/artificial/BlockHay.java similarity index 96% rename from common/src/common/block/BlockHay.java rename to common/src/common/block/artificial/BlockHay.java index a051aa5..e57d006 100755 --- a/common/src/common/block/BlockHay.java +++ b/common/src/common/block/artificial/BlockHay.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.artificial; +import common.block.BlockRotatedPillar; import common.entity.types.EntityLiving; import common.init.ItemRegistry; import common.item.CheatTab; diff --git a/common/src/common/block/BlockLadder.java b/common/src/common/block/artificial/BlockLadder.java similarity index 98% rename from common/src/common/block/BlockLadder.java rename to common/src/common/block/artificial/BlockLadder.java index ee9d14a..b858fa4 100755 --- a/common/src/common/block/BlockLadder.java +++ b/common/src/common/block/artificial/BlockLadder.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.artificial; +import common.block.Block; +import common.block.BlockDirectional; import common.entity.types.EntityLiving; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockPane.java b/common/src/common/block/artificial/BlockPane.java similarity index 99% rename from common/src/common/block/BlockPane.java rename to common/src/common/block/artificial/BlockPane.java index 5de8821..7637b62 100755 --- a/common/src/common/block/BlockPane.java +++ b/common/src/common/block/artificial/BlockPane.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.entity.Entity; import common.init.Blocks; import common.item.CheatTab; diff --git a/common/src/common/block/BlockPortal.java b/common/src/common/block/artificial/BlockPortal.java similarity index 97% rename from common/src/common/block/BlockPortal.java rename to common/src/common/block/artificial/BlockPortal.java index 190f899..f072880 100755 --- a/common/src/common/block/BlockPortal.java +++ b/common/src/common/block/artificial/BlockPortal.java @@ -1,7 +1,9 @@ -package common.block; +package common.block.artificial; import java.util.Map; +import common.block.Block; +import common.block.natural.BlockFire; import common.entity.Entity; import common.init.Blocks; import common.item.Item; @@ -23,7 +25,7 @@ import common.world.AWorldClient; import common.world.State; import common.world.World; -public class BlockPortal extends BlockBreakable +public class BlockPortal extends Block { public static final PropertyEnum AXIS = PropertyEnum.create("axis", Facing.Axis.class, Facing.Axis.X, Facing.Axis.Z); public static final PropertyInteger DIM = PropertyInteger.create("dim", 0, 7); @@ -32,7 +34,7 @@ public class BlockPortal extends BlockBreakable public BlockPortal() { - super(Material.portal, false); + super(Material.portal); this.setDefaultState(this.getBaseState().withProperty(AXIS, Facing.Axis.X).withProperty(DIM, 0)); // this.setTickRandomly(); } @@ -97,6 +99,14 @@ public class BlockPortal extends BlockBreakable return false; } + public boolean isOpaqueCube() { + return false; + } + + public BlockLayer getBlockLayer() { + return BlockLayer.TRANSLUCENT; + } + public boolean tryIgnitePortal(World worldIn, BlockPos pos, int dim) { BlockPortal.Size size = new BlockPortal.Size(worldIn, pos, Facing.Axis.X, dim); @@ -192,11 +202,6 @@ public class BlockPortal extends BlockBreakable return 0; } - public BlockLayer getBlockLayer() - { - return BlockLayer.TRANSLUCENT; - } - /** * Called When an Entity Collided with the Block */ @@ -323,7 +328,7 @@ public class BlockPortal extends BlockBreakable // { // BlockWorldState blockworldstate = blockpattern$patternhelper.translateOffset(i, j, 1); // -// if (blockworldstate.getBlockState() != null && blockworldstate.getBlockState().getBlock().getMaterial() != Material.air) +// if (blockworldstate.getBlockState() != null && blockworldstate.getBlockState().getBlock() != Blocks.air) // { // ++aint[enumfacing$axisdirection.ordinal()]; // } @@ -493,7 +498,7 @@ public class BlockPortal extends BlockBreakable protected boolean func_150857_a(Block p_150857_1_) { - return p_150857_1_.material == Material.air || p_150857_1_ == Blocks.fire || p_150857_1_ == Blocks.portal; + return p_150857_1_ == Blocks.air || p_150857_1_ instanceof BlockFire || p_150857_1_ == Blocks.portal; } public boolean func_150860_b() diff --git a/common/src/common/block/BlockPortalFrame.java b/common/src/common/block/artificial/BlockPortalFrame.java similarity index 98% rename from common/src/common/block/BlockPortalFrame.java rename to common/src/common/block/artificial/BlockPortalFrame.java index 2f2d61e..7be3dc0 100755 --- a/common/src/common/block/BlockPortalFrame.java +++ b/common/src/common/block/artificial/BlockPortalFrame.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/BlockQuartz.java b/common/src/common/block/artificial/BlockQuartz.java similarity index 99% rename from common/src/common/block/BlockQuartz.java rename to common/src/common/block/artificial/BlockQuartz.java index d8e6619..8aa5018 100755 --- a/common/src/common/block/BlockQuartz.java +++ b/common/src/common/block/artificial/BlockQuartz.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.entity.types.EntityLiving; import common.init.ItemRegistry; import common.item.CheatTab; diff --git a/common/src/common/block/BlockSlab.java b/common/src/common/block/artificial/BlockSlab.java similarity index 99% rename from common/src/common/block/BlockSlab.java rename to common/src/common/block/artificial/BlockSlab.java index 1daa63d..30c0ca2 100755 --- a/common/src/common/block/BlockSlab.java +++ b/common/src/common/block/artificial/BlockSlab.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.collect.Lists; import common.entity.Entity; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/artificial/BlockStainedGlass.java b/common/src/common/block/artificial/BlockStainedGlass.java new file mode 100755 index 0000000..8ca8637 --- /dev/null +++ b/common/src/common/block/artificial/BlockStainedGlass.java @@ -0,0 +1,52 @@ +package common.block.artificial; + +import java.util.List; + +import common.color.DyeColor; +import common.item.CheatTab; +import common.item.Item; +import common.item.ItemStack; +import common.model.BlockLayer; +import common.model.Model; +import common.model.ModelProvider; +import common.properties.IProperty; +import common.properties.PropertyEnum; +import common.world.State; + +public class BlockStainedGlass extends BlockGlass { + public static final PropertyEnum COLOR = PropertyEnum.create("color", DyeColor.class); + + public BlockStainedGlass() { + this.setDefaultState(this.getBaseState().withProperty(COLOR, DyeColor.WHITE)); + } + + public int damageDropped(State state) { + return state.getValue(COLOR).getMetadata(); + } + + public void getSubBlocks(Item item, CheatTab tab, List list) { + for(DyeColor color : DyeColor.values()) { + list.add(new ItemStack(item, 1, color.getMetadata())); + } + } + + public BlockLayer getBlockLayer() { + return BlockLayer.TRANSLUCENT; + } + + public State getStateFromMeta(int meta) { + return this.getState().withProperty(COLOR, DyeColor.byMetadata(meta)); + } + + public int getMetaFromState(State state) { + return state.getValue(COLOR).getMetadata(); + } + + protected IProperty[] getProperties() { + return new IProperty[] {COLOR}; + } + + public Model getModel(ModelProvider provider, String name, State state) { + return provider.getModel(state.getValue(COLOR).getName() + "_glass").add().all(); + } +} diff --git a/common/src/common/block/BlockStainedGlassPane.java b/common/src/common/block/artificial/BlockStainedGlassPane.java similarity index 98% rename from common/src/common/block/BlockStainedGlassPane.java rename to common/src/common/block/artificial/BlockStainedGlassPane.java index 254d120..985dedd 100755 --- a/common/src/common/block/BlockStainedGlassPane.java +++ b/common/src/common/block/artificial/BlockStainedGlassPane.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.artificial; import java.util.List; diff --git a/common/src/common/block/BlockStairs.java b/common/src/common/block/artificial/BlockStairs.java similarity index 98% rename from common/src/common/block/BlockStairs.java rename to common/src/common/block/artificial/BlockStairs.java index 8c6f5d9..6631556 100755 --- a/common/src/common/block/BlockStairs.java +++ b/common/src/common/block/artificial/BlockStairs.java @@ -1,8 +1,9 @@ -package common.block; +package common.block.artificial; import java.util.Arrays; import java.util.List; +import common.block.Block; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -52,15 +53,15 @@ public class BlockStairs extends Block public BlockStairs(State modelState, String down, String up) { - super(modelState.getBlock().material); + super(modelState.getBlock().getMaterial()); this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH).withProperty(HALF, BlockStairs.EnumHalf.BOTTOM).withProperty(SHAPE, BlockStairs.EnumShape.STRAIGHT)); this.modelBlock = modelState.getBlock(); this.modelState = modelState; - this.setHardness(this.modelBlock.blockHardness); - this.setResistance(this.modelBlock.blockResistance / 3.0F); + this.setHardness(this.modelBlock.getRawHardness()); + this.setResistance(this.modelBlock.getRawResistance() / 3.0F); this.setStepSound(this.modelBlock.sound); this.setLightOpacity(255); - this.setTab(modelState.getBlock().material == Material.wood ? CheatTab.tabWood : CheatTab.tabBlocks); + this.setTab(modelState.getBlock().getMaterial() == Material.wood ? CheatTab.tabWood : CheatTab.tabBlocks); this.downTex = down; this.upTex = up; } @@ -623,9 +624,9 @@ public class BlockStairs extends Block return this.modelBlock.isCollidable(); } - public boolean canCollideCheck(State state, boolean hitIfLiquid) + public boolean canCollideCheck(State state, boolean liquid) { - return this.modelBlock.canCollideCheck(state, hitIfLiquid); + return this.modelBlock.canCollideCheck(state, liquid); } public boolean canPlaceBlockAt(World worldIn, BlockPos pos) diff --git a/common/src/common/block/BlockStoneBrick.java b/common/src/common/block/artificial/BlockStoneBrick.java similarity index 98% rename from common/src/common/block/BlockStoneBrick.java rename to common/src/common/block/artificial/BlockStoneBrick.java index 0d38a04..cf3b2e5 100755 --- a/common/src/common/block/BlockStoneBrick.java +++ b/common/src/common/block/artificial/BlockStoneBrick.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; diff --git a/common/src/common/block/BlockTrapDoor.java b/common/src/common/block/artificial/BlockTrapDoor.java similarity index 97% rename from common/src/common/block/BlockTrapDoor.java rename to common/src/common/block/artificial/BlockTrapDoor.java index c8fc2d7..ce757a3 100755 --- a/common/src/common/block/BlockTrapDoor.java +++ b/common/src/common/block/artificial/BlockTrapDoor.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.artificial; +import common.block.Block; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; @@ -249,7 +250,7 @@ public class BlockTrapDoor extends Block private static boolean isValidSupportBlock(Block blockIn) { - return blockIn.material.isOpaque() && blockIn.isFullCube() || blockIn == Blocks.glass || blockIn == Blocks.stained_glass || blockIn == Blocks.glowstone || blockIn instanceof BlockSlab || blockIn instanceof BlockStairs; + return blockIn.getMaterial().isOpaque() && blockIn.isFullCube() || blockIn == Blocks.glass || blockIn == Blocks.stained_glass || blockIn == Blocks.glowstone || blockIn instanceof BlockSlab || blockIn instanceof BlockStairs; } public BlockLayer getBlockLayer() diff --git a/common/src/common/block/BlockWall.java b/common/src/common/block/artificial/BlockWall.java similarity index 94% rename from common/src/common/block/BlockWall.java rename to common/src/common/block/artificial/BlockWall.java index 41ad2bf..ad017d8 100755 --- a/common/src/common/block/BlockWall.java +++ b/common/src/common/block/artificial/BlockWall.java @@ -1,7 +1,9 @@ -package common.block; +package common.block.artificial; import java.util.List; +import common.block.Block; +import common.init.Blocks; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; @@ -32,10 +34,10 @@ public class BlockWall extends Block public BlockWall(Block modelBlock) { - super(modelBlock.material); + super(modelBlock.getMaterial()); this.setDefaultState(this.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.setHardness(modelBlock.blockHardness); - this.setResistance(modelBlock.blockResistance / 3.0F); + this.setHardness(modelBlock.getRawHardness()); + this.setResistance(modelBlock.getRawResistance() / 3.0F); this.setStepSound(modelBlock.sound); this.setTab(CheatTab.tabBlocks); } @@ -124,7 +126,7 @@ public class BlockWall extends Block public boolean canConnectTo(IBlockAccess worldIn, BlockPos pos) { Block block = worldIn.getState(pos).getBlock(); - return (block != this && !(block instanceof BlockFenceGate) ? (block.material.isOpaque() && block.isFullCube() ? block.material != Material.gourd : false) : true); + return (block != this && !(block instanceof BlockFenceGate) ? (block.getMaterial().isOpaque() && block.isFullCube() ? block.getMaterial() != Material.gourd : false) : true); } /** @@ -174,7 +176,7 @@ public class BlockWall extends Block */ public State getActualState(State state, IWorldAccess worldIn, BlockPos pos) { - return state.withProperty(UP, Boolean.valueOf(worldIn.getState(pos.up()).getBlock().getMaterial() != Material.air)).withProperty(NORTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.north()))).withProperty(EAST, Boolean.valueOf(this.canConnectTo(worldIn, pos.east()))).withProperty(SOUTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.south()))).withProperty(WEST, Boolean.valueOf(this.canConnectTo(worldIn, pos.west()))); + return state.withProperty(UP, Boolean.valueOf(worldIn.getState(pos.up()).getBlock() != Blocks.air)).withProperty(NORTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.north()))).withProperty(EAST, Boolean.valueOf(this.canConnectTo(worldIn, pos.east()))).withProperty(SOUTH, Boolean.valueOf(this.canConnectTo(worldIn, pos.south()))).withProperty(WEST, Boolean.valueOf(this.canConnectTo(worldIn, pos.west()))); } protected IProperty[] getProperties() diff --git a/common/src/common/block/BlockBaseFlower.java b/common/src/common/block/foliage/BlockBaseFlower.java similarity index 84% rename from common/src/common/block/BlockBaseFlower.java rename to common/src/common/block/foliage/BlockBaseFlower.java index 5d07b1b..413ec6e 100755 --- a/common/src/common/block/BlockBaseFlower.java +++ b/common/src/common/block/foliage/BlockBaseFlower.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; public class BlockBaseFlower extends BlockFlower { diff --git a/common/src/common/block/BlockBlackenedSoil.java b/common/src/common/block/foliage/BlockBlackenedSoil.java similarity index 97% rename from common/src/common/block/BlockBlackenedSoil.java rename to common/src/common/block/foliage/BlockBlackenedSoil.java index e6c0e26..03d9df4 100644 --- a/common/src/common/block/BlockBlackenedSoil.java +++ b/common/src/common/block/foliage/BlockBlackenedSoil.java @@ -1,6 +1,7 @@ -package common.block; +package common.block.foliage; import common.biome.Biome; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.item.CheatTab; diff --git a/common/src/common/block/BlockBlueShroom.java b/common/src/common/block/foliage/BlockBlueShroom.java similarity index 97% rename from common/src/common/block/BlockBlueShroom.java rename to common/src/common/block/foliage/BlockBlueShroom.java index c6cc81b..a2e3a3c 100755 --- a/common/src/common/block/BlockBlueShroom.java +++ b/common/src/common/block/foliage/BlockBlueShroom.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.model.Model; diff --git a/common/src/common/block/BlockBush.java b/common/src/common/block/foliage/BlockBush.java similarity index 97% rename from common/src/common/block/BlockBush.java rename to common/src/common/block/foliage/BlockBush.java index 4ff09d6..361bfeb 100755 --- a/common/src/common/block/BlockBush.java +++ b/common/src/common/block/foliage/BlockBush.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.init.Blocks; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockCactus.java b/common/src/common/block/foliage/BlockCactus.java similarity index 98% rename from common/src/common/block/BlockCactus.java rename to common/src/common/block/foliage/BlockCactus.java index 92db3ca..5504d57 100755 --- a/common/src/common/block/BlockCactus.java +++ b/common/src/common/block/foliage/BlockCactus.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.entity.DamageSource; import common.entity.Entity; import common.init.Blocks; diff --git a/common/src/common/block/BlockCarrot.java b/common/src/common/block/foliage/BlockCarrot.java similarity index 94% rename from common/src/common/block/BlockCarrot.java rename to common/src/common/block/foliage/BlockCarrot.java index be7f274..e35b94b 100755 --- a/common/src/common/block/BlockCarrot.java +++ b/common/src/common/block/foliage/BlockCarrot.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import common.init.Items; import common.item.Item; diff --git a/common/src/common/block/BlockCocoa.java b/common/src/common/block/foliage/BlockCocoa.java similarity index 98% rename from common/src/common/block/BlockCocoa.java rename to common/src/common/block/foliage/BlockCocoa.java index 7eff652..b8166d1 100755 --- a/common/src/common/block/BlockCocoa.java +++ b/common/src/common/block/foliage/BlockCocoa.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.foliage; +import common.block.Block; +import common.block.BlockDirectional; import common.color.DyeColor; import common.entity.types.EntityLiving; import common.init.Blocks; diff --git a/common/src/common/block/BlockCrops.java b/common/src/common/block/foliage/BlockCrops.java similarity index 98% rename from common/src/common/block/BlockCrops.java rename to common/src/common/block/foliage/BlockCrops.java index fee8af4..7a5277a 100755 --- a/common/src/common/block/BlockCrops.java +++ b/common/src/common/block/foliage/BlockCrops.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.foliage; +import common.block.Block; +import common.block.SoundType; import common.init.Blocks; import common.init.Config; import common.init.Items; diff --git a/common/src/common/block/BlockDeadBush.java b/common/src/common/block/foliage/BlockDeadBush.java similarity index 97% rename from common/src/common/block/BlockDeadBush.java rename to common/src/common/block/foliage/BlockDeadBush.java index 3e091db..87ae7aa 100755 --- a/common/src/common/block/BlockDeadBush.java +++ b/common/src/common/block/foliage/BlockDeadBush.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.Items; diff --git a/common/src/common/block/BlockDoublePlant.java b/common/src/common/block/foliage/BlockDoublePlant.java similarity index 99% rename from common/src/common/block/BlockDoublePlant.java rename to common/src/common/block/foliage/BlockDoublePlant.java index 2e835f5..b854fb7 100755 --- a/common/src/common/block/BlockDoublePlant.java +++ b/common/src/common/block/foliage/BlockDoublePlant.java @@ -1,7 +1,10 @@ -package common.block; +package common.block.foliage; import java.util.List; +import common.block.Block; +import common.block.BlockDirectional; +import common.block.SoundType; import common.color.Colorizer; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/BlockDryLeaves.java b/common/src/common/block/foliage/BlockDryLeaves.java similarity index 96% rename from common/src/common/block/BlockDryLeaves.java rename to common/src/common/block/foliage/BlockDryLeaves.java index 5ed08d6..d0d363a 100755 --- a/common/src/common/block/BlockDryLeaves.java +++ b/common/src/common/block/foliage/BlockDryLeaves.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.SoundType; import common.init.Items; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockFarmland.java b/common/src/common/block/foliage/BlockFarmland.java similarity index 98% rename from common/src/common/block/BlockFarmland.java rename to common/src/common/block/foliage/BlockFarmland.java index 7367cf4..c195ff4 100755 --- a/common/src/common/block/BlockFarmland.java +++ b/common/src/common/block/foliage/BlockFarmland.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.foliage; +import common.block.Block; +import common.block.natural.BlockDirt; import common.entity.Entity; import common.entity.types.EntityLiving; import common.init.Blocks; diff --git a/common/src/common/block/BlockFlower.java b/common/src/common/block/foliage/BlockFlower.java similarity index 99% rename from common/src/common/block/BlockFlower.java rename to common/src/common/block/foliage/BlockFlower.java index 2b2091f..15ab373 100755 --- a/common/src/common/block/BlockFlower.java +++ b/common/src/common/block/foliage/BlockFlower.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import java.util.Collection; import java.util.List; diff --git a/common/src/common/block/BlockGrass.java b/common/src/common/block/foliage/BlockGrass.java similarity index 98% rename from common/src/common/block/BlockGrass.java rename to common/src/common/block/foliage/BlockGrass.java index 2f1ddcf..d121dd4 100755 --- a/common/src/common/block/BlockGrass.java +++ b/common/src/common/block/foliage/BlockGrass.java @@ -1,6 +1,8 @@ -package common.block; +package common.block.foliage; import common.biome.IBiome; +import common.block.Block; +import common.block.natural.BlockDirt; import common.color.Colorizer; import common.init.Blocks; import common.init.Config; diff --git a/common/src/common/block/BlockHugeMushroom.java b/common/src/common/block/foliage/BlockHugeMushroom.java similarity index 99% rename from common/src/common/block/BlockHugeMushroom.java rename to common/src/common/block/foliage/BlockHugeMushroom.java index f4d6262..57d8da5 100755 --- a/common/src/common/block/BlockHugeMushroom.java +++ b/common/src/common/block/foliage/BlockHugeMushroom.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.entity.types.EntityLiving; import common.init.ItemRegistry; import common.item.Item; diff --git a/common/src/common/block/BlockLeaves.java b/common/src/common/block/foliage/BlockLeaves.java similarity index 99% rename from common/src/common/block/BlockLeaves.java rename to common/src/common/block/foliage/BlockLeaves.java index 8c2014a..d3eaddb 100755 --- a/common/src/common/block/BlockLeaves.java +++ b/common/src/common/block/foliage/BlockLeaves.java @@ -1,7 +1,9 @@ -package common.block; +package common.block.foliage; import java.util.List; +import common.block.Block; +import common.block.SoundType; import common.collect.Lists; import common.color.Colorizer; import common.entity.npc.EntityNPC; diff --git a/common/src/common/block/BlockLeavesBase.java b/common/src/common/block/foliage/BlockLeavesBase.java similarity index 94% rename from common/src/common/block/BlockLeavesBase.java rename to common/src/common/block/foliage/BlockLeavesBase.java index 2c7a3c2..f2e8cad 100755 --- a/common/src/common/block/BlockLeavesBase.java +++ b/common/src/common/block/foliage/BlockLeavesBase.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.material.Material; import common.model.BlockLayer; diff --git a/common/src/common/block/BlockLilyPad.java b/common/src/common/block/foliage/BlockLilyPad.java similarity index 95% rename from common/src/common/block/BlockLilyPad.java rename to common/src/common/block/foliage/BlockLilyPad.java index 2886bef..42f22ba 100755 --- a/common/src/common/block/BlockLilyPad.java +++ b/common/src/common/block/foliage/BlockLilyPad.java @@ -1,7 +1,11 @@ -package common.block; +package common.block.foliage; import java.util.List; +import common.block.Block; +import common.block.BlockDirectional; +import common.block.liquid.BlockLiquid; +import common.block.liquid.BlockStaticLiquid; import common.entity.Entity; import common.entity.item.EntityBoat; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/BlockLog.java b/common/src/common/block/foliage/BlockLog.java similarity index 98% rename from common/src/common/block/BlockLog.java rename to common/src/common/block/foliage/BlockLog.java index 1646cf3..9397b97 100755 --- a/common/src/common/block/BlockLog.java +++ b/common/src/common/block/foliage/BlockLog.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.foliage; +import common.block.BlockRotatedPillar; +import common.block.SoundType; import common.entity.types.EntityLiving; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockMelon.java b/common/src/common/block/foliage/BlockMelon.java similarity index 95% rename from common/src/common/block/BlockMelon.java rename to common/src/common/block/foliage/BlockMelon.java index 53e8c84..03988f0 100755 --- a/common/src/common/block/BlockMelon.java +++ b/common/src/common/block/foliage/BlockMelon.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.init.Items; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockMushroom.java b/common/src/common/block/foliage/BlockMushroom.java similarity index 97% rename from common/src/common/block/BlockMushroom.java rename to common/src/common/block/foliage/BlockMushroom.java index 2753e63..bd39bc4 100755 --- a/common/src/common/block/BlockMushroom.java +++ b/common/src/common/block/foliage/BlockMushroom.java @@ -1,6 +1,8 @@ -package common.block; +package common.block.foliage; import common.biome.IBiome; +import common.block.Block; +import common.block.natural.BlockDirt; import common.init.Blocks; import common.init.Config; import common.model.Model; diff --git a/common/src/common/block/BlockMycelium.java b/common/src/common/block/foliage/BlockMycelium.java similarity index 97% rename from common/src/common/block/BlockMycelium.java rename to common/src/common/block/foliage/BlockMycelium.java index 977c979..f1580ef 100755 --- a/common/src/common/block/BlockMycelium.java +++ b/common/src/common/block/foliage/BlockMycelium.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.foliage; +import common.block.Block; +import common.block.natural.BlockDirt; import common.init.Blocks; import common.init.Config; import common.item.CheatTab; diff --git a/common/src/common/block/BlockPotato.java b/common/src/common/block/foliage/BlockPotato.java similarity index 97% rename from common/src/common/block/BlockPotato.java rename to common/src/common/block/foliage/BlockPotato.java index bc74922..2083b27 100755 --- a/common/src/common/block/BlockPotato.java +++ b/common/src/common/block/foliage/BlockPotato.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import common.init.Items; import common.item.Item; diff --git a/common/src/common/block/BlockPumpkin.java b/common/src/common/block/foliage/BlockPumpkin.java similarity index 97% rename from common/src/common/block/BlockPumpkin.java rename to common/src/common/block/foliage/BlockPumpkin.java index 53866ad..49a23bd 100755 --- a/common/src/common/block/BlockPumpkin.java +++ b/common/src/common/block/foliage/BlockPumpkin.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.BlockDirectional; import common.entity.types.EntityLiving; import common.item.CheatTab; import common.material.Material; @@ -111,7 +112,7 @@ public class BlockPumpkin extends BlockDirectional public boolean canPlaceBlockAt(World worldIn, BlockPos pos) { - return worldIn.getState(pos).getBlock().material.isReplaceable() && worldIn.isBlockSolid(pos.down()); + return worldIn.getState(pos).getBlock().getMaterial().isReplaceable() && worldIn.isBlockSolid(pos.down()); } /** diff --git a/common/src/common/block/BlockReed.java b/common/src/common/block/foliage/BlockReed.java similarity index 98% rename from common/src/common/block/BlockReed.java rename to common/src/common/block/foliage/BlockReed.java index 8d7b151..16a91e4 100755 --- a/common/src/common/block/BlockReed.java +++ b/common/src/common/block/foliage/BlockReed.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.init.Items; diff --git a/common/src/common/block/BlockSapling.java b/common/src/common/block/foliage/BlockSapling.java similarity index 99% rename from common/src/common/block/BlockSapling.java rename to common/src/common/block/foliage/BlockSapling.java index f03ba37..b2b4702 100755 --- a/common/src/common/block/BlockSapling.java +++ b/common/src/common/block/foliage/BlockSapling.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import java.util.List; diff --git a/common/src/common/block/BlockStem.java b/common/src/common/block/foliage/BlockStem.java similarity index 98% rename from common/src/common/block/BlockStem.java rename to common/src/common/block/foliage/BlockStem.java index d42ae2b..7467439 100755 --- a/common/src/common/block/BlockStem.java +++ b/common/src/common/block/foliage/BlockStem.java @@ -1,14 +1,14 @@ -package common.block; +package common.block.foliage; import java.util.function.Predicate; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.init.Items; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; -import common.material.Material; import common.model.Model; import common.model.ModelProvider; import common.model.ModelRotation; @@ -103,7 +103,7 @@ public class BlockStem extends BlockBush implements IGrowable pos = pos.offset(Facing.Plane.HORIZONTAL.random(rand)); Block block = worldIn.getState(pos.down()).getBlock(); - if (worldIn.getState(pos).getBlock().material == Material.air && (block == Blocks.farmland || block == Blocks.dirt || block == Blocks.grass)) + if (worldIn.getState(pos).getBlock() == Blocks.air && (block == Blocks.farmland || block == Blocks.dirt || block == Blocks.grass)) { worldIn.setState(pos, this.crop.getState()); } diff --git a/common/src/common/block/BlockTallGrass.java b/common/src/common/block/foliage/BlockTallGrass.java similarity index 99% rename from common/src/common/block/BlockTallGrass.java rename to common/src/common/block/foliage/BlockTallGrass.java index a527f19..f7cf36d 100755 --- a/common/src/common/block/BlockTallGrass.java +++ b/common/src/common/block/foliage/BlockTallGrass.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import java.util.List; diff --git a/common/src/common/block/BlockTianSoil.java b/common/src/common/block/foliage/BlockTianSoil.java similarity index 96% rename from common/src/common/block/BlockTianSoil.java rename to common/src/common/block/foliage/BlockTianSoil.java index ac03fd9..de7465e 100755 --- a/common/src/common/block/BlockTianSoil.java +++ b/common/src/common/block/foliage/BlockTianSoil.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockVine.java b/common/src/common/block/foliage/BlockVine.java similarity index 98% rename from common/src/common/block/BlockVine.java rename to common/src/common/block/foliage/BlockVine.java index a674c81..7f2a9a1 100755 --- a/common/src/common/block/BlockVine.java +++ b/common/src/common/block/foliage/BlockVine.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.color.Colorizer; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; @@ -177,7 +178,7 @@ public class BlockVine extends Block private boolean canPlaceOn(Block blockIn) { - return blockIn.isFullCube() && blockIn.material.blocksMovement(); + return blockIn.isFullCube() && blockIn.getMaterial().blocksMovement(); } private boolean recheckGrownSides(World worldIn, BlockPos pos, State state) @@ -307,7 +308,7 @@ public class BlockVine extends Block BlockPos blockpos3 = pos.offset(enumfacing1); Block block1 = worldIn.getState(blockpos3).getBlock(); - if (block1.material == Material.air) + if (block1 == Blocks.air) { Facing enumfacing2 = enumfacing1.rotateY(); Facing enumfacing4 = enumfacing1.rotateYCCW(); @@ -337,7 +338,7 @@ public class BlockVine extends Block worldIn.setState(blockpos3, this.getState(), 2); } } - else if (block1.material.isOpaque() && block1.isFullCube()) + else if (block1.getMaterial().isOpaque() && block1.isFullCube()) { worldIn.setState(pos, state.withProperty(getPropertyFor(enumfacing1), Boolean.valueOf(true)), 2); } @@ -351,7 +352,7 @@ public class BlockVine extends Block State iblockstate = worldIn.getState(blockpos2); Block block = iblockstate.getBlock(); - if (block.material == Material.air) + if (block == Blocks.air) { State iblockstate1 = state; diff --git a/common/src/common/block/BlockWart.java b/common/src/common/block/foliage/BlockWart.java similarity index 98% rename from common/src/common/block/BlockWart.java rename to common/src/common/block/foliage/BlockWart.java index 3937dbe..7ac9919 100755 --- a/common/src/common/block/BlockWart.java +++ b/common/src/common/block/foliage/BlockWart.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.foliage; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.init.Items; diff --git a/common/src/common/block/IGrowable.java b/common/src/common/block/foliage/IGrowable.java similarity index 93% rename from common/src/common/block/IGrowable.java rename to common/src/common/block/foliage/IGrowable.java index 9bb72c7..87ca9b8 100755 --- a/common/src/common/block/IGrowable.java +++ b/common/src/common/block/foliage/IGrowable.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import common.rng.Random; import common.util.BlockPos; diff --git a/common/src/common/block/LeavesType.java b/common/src/common/block/foliage/LeavesType.java similarity index 93% rename from common/src/common/block/LeavesType.java rename to common/src/common/block/foliage/LeavesType.java index 25b730d..0a918bf 100755 --- a/common/src/common/block/LeavesType.java +++ b/common/src/common/block/foliage/LeavesType.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.foliage; import common.util.Identifyable; diff --git a/common/src/common/block/BlockDynamicLiquid.java b/common/src/common/block/liquid/BlockDynamicLiquid.java similarity index 97% rename from common/src/common/block/BlockDynamicLiquid.java rename to common/src/common/block/liquid/BlockDynamicLiquid.java index e9a1eda..3684eec 100755 --- a/common/src/common/block/BlockDynamicLiquid.java +++ b/common/src/common/block/liquid/BlockDynamicLiquid.java @@ -1,8 +1,10 @@ -package common.block; +package common.block.liquid; import java.util.EnumSet; import java.util.Set; +import common.block.Block; +import common.block.artificial.BlockDoor; import common.init.Blocks; import common.init.Config; import common.material.Material; @@ -260,7 +262,7 @@ public class BlockDynamicLiquid extends BlockLiquid private boolean isBlocked(World worldIn, BlockPos pos, State state) { Block block = worldIn.getState(pos).getBlock(); - return !(block instanceof BlockDoor) && block != Blocks.sign && block != Blocks.ladder && block != Blocks.reeds ? (block.material == Material.portal ? true : block.material.blocksMovement()) : true; + return !(block instanceof BlockDoor) && block != Blocks.sign && block != Blocks.ladder && block != Blocks.reeds ? (block.getMaterial() == Material.portal ? true : block.getMaterial().blocksMovement()) : true; } protected int checkAdjacentBlock(World worldIn, BlockPos pos, int currentMinLevel) diff --git a/common/src/common/block/BlockLiquid.java b/common/src/common/block/liquid/BlockLiquid.java similarity index 97% rename from common/src/common/block/BlockLiquid.java rename to common/src/common/block/liquid/BlockLiquid.java index 9f036fd..2b82174 100755 --- a/common/src/common/block/BlockLiquid.java +++ b/common/src/common/block/liquid/BlockLiquid.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.liquid; +import common.block.Block; import common.color.Colorizer; import common.entity.Entity; import common.init.Blocks; @@ -90,9 +91,9 @@ public abstract class BlockLiquid extends Block return false; } - public boolean canCollideCheck(State state, boolean hitIfLiquid) + public boolean canCollideCheck(State state, boolean liquid) { - return hitIfLiquid && ((Integer)state.getValue(LEVEL)).intValue() == 0; + return liquid && ((Integer)state.getValue(LEVEL)).intValue() == 0; } /** @@ -257,7 +258,7 @@ public abstract class BlockLiquid extends Block } } - if (this.material == Material.lava && worldIn.getState(pos.up()).getBlock().getMaterial() == Material.air && !worldIn.getState(pos.up()).getBlock().isOpaqueCube()) + if (this.material == Material.lava && worldIn.getState(pos.up()).getBlock() == Blocks.air && !worldIn.getState(pos.up()).getBlock().isOpaqueCube()) { if (rand.chance(100)) { diff --git a/common/src/common/block/BlockStaticLiquid.java b/common/src/common/block/liquid/BlockStaticLiquid.java similarity index 94% rename from common/src/common/block/BlockStaticLiquid.java rename to common/src/common/block/liquid/BlockStaticLiquid.java index 5b5b29f..5c7f069 100755 --- a/common/src/common/block/BlockStaticLiquid.java +++ b/common/src/common/block/liquid/BlockStaticLiquid.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.liquid; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.material.Material; @@ -58,7 +59,7 @@ public class BlockStaticLiquid extends BlockLiquid blockpos = blockpos.add(rand.zrange(3) - 1, 1, rand.zrange(3) - 1); Block block = worldIn.getState(blockpos).getBlock(); - if (block.material == Material.air) + if (block == Blocks.air) { if (this.isSurroundingBlockFlammable(worldIn, blockpos)) { @@ -66,7 +67,7 @@ public class BlockStaticLiquid extends BlockLiquid return; } } - else if (block.material.blocksMovement()) + else if (block.getMaterial().blocksMovement()) { return; } diff --git a/common/src/common/block/BlockBedrock.java b/common/src/common/block/natural/BlockBedrock.java similarity index 89% rename from common/src/common/block/BlockBedrock.java rename to common/src/common/block/natural/BlockBedrock.java index 71ec977..831e002 100755 --- a/common/src/common/block/BlockBedrock.java +++ b/common/src/common/block/natural/BlockBedrock.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.material.Material; import common.model.ParticleType; import common.rng.Random; diff --git a/common/src/common/block/BlockBlackenedDirt.java b/common/src/common/block/natural/BlockBlackenedDirt.java similarity index 96% rename from common/src/common/block/BlockBlackenedDirt.java rename to common/src/common/block/natural/BlockBlackenedDirt.java index 6e821ae..6eff390 100644 --- a/common/src/common/block/BlockBlackenedDirt.java +++ b/common/src/common/block/natural/BlockBlackenedDirt.java @@ -1,6 +1,7 @@ -package common.block; +package common.block.natural; import common.biome.Biome; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.item.CheatTab; diff --git a/common/src/common/block/BlockBlackenedStone.java b/common/src/common/block/natural/BlockBlackenedStone.java similarity index 89% rename from common/src/common/block/BlockBlackenedStone.java rename to common/src/common/block/natural/BlockBlackenedStone.java index a28fdae..6e8dec7 100644 --- a/common/src/common/block/BlockBlackenedStone.java +++ b/common/src/common/block/natural/BlockBlackenedStone.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.init.Blocks; import common.init.ItemRegistry; import common.item.CheatTab; diff --git a/common/src/common/block/BlockClay.java b/common/src/common/block/natural/BlockClay.java similarity index 92% rename from common/src/common/block/BlockClay.java rename to common/src/common/block/natural/BlockClay.java index c1d0259..1e34ea9 100755 --- a/common/src/common/block/BlockClay.java +++ b/common/src/common/block/natural/BlockClay.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.init.Items; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockDirt.java b/common/src/common/block/natural/BlockDirt.java similarity index 99% rename from common/src/common/block/BlockDirt.java rename to common/src/common/block/natural/BlockDirt.java index 11e24ab..682418e 100755 --- a/common/src/common/block/BlockDirt.java +++ b/common/src/common/block/natural/BlockDirt.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.natural; import java.util.List; +import common.block.Block; import common.init.Blocks; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockFire.java b/common/src/common/block/natural/BlockFire.java similarity index 99% rename from common/src/common/block/BlockFire.java rename to common/src/common/block/natural/BlockFire.java index aee1003..bf1a0fe 100755 --- a/common/src/common/block/BlockFire.java +++ b/common/src/common/block/natural/BlockFire.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.natural; import java.util.Map; +import common.block.Block; import common.init.Blocks; import common.init.Config; import common.init.FlammabilityRegistry; @@ -47,7 +48,7 @@ public class BlockFire extends Block int j = pos.getY(); int k = pos.getZ(); - if (!World.isSolidSurface(worldIn.getState(pos.down())) && !Blocks.fire.canCatchFire(worldIn, pos.down())) + if (!World.isSolidSurface(worldIn.getState(pos.down())) && !this.canCatchFire(worldIn, pos.down())) { boolean flag = (i + j + k & 1) == 1; boolean flag1 = (i / 2 + j / 2 + k / 2 & 1) == 1; @@ -353,9 +354,9 @@ public class BlockFire extends Block worldIn.playSound((double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F), (double)((float)pos.getZ() + 0.5F), SoundEvent.FIRE, 1.0F + rand.floatv()); } - if (!worldIn.isBlockSolid(pos.down()) && !Blocks.fire.canCatchFire(worldIn, pos.down())) + if (!worldIn.isBlockSolid(pos.down()) && !this.canCatchFire(worldIn, pos.down())) { - if (Blocks.fire.canCatchFire(worldIn, pos.west())) + if (this.canCatchFire(worldIn, pos.west())) { for (int j = 0; j < 2; ++j) { @@ -366,7 +367,7 @@ public class BlockFire extends Block } } - if (Blocks.fire.canCatchFire(worldIn, pos.east())) + if (this.canCatchFire(worldIn, pos.east())) { for (int k = 0; k < 2; ++k) { @@ -377,7 +378,7 @@ public class BlockFire extends Block } } - if (Blocks.fire.canCatchFire(worldIn, pos.north())) + if (this.canCatchFire(worldIn, pos.north())) { for (int l = 0; l < 2; ++l) { @@ -388,7 +389,7 @@ public class BlockFire extends Block } } - if (Blocks.fire.canCatchFire(worldIn, pos.south())) + if (this.canCatchFire(worldIn, pos.south())) { for (int i1 = 0; i1 < 2; ++i1) { @@ -399,7 +400,7 @@ public class BlockFire extends Block } } - if (Blocks.fire.canCatchFire(worldIn, pos.up())) + if (this.canCatchFire(worldIn, pos.up())) { for (int j1 = 0; j1 < 2; ++j1) { diff --git a/common/src/common/block/BlockGlowstone.java b/common/src/common/block/natural/BlockGlowstone.java similarity index 95% rename from common/src/common/block/BlockGlowstone.java rename to common/src/common/block/natural/BlockGlowstone.java index ddcdf75..acd4128 100755 --- a/common/src/common/block/BlockGlowstone.java +++ b/common/src/common/block/natural/BlockGlowstone.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.init.Items; import common.item.CheatTab; import common.item.Item; diff --git a/common/src/common/block/BlockGravel.java b/common/src/common/block/natural/BlockGravel.java similarity index 76% rename from common/src/common/block/BlockGravel.java rename to common/src/common/block/natural/BlockGravel.java index 9206e53..7324de7 100755 --- a/common/src/common/block/BlockGravel.java +++ b/common/src/common/block/natural/BlockGravel.java @@ -1,14 +1,22 @@ -package common.block; +package common.block.natural; +import common.block.BlockFalling; import common.init.Config; import common.init.ItemRegistry; import common.init.Items; +import common.item.CheatTab; import common.item.Item; +import common.material.Material; import common.rng.Random; import common.world.State; public class BlockGravel extends BlockFalling { + public BlockGravel() { + super(Material.sand); + this.setTab(CheatTab.tabNature); + } + public Item getItemDropped(State state, Random rand, int fortune) { int chance = Config.flintChance; diff --git a/common/src/common/block/BlockHardenedClay.java b/common/src/common/block/natural/BlockHardenedClay.java similarity index 87% rename from common/src/common/block/BlockHardenedClay.java rename to common/src/common/block/natural/BlockHardenedClay.java index d3be1c4..ce20f4c 100755 --- a/common/src/common/block/BlockHardenedClay.java +++ b/common/src/common/block/natural/BlockHardenedClay.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockHellRock.java b/common/src/common/block/natural/BlockHellRock.java similarity index 89% rename from common/src/common/block/BlockHellRock.java rename to common/src/common/block/natural/BlockHellRock.java index 26a4859..f381c4d 100755 --- a/common/src/common/block/BlockHellRock.java +++ b/common/src/common/block/natural/BlockHellRock.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/natural/BlockIce.java b/common/src/common/block/natural/BlockIce.java new file mode 100755 index 0000000..e63c36d --- /dev/null +++ b/common/src/common/block/natural/BlockIce.java @@ -0,0 +1,65 @@ +package common.block.natural; + +import common.block.BlockTranslucent; +import common.enchantment.EnchantmentHelper; +import common.entity.npc.EntityNPC; +import common.init.Blocks; +import common.init.Config; +import common.item.CheatTab; +import common.item.ItemStack; +import common.material.Material; +import common.rng.Random; +import common.tileentity.TileEntity; +import common.util.BlockPos; +import common.world.LightType; +import common.world.State; +import common.world.World; +import common.world.AWorldServer; + +public class BlockIce extends BlockTranslucent { + public BlockIce() { + super(Material.ice); + this.slipperiness = 0.98F; + this.setTickRandomly(); + this.setTab(CheatTab.tabNature); + } + + public void harvestBlock(World world, EntityNPC player, BlockPos pos, State state, TileEntity tile) { + if(this.canSilkHarvest() && EnchantmentHelper.getSilkTouchModifier(player)) { + ItemStack stack = this.createStackedBlock(state); + if(stack != null) + spawnAsEntity(world, pos, stack); + } + else { + if(world.doesWaterVaporize(pos)) { + world.setBlockToAir(pos); + return; + } + int fortune = EnchantmentHelper.getFortuneModifier(player); + this.dropBlockAsItem(world, pos, state, fortune); + Material material = world.getState(pos.down()).getBlock().getMaterial(); + if(material.blocksMovement() || material.isLiquid()) + world.setState(pos, Blocks.flowing_water.getState()); + } + } + + public int quantityDropped(Random rand) { + return 0; + } + + public void updateTick(AWorldServer world, BlockPos pos, State state, Random rand) { + if(Config.iceMelt && (world.getLightFor(LightType.BLOCK, pos) > 11 - this.getLightOpacity() || !world.canFreezeAt(pos))) { + if(world.doesWaterVaporize(pos)) { + world.setBlockToAir(pos); + } + else { + this.dropBlockAsItem(world, pos, world.getState(pos), 0); + world.setState(pos, Blocks.water.getState()); + } + } + } + + public int getMobilityFlag() { + return 0; + } +} diff --git a/common/src/common/block/BlockObsidian.java b/common/src/common/block/natural/BlockObsidian.java similarity index 93% rename from common/src/common/block/BlockObsidian.java rename to common/src/common/block/natural/BlockObsidian.java index b2c80f9..b8d60e9 100755 --- a/common/src/common/block/BlockObsidian.java +++ b/common/src/common/block/natural/BlockObsidian.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.init.Blocks; import common.init.ItemRegistry; import common.item.CheatTab; diff --git a/common/src/common/block/BlockOre.java b/common/src/common/block/natural/BlockOre.java similarity index 98% rename from common/src/common/block/BlockOre.java rename to common/src/common/block/natural/BlockOre.java index e83b028..3b7c759 100755 --- a/common/src/common/block/BlockOre.java +++ b/common/src/common/block/natural/BlockOre.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.init.Config; import common.init.ItemRegistry; import common.item.CheatTab; diff --git a/common/src/common/block/BlockPackedIce.java b/common/src/common/block/natural/BlockPackedIce.java similarity index 88% rename from common/src/common/block/BlockPackedIce.java rename to common/src/common/block/natural/BlockPackedIce.java index c21ff05..b79cee6 100755 --- a/common/src/common/block/BlockPackedIce.java +++ b/common/src/common/block/natural/BlockPackedIce.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.item.CheatTab; import common.material.Material; import common.rng.Random; diff --git a/common/src/common/block/BlockRedstoneOre.java b/common/src/common/block/natural/BlockRedstoneOre.java similarity index 98% rename from common/src/common/block/BlockRedstoneOre.java rename to common/src/common/block/natural/BlockRedstoneOre.java index 13eb609..48f4345 100755 --- a/common/src/common/block/BlockRedstoneOre.java +++ b/common/src/common/block/natural/BlockRedstoneOre.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.init.Blocks; diff --git a/common/src/common/block/BlockRock.java b/common/src/common/block/natural/BlockRock.java similarity index 95% rename from common/src/common/block/BlockRock.java rename to common/src/common/block/natural/BlockRock.java index a6f0e4d..83faa97 100755 --- a/common/src/common/block/BlockRock.java +++ b/common/src/common/block/natural/BlockRock.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.natural; import java.util.List; +import common.block.Block; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; diff --git a/common/src/common/block/BlockSand.java b/common/src/common/block/natural/BlockSand.java similarity index 95% rename from common/src/common/block/BlockSand.java rename to common/src/common/block/natural/BlockSand.java index 147941b..d875ca4 100755 --- a/common/src/common/block/BlockSand.java +++ b/common/src/common/block/natural/BlockSand.java @@ -1,10 +1,12 @@ -package common.block; +package common.block.natural; import java.util.List; +import common.block.BlockFalling; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; +import common.material.Material; import common.model.Model; import common.model.ModelProvider; import common.properties.IProperty; @@ -18,7 +20,9 @@ public class BlockSand extends BlockFalling public BlockSand() { + super(Material.sand); this.setDefaultState(this.getBaseState().withProperty(VARIANT, BlockSand.EnumType.SAND)); + this.setTab(CheatTab.tabNature); } /** diff --git a/common/src/common/block/BlockSandStone.java b/common/src/common/block/natural/BlockSandStone.java similarity index 98% rename from common/src/common/block/BlockSandStone.java rename to common/src/common/block/natural/BlockSandStone.java index 3ed7fcc..76ff781 100755 --- a/common/src/common/block/BlockSandStone.java +++ b/common/src/common/block/natural/BlockSandStone.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.natural; import java.util.List; +import common.block.Block; import common.item.CheatTab; import common.item.Item; import common.item.ItemStack; diff --git a/common/src/common/block/natural/BlockSlime.java b/common/src/common/block/natural/BlockSlime.java new file mode 100755 index 0000000..7ea4f3d --- /dev/null +++ b/common/src/common/block/natural/BlockSlime.java @@ -0,0 +1,63 @@ +package common.block.natural; + +import common.block.BlockTranslucent; +import common.entity.Entity; +import common.item.CheatTab; +import common.material.Material; +import common.model.Model; +import common.model.ModelProvider; +import common.util.BlockPos; +import common.world.State; +import common.world.World; + +public class BlockSlime extends BlockTranslucent { + private static final Model slime = ModelProvider.getModelProvider().getModel("slime") + .add(0, 0, 0, 16, 16, 16) + .d().uv(0, 0, 16, 16).noCull() + .u().uv(0, 0, 16, 16).noCull() + .n().uv(0, 0, 16, 16).noCull() + .s().uv(0, 0, 16, 16).noCull() + .w().uv(0, 0, 16, 16).noCull() + .e().uv(0, 0, 16, 16).noCull() + .add(3, 3, 3, 13, 13, 13) + .d().uv(3, 3, 13, 13).noCull() + .u().uv(3, 3, 13, 13).noCull() + .n().uv(3, 3, 13, 13).noCull() + .s().uv(3, 3, 13, 13).noCull() + .w().uv(3, 3, 13, 13).noCull() + .e().uv(3, 3, 13, 13).noCull() + ; + + public BlockSlime() { + super(Material.clay); + this.setTab(CheatTab.tabTech); + this.slipperiness = 0.8F; + } + + public void onFallenUpon(World world, BlockPos pos, Entity entity, float distance) { + if(entity.isSneaking()) + super.onFallenUpon(world, pos, entity, distance); + else + entity.fall(distance, 0.0F); + } + + public void onLanded(World world, Entity entity) { + if(entity.isSneaking()) + super.onLanded(world, entity); + else if(entity.motionY < 0.0D) + entity.motionY = -entity.motionY; + } + + public void onEntityCollidedWithBlock(World world, BlockPos pos, Entity entity) { + if(Math.abs(entity.motionY) < 0.1D && !entity.isSneaking()) { + double friction = 0.4D + Math.abs(entity.motionY) * 0.2D; + entity.motionX *= friction; + entity.motionZ *= friction; + } + super.onEntityCollidedWithBlock(world, pos, entity); + } + + public Model getModel(ModelProvider provider, String name, State state) { + return slime; + } +} diff --git a/common/src/common/block/BlockSnow.java b/common/src/common/block/natural/BlockSnow.java similarity index 95% rename from common/src/common/block/BlockSnow.java rename to common/src/common/block/natural/BlockSnow.java index 3647804..e87a6ed 100755 --- a/common/src/common/block/BlockSnow.java +++ b/common/src/common/block/natural/BlockSnow.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.Config; @@ -87,7 +88,7 @@ public class BlockSnow extends Block { State iblockstate = worldIn.getState(pos.down()); Block block = iblockstate.getBlock(); - return block != Blocks.ice && block != Blocks.packed_ice ? (block.getMaterial() == Material.leaves ? true : (block == this && ((Integer)iblockstate.getValue(LAYERS)).intValue() >= 7 ? true : block.isOpaqueCube() && block.material.blocksMovement())) : false; + return block != Blocks.ice && block != Blocks.packed_ice ? (block.getMaterial() == Material.leaves ? true : (block == this && ((Integer)iblockstate.getValue(LAYERS)).intValue() >= 7 ? true : block.isOpaqueCube() && block.getMaterial().blocksMovement())) : false; } /** @@ -137,7 +138,7 @@ public class BlockSnow extends Block public void updateTick(AWorldServer worldIn, BlockPos pos, State state, Random rand) { - if (Config.snowMelt && ((worldIn.getLightFor(LightType.BLOCK, pos) > 11) || !worldIn.canFreezeAt(pos))) + if (Config.snowMelt && (worldIn.getLightFor(LightType.BLOCK, pos) > 11 || !worldIn.canFreezeAt(pos))) { this.dropBlockAsItem(worldIn, pos, worldIn.getState(pos), 0); worldIn.setBlockToAir(pos); diff --git a/common/src/common/block/natural/BlockSnowBlock.java b/common/src/common/block/natural/BlockSnowBlock.java new file mode 100755 index 0000000..6721f0f --- /dev/null +++ b/common/src/common/block/natural/BlockSnowBlock.java @@ -0,0 +1,36 @@ +package common.block.natural; + +import common.block.Block; +import common.init.Config; +import common.init.Items; +import common.item.CheatTab; +import common.item.Item; +import common.material.Material; +import common.rng.Random; +import common.util.BlockPos; +import common.world.LightType; +import common.world.State; +import common.world.AWorldServer; + +public class BlockSnowBlock extends Block { + public BlockSnowBlock() { + super(Material.craftedSnow); + this.setTickRandomly(); + this.setTab(CheatTab.tabNature); + } + + public Item getItemDropped(State state, Random rand, int fortune) { + return Items.snowball; + } + + public int quantityDropped(Random rand) { + return rand.range(2, 4); + } + + public void updateTick(AWorldServer world, BlockPos pos, State state, Random rand) { + if(Config.snowFullMelt && (world.getLightFor(LightType.BLOCK, pos) > 11 || !world.canFreezeAt(pos))) { + this.dropBlockAsItem(world, pos, world.getState(pos), 0); + world.setBlockToAir(pos); + } + } +} diff --git a/common/src/common/block/BlockSoulSand.java b/common/src/common/block/natural/BlockSoulSand.java similarity index 94% rename from common/src/common/block/BlockSoulSand.java rename to common/src/common/block/natural/BlockSoulSand.java index b9aa80a..efce90e 100755 --- a/common/src/common/block/BlockSoulSand.java +++ b/common/src/common/block/natural/BlockSoulSand.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.entity.Entity; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockStone.java b/common/src/common/block/natural/BlockStone.java similarity index 89% rename from common/src/common/block/BlockStone.java rename to common/src/common/block/natural/BlockStone.java index bbfe84c..b2fe230 100755 --- a/common/src/common/block/BlockStone.java +++ b/common/src/common/block/natural/BlockStone.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.init.Blocks; import common.init.ItemRegistry; import common.item.CheatTab; diff --git a/common/src/common/block/BlockTintedFire.java b/common/src/common/block/natural/BlockTintedFire.java similarity index 96% rename from common/src/common/block/BlockTintedFire.java rename to common/src/common/block/natural/BlockTintedFire.java index fa450ad..70e64c6 100644 --- a/common/src/common/block/BlockTintedFire.java +++ b/common/src/common/block/natural/BlockTintedFire.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.natural; import java.util.Map; diff --git a/common/src/common/block/BlockWeb.java b/common/src/common/block/natural/BlockWeb.java similarity index 96% rename from common/src/common/block/BlockWeb.java rename to common/src/common/block/natural/BlockWeb.java index 9778a73..156da3d 100755 --- a/common/src/common/block/BlockWeb.java +++ b/common/src/common/block/natural/BlockWeb.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.natural; +import common.block.Block; import common.entity.Entity; import common.init.Items; import common.item.CheatTab; diff --git a/common/src/common/block/BlockAnvil.java b/common/src/common/block/tech/BlockAnvil.java similarity index 99% rename from common/src/common/block/BlockAnvil.java rename to common/src/common/block/tech/BlockAnvil.java index 6b9406f..34a19c9 100755 --- a/common/src/common/block/BlockAnvil.java +++ b/common/src/common/block/tech/BlockAnvil.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.BlockFalling; import common.entity.item.EntityFalling; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/BlockBasePressurePlate.java b/common/src/common/block/tech/BlockBasePressurePlate.java similarity index 98% rename from common/src/common/block/BlockBasePressurePlate.java rename to common/src/common/block/tech/BlockBasePressurePlate.java index b19329d..f0c48de 100755 --- a/common/src/common/block/BlockBasePressurePlate.java +++ b/common/src/common/block/tech/BlockBasePressurePlate.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.artificial.BlockFence; import common.entity.Entity; import common.init.SoundEvent; import common.item.CheatTab; diff --git a/common/src/common/block/BlockBeacon.java b/common/src/common/block/tech/BlockBeacon.java similarity index 97% rename from common/src/common/block/BlockBeacon.java rename to common/src/common/block/tech/BlockBeacon.java index 7789be3..3a752a1 100755 --- a/common/src/common/block/BlockBeacon.java +++ b/common/src/common/block/tech/BlockBeacon.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockBrewingStand.java b/common/src/common/block/tech/BlockBrewingStand.java similarity index 99% rename from common/src/common/block/BlockBrewingStand.java rename to common/src/common/block/tech/BlockBrewingStand.java index db118c0..036b238 100755 --- a/common/src/common/block/BlockBrewingStand.java +++ b/common/src/common/block/tech/BlockBrewingStand.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.BlockContainer; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/BlockButton.java b/common/src/common/block/tech/BlockButton.java similarity index 99% rename from common/src/common/block/BlockButton.java rename to common/src/common/block/tech/BlockButton.java index 28b690c..c0b60fb 100755 --- a/common/src/common/block/BlockButton.java +++ b/common/src/common/block/tech/BlockButton.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; import common.collect.Lists; import common.entity.Entity; import common.entity.npc.EntityNPC; diff --git a/common/src/common/block/BlockCauldron.java b/common/src/common/block/tech/BlockCauldron.java similarity index 99% rename from common/src/common/block/BlockCauldron.java rename to common/src/common/block/tech/BlockCauldron.java index 79f5739..75e05e8 100755 --- a/common/src/common/block/BlockCauldron.java +++ b/common/src/common/block/tech/BlockCauldron.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; import common.entity.Entity; import common.entity.item.EntityItem; import common.entity.npc.EntityNPC; diff --git a/common/src/common/block/BlockChest.java b/common/src/common/block/tech/BlockChest.java similarity index 99% rename from common/src/common/block/BlockChest.java rename to common/src/common/block/tech/BlockChest.java index 9b2ed6b..11c0e60 100755 --- a/common/src/common/block/BlockChest.java +++ b/common/src/common/block/tech/BlockChest.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockContainer; import common.color.TextColor; import common.entity.Entity; import common.entity.animal.EntityOcelot; diff --git a/common/src/common/block/BlockCore.java b/common/src/common/block/tech/BlockCore.java similarity index 91% rename from common/src/common/block/BlockCore.java rename to common/src/common/block/tech/BlockCore.java index d23bada..3378fea 100755 --- a/common/src/common/block/BlockCore.java +++ b/common/src/common/block/tech/BlockCore.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.init.Config; import common.item.CheatTab; import common.material.Material; diff --git a/common/src/common/block/BlockDaylightDetector.java b/common/src/common/block/tech/BlockDaylightDetector.java similarity index 98% rename from common/src/common/block/BlockDaylightDetector.java rename to common/src/common/block/tech/BlockDaylightDetector.java index 420a0e1..9b6a91a 100755 --- a/common/src/common/block/BlockDaylightDetector.java +++ b/common/src/common/block/tech/BlockDaylightDetector.java @@ -1,7 +1,9 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.BlockContainer; +import common.block.SoundType; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.ItemRegistry; diff --git a/common/src/common/block/BlockDispenser.java b/common/src/common/block/tech/BlockDispenser.java similarity index 99% rename from common/src/common/block/BlockDispenser.java rename to common/src/common/block/tech/BlockDispenser.java index 7132bad..15d1875 100755 --- a/common/src/common/block/BlockDispenser.java +++ b/common/src/common/block/tech/BlockDispenser.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockContainer; import common.dispenser.BehaviorDefaultDispenseItem; import common.dispenser.IBehaviorDispenseItem; import common.dispenser.IBlockSource; diff --git a/common/src/common/block/BlockDropper.java b/common/src/common/block/tech/BlockDropper.java similarity index 99% rename from common/src/common/block/BlockDropper.java rename to common/src/common/block/tech/BlockDropper.java index 8294171..5d8f39e 100755 --- a/common/src/common/block/BlockDropper.java +++ b/common/src/common/block/tech/BlockDropper.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.tech; import common.dispenser.BehaviorDefaultDispenseItem; import common.dispenser.IBehaviorDispenseItem; diff --git a/common/src/common/block/BlockEnchantmentTable.java b/common/src/common/block/tech/BlockEnchantmentTable.java similarity index 98% rename from common/src/common/block/BlockEnchantmentTable.java rename to common/src/common/block/tech/BlockEnchantmentTable.java index b461b36..3c8b3da 100755 --- a/common/src/common/block/BlockEnchantmentTable.java +++ b/common/src/common/block/tech/BlockEnchantmentTable.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; diff --git a/common/src/common/block/BlockFurnace.java b/common/src/common/block/tech/BlockFurnace.java similarity index 99% rename from common/src/common/block/BlockFurnace.java rename to common/src/common/block/tech/BlockFurnace.java index 6e344f0..dfb8811 100755 --- a/common/src/common/block/BlockFurnace.java +++ b/common/src/common/block/tech/BlockFurnace.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; diff --git a/common/src/common/block/BlockHopper.java b/common/src/common/block/tech/BlockHopper.java similarity index 99% rename from common/src/common/block/BlockHopper.java rename to common/src/common/block/tech/BlockHopper.java index 8b26c54..729dfca 100755 --- a/common/src/common/block/BlockHopper.java +++ b/common/src/common/block/tech/BlockHopper.java @@ -1,8 +1,10 @@ -package common.block; +package common.block.tech; import java.util.List; import java.util.function.Predicate; +import common.block.Block; +import common.block.BlockContainer; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; diff --git a/common/src/common/block/BlockJukebox.java b/common/src/common/block/tech/BlockJukebox.java similarity index 94% rename from common/src/common/block/BlockJukebox.java rename to common/src/common/block/tech/BlockJukebox.java index 87f2fce..fde7f5e 100755 --- a/common/src/common/block/BlockJukebox.java +++ b/common/src/common/block/tech/BlockJukebox.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.npc.EntityNPC; import common.init.SoundEvent; import common.item.CheatTab; diff --git a/common/src/common/block/BlockLever.java b/common/src/common/block/tech/BlockLever.java similarity index 99% rename from common/src/common/block/BlockLever.java rename to common/src/common/block/tech/BlockLever.java index 3e33154..fef2544 100755 --- a/common/src/common/block/BlockLever.java +++ b/common/src/common/block/tech/BlockLever.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.SoundEvent; diff --git a/common/src/common/block/BlockMachine.java b/common/src/common/block/tech/BlockMachine.java similarity index 96% rename from common/src/common/block/BlockMachine.java rename to common/src/common/block/tech/BlockMachine.java index 39ac59c..be00a26 100755 --- a/common/src/common/block/BlockMachine.java +++ b/common/src/common/block/tech/BlockMachine.java @@ -1,5 +1,8 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockDirectional; +import common.block.ITileEntityProvider; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.inventory.Container; diff --git a/common/src/common/block/BlockMobSpawner.java b/common/src/common/block/tech/BlockMobSpawner.java similarity index 97% rename from common/src/common/block/BlockMobSpawner.java rename to common/src/common/block/tech/BlockMobSpawner.java index 18f87d3..acfbb2f 100755 --- a/common/src/common/block/BlockMobSpawner.java +++ b/common/src/common/block/tech/BlockMobSpawner.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.BlockContainer; import common.item.CheatTab; import common.item.Item; import common.material.Material; diff --git a/common/src/common/block/BlockNote.java b/common/src/common/block/tech/BlockNote.java similarity index 97% rename from common/src/common/block/BlockNote.java rename to common/src/common/block/tech/BlockNote.java index 3a1203f..7d2f198 100755 --- a/common/src/common/block/BlockNote.java +++ b/common/src/common/block/tech/BlockNote.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.init.SoundEvent; import common.item.CheatTab; diff --git a/common/src/common/block/BlockNuke.java b/common/src/common/block/tech/BlockNuke.java similarity index 97% rename from common/src/common/block/BlockNuke.java rename to common/src/common/block/tech/BlockNuke.java index 7f70ced..add3c4c 100755 --- a/common/src/common/block/BlockNuke.java +++ b/common/src/common/block/tech/BlockNuke.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.item.EntityNuke; import common.init.Blocks; import common.init.SoundEvent; diff --git a/common/src/common/block/BlockPistonBase.java b/common/src/common/block/tech/BlockPistonBase.java similarity index 97% rename from common/src/common/block/BlockPistonBase.java rename to common/src/common/block/tech/BlockPistonBase.java index b4057bb..313a9a2 100755 --- a/common/src/common/block/BlockPistonBase.java +++ b/common/src/common/block/tech/BlockPistonBase.java @@ -1,7 +1,10 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; +import common.block.ITileEntityProvider; +import common.block.SoundType; import common.collect.Lists; import common.entity.Entity; import common.entity.types.EntityLiving; @@ -98,7 +101,7 @@ public class BlockPistonBase extends Block { Block block = this.world.getState(origin).getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { return true; } @@ -129,7 +132,7 @@ public class BlockPistonBase extends Block BlockPos blockpos = origin.offset(this.moveDirection.getOpposite(), i); block = this.world.getState(blockpos).getBlock(); - if (block.getMaterial() == Material.air || !BlockPistonBase.canPush(block, this.world, blockpos, this.moveDirection, false) || blockpos.equals(this.pistonPos)) + if (block == Blocks.air || !BlockPistonBase.canPush(block, this.world, blockpos, this.moveDirection, false) || blockpos.equals(this.pistonPos)) { break; } @@ -176,7 +179,7 @@ public class BlockPistonBase extends Block block = this.world.getState(blockpos1).getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { return true; } @@ -424,7 +427,7 @@ public class BlockPistonBase extends Block } } - if (!flag1 && block.getMaterial() != Material.air && canPush(block, worldIn, blockpos, enumfacing.getOpposite(), false) && (block.getMobilityFlag() == 0 || block == Blocks.piston || block == Blocks.sticky_piston)) + if (!flag1 && block != Blocks.air && canPush(block, worldIn, blockpos, enumfacing.getOpposite(), false) && (block.getMobilityFlag() == 0 || block == Blocks.piston || block == Blocks.sticky_piston)) { this.doMove(worldIn, pos, enumfacing, false); } diff --git a/common/src/common/block/BlockPistonHead.java b/common/src/common/block/tech/BlockPistonHead.java similarity index 99% rename from common/src/common/block/BlockPistonHead.java rename to common/src/common/block/tech/BlockPistonHead.java index fff8415..ce55cce 100755 --- a/common/src/common/block/BlockPistonHead.java +++ b/common/src/common/block/tech/BlockPistonHead.java @@ -1,7 +1,9 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; +import common.block.SoundType; import common.entity.Entity; import common.init.Blocks; import common.init.ItemRegistry; diff --git a/common/src/common/block/BlockPistonMoving.java b/common/src/common/block/tech/BlockPistonMoving.java similarity index 98% rename from common/src/common/block/BlockPistonMoving.java rename to common/src/common/block/tech/BlockPistonMoving.java index 1076638..9da811e 100755 --- a/common/src/common/block/BlockPistonMoving.java +++ b/common/src/common/block/tech/BlockPistonMoving.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.item.Item; @@ -186,7 +188,7 @@ public class BlockPistonMoving extends BlockContainer State iblockstate = tileentitypiston.getPistonState(); Block block = iblockstate.getBlock(); - if (block == this || block.getMaterial() == Material.air) + if (block == this || block == Blocks.air) { return; } @@ -217,7 +219,7 @@ public class BlockPistonMoving extends BlockContainer public BoundingBox getBoundingBox(World worldIn, BlockPos pos, State extendingBlock, float progress, Facing direction) { - if (extendingBlock.getBlock() != this && extendingBlock.getBlock().getMaterial() != Material.air) + if (extendingBlock.getBlock() != this && extendingBlock.getBlock() != Blocks.air) { BoundingBox axisalignedbb = extendingBlock.getBlock().getCollisionBoundingBox(worldIn, pos, extendingBlock); diff --git a/common/src/common/block/BlockPressurePlate.java b/common/src/common/block/tech/BlockPressurePlate.java similarity index 99% rename from common/src/common/block/BlockPressurePlate.java rename to common/src/common/block/tech/BlockPressurePlate.java index 3efdea7..677f88d 100755 --- a/common/src/common/block/BlockPressurePlate.java +++ b/common/src/common/block/tech/BlockPressurePlate.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.tech; import java.util.List; diff --git a/common/src/common/block/BlockPressurePlateWeighted.java b/common/src/common/block/tech/BlockPressurePlateWeighted.java similarity index 98% rename from common/src/common/block/BlockPressurePlateWeighted.java rename to common/src/common/block/tech/BlockPressurePlateWeighted.java index be01b35..55e7b7c 100755 --- a/common/src/common/block/BlockPressurePlateWeighted.java +++ b/common/src/common/block/tech/BlockPressurePlateWeighted.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.tech; import common.entity.Entity; import common.material.Material; diff --git a/common/src/common/block/BlockRail.java b/common/src/common/block/tech/BlockRail.java similarity index 96% rename from common/src/common/block/BlockRail.java rename to common/src/common/block/tech/BlockRail.java index db02ca7..de178aa 100755 --- a/common/src/common/block/BlockRail.java +++ b/common/src/common/block/tech/BlockRail.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.properties.IProperty; import common.properties.PropertyEnum; import common.util.BlockPos; diff --git a/common/src/common/block/BlockRailBase.java b/common/src/common/block/tech/BlockRailBase.java similarity index 99% rename from common/src/common/block/BlockRailBase.java rename to common/src/common/block/tech/BlockRailBase.java index 01c0256..2ef7c4c 100755 --- a/common/src/common/block/BlockRailBase.java +++ b/common/src/common/block/tech/BlockRailBase.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; import common.collect.Lists; import common.init.Blocks; import common.item.CheatTab; diff --git a/common/src/common/block/BlockRailDetector.java b/common/src/common/block/tech/BlockRailDetector.java similarity index 99% rename from common/src/common/block/BlockRailDetector.java rename to common/src/common/block/tech/BlockRailDetector.java index 1c2fbd6..330cc6c 100755 --- a/common/src/common/block/BlockRailDetector.java +++ b/common/src/common/block/tech/BlockRailDetector.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.tech; import java.util.List; import java.util.function.Predicate; diff --git a/common/src/common/block/BlockRailPowered.java b/common/src/common/block/tech/BlockRailPowered.java similarity index 99% rename from common/src/common/block/BlockRailPowered.java rename to common/src/common/block/tech/BlockRailPowered.java index 5989b95..727800b 100755 --- a/common/src/common/block/BlockRailPowered.java +++ b/common/src/common/block/tech/BlockRailPowered.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.function.Predicate; +import common.block.Block; import common.model.Model; import common.model.ModelProvider; import common.properties.IProperty; diff --git a/common/src/common/block/BlockRedstoneComparator.java b/common/src/common/block/tech/BlockRedstoneComparator.java similarity index 99% rename from common/src/common/block/BlockRedstoneComparator.java rename to common/src/common/block/tech/BlockRedstoneComparator.java index 948db47..9a484fe 100755 --- a/common/src/common/block/BlockRedstoneComparator.java +++ b/common/src/common/block/tech/BlockRedstoneComparator.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.ITileEntityProvider; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; @@ -132,7 +134,7 @@ public class BlockRedstoneComparator extends BlockRedstoneDiode implements ITile { i = block.getComparatorInputOverride(worldIn, blockpos); } -// else if (block.getMaterial() == Material.air) +// else if (block == Blocks.air) // { // EntityFrame entityitemframe = this.findItemFrame(worldIn, enumfacing, blockpos); // diff --git a/common/src/common/block/BlockRedstoneDiode.java b/common/src/common/block/tech/BlockRedstoneDiode.java similarity index 99% rename from common/src/common/block/BlockRedstoneDiode.java rename to common/src/common/block/tech/BlockRedstoneDiode.java index 7be2128..63cf8e9 100755 --- a/common/src/common/block/BlockRedstoneDiode.java +++ b/common/src/common/block/tech/BlockRedstoneDiode.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tech; +import common.block.Block; +import common.block.BlockDirectional; import common.entity.types.EntityLiving; import common.init.Blocks; import common.item.ItemStack; diff --git a/common/src/common/block/BlockRedstoneLight.java b/common/src/common/block/tech/BlockRedstoneLight.java similarity index 97% rename from common/src/common/block/BlockRedstoneLight.java rename to common/src/common/block/tech/BlockRedstoneLight.java index 579156b..4ca9c78 100755 --- a/common/src/common/block/BlockRedstoneLight.java +++ b/common/src/common/block/tech/BlockRedstoneLight.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.init.Blocks; import common.init.ItemRegistry; import common.item.Item; diff --git a/common/src/common/block/BlockRedstoneRepeater.java b/common/src/common/block/tech/BlockRedstoneRepeater.java similarity index 99% rename from common/src/common/block/BlockRedstoneRepeater.java rename to common/src/common/block/tech/BlockRedstoneRepeater.java index a98316f..54adc67 100755 --- a/common/src/common/block/BlockRedstoneRepeater.java +++ b/common/src/common/block/tech/BlockRedstoneRepeater.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.Items; diff --git a/common/src/common/block/BlockRedstoneTorch.java b/common/src/common/block/tech/BlockRedstoneTorch.java similarity index 99% rename from common/src/common/block/BlockRedstoneTorch.java rename to common/src/common/block/tech/BlockRedstoneTorch.java index 1de1741..7f73f2b 100755 --- a/common/src/common/block/BlockRedstoneTorch.java +++ b/common/src/common/block/tech/BlockRedstoneTorch.java @@ -1,8 +1,9 @@ -package common.block; +package common.block.tech; import java.util.List; import java.util.Map; +import common.block.Block; import common.collect.Lists; import common.collect.Maps; import common.init.Blocks; diff --git a/common/src/common/block/BlockRedstoneWire.java b/common/src/common/block/tech/BlockRedstoneWire.java similarity index 99% rename from common/src/common/block/BlockRedstoneWire.java rename to common/src/common/block/tech/BlockRedstoneWire.java index a77e77a..ba4c65c 100755 --- a/common/src/common/block/BlockRedstoneWire.java +++ b/common/src/common/block/tech/BlockRedstoneWire.java @@ -1,9 +1,10 @@ -package common.block; +package common.block.tech; import java.util.EnumSet; import java.util.List; import java.util.Set; +import common.block.Block; import common.collect.Lists; import common.collect.Sets; import common.init.Blocks; diff --git a/common/src/common/block/BlockSourceImpl.java b/common/src/common/block/tech/BlockSourceImpl.java similarity index 97% rename from common/src/common/block/BlockSourceImpl.java rename to common/src/common/block/tech/BlockSourceImpl.java index c5e241e..f22c91d 100755 --- a/common/src/common/block/BlockSourceImpl.java +++ b/common/src/common/block/tech/BlockSourceImpl.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.tech; import common.dispenser.IBlockSource; import common.tileentity.TileEntity; diff --git a/common/src/common/block/BlockTNT.java b/common/src/common/block/tech/BlockTNT.java similarity index 99% rename from common/src/common/block/BlockTNT.java rename to common/src/common/block/tech/BlockTNT.java index 1dfc2a3..a5f3769 100755 --- a/common/src/common/block/BlockTNT.java +++ b/common/src/common/block/tech/BlockTNT.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; import common.entity.Entity; import common.entity.item.EntityTnt; import common.entity.npc.EntityNPC; diff --git a/common/src/common/block/BlockTianReactor.java b/common/src/common/block/tech/BlockTianReactor.java similarity index 96% rename from common/src/common/block/BlockTianReactor.java rename to common/src/common/block/tech/BlockTianReactor.java index 6855aa8..0ba0921 100755 --- a/common/src/common/block/BlockTianReactor.java +++ b/common/src/common/block/tech/BlockTianReactor.java @@ -1,4 +1,4 @@ -package common.block; +package common.block.tech; import java.util.Map; diff --git a/common/src/common/block/BlockTorch.java b/common/src/common/block/tech/BlockTorch.java similarity index 98% rename from common/src/common/block/BlockTorch.java rename to common/src/common/block/tech/BlockTorch.java index ca7552b..090960c 100755 --- a/common/src/common/block/BlockTorch.java +++ b/common/src/common/block/tech/BlockTorch.java @@ -1,7 +1,10 @@ -package common.block; +package common.block.tech; import java.util.function.Predicate; +import common.block.Block; +import common.block.BlockDirectional; +import common.block.artificial.BlockFence; import common.entity.types.EntityLiving; import common.init.Blocks; import common.item.CheatTab; diff --git a/common/src/common/block/BlockTripWire.java b/common/src/common/block/tech/BlockTripWire.java similarity index 99% rename from common/src/common/block/BlockTripWire.java rename to common/src/common/block/tech/BlockTripWire.java index e02e941..258db32 100755 --- a/common/src/common/block/BlockTripWire.java +++ b/common/src/common/block/tech/BlockTripWire.java @@ -1,7 +1,8 @@ -package common.block; +package common.block.tech; import java.util.List; +import common.block.Block; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.init.Blocks; diff --git a/common/src/common/block/BlockTripWireHook.java b/common/src/common/block/tech/BlockTripWireHook.java similarity index 99% rename from common/src/common/block/BlockTripWireHook.java rename to common/src/common/block/tech/BlockTripWireHook.java index 778de6c..af7e37a 100755 --- a/common/src/common/block/BlockTripWireHook.java +++ b/common/src/common/block/tech/BlockTripWireHook.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.types.EntityLiving; import common.init.Blocks; import common.init.SoundEvent; diff --git a/common/src/common/block/BlockWarpChest.java b/common/src/common/block/tech/BlockWarpChest.java similarity index 98% rename from common/src/common/block/BlockWarpChest.java rename to common/src/common/block/tech/BlockWarpChest.java index f3aab50..d6270b7 100755 --- a/common/src/common/block/BlockWarpChest.java +++ b/common/src/common/block/tech/BlockWarpChest.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.Blocks; diff --git a/common/src/common/block/BlockWorkbench.java b/common/src/common/block/tech/BlockWorkbench.java similarity index 97% rename from common/src/common/block/BlockWorkbench.java rename to common/src/common/block/tech/BlockWorkbench.java index 3280f32..fcaea1d 100755 --- a/common/src/common/block/BlockWorkbench.java +++ b/common/src/common/block/tech/BlockWorkbench.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tech; +import common.block.Block; import common.entity.npc.EntityNPC; import common.init.BlockRegistry; import common.inventory.Container; diff --git a/common/src/common/block/BlockBanner.java b/common/src/common/block/tile/BlockBanner.java similarity index 98% rename from common/src/common/block/BlockBanner.java rename to common/src/common/block/tile/BlockBanner.java index 0d455c7..78a419b 100755 --- a/common/src/common/block/BlockBanner.java +++ b/common/src/common/block/tile/BlockBanner.java @@ -1,5 +1,7 @@ -package common.block; +package common.block.tile; +import common.block.Block; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.init.Items; import common.item.Item; diff --git a/common/src/common/block/BlockSign.java b/common/src/common/block/tile/BlockSign.java similarity index 98% rename from common/src/common/block/BlockSign.java rename to common/src/common/block/tile/BlockSign.java index ccbb72d..639a546 100755 --- a/common/src/common/block/BlockSign.java +++ b/common/src/common/block/tile/BlockSign.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tile; +import common.block.BlockContainer; import common.entity.npc.EntityNPC; import common.init.Config; import common.init.Items; diff --git a/common/src/common/block/BlockSkull.java b/common/src/common/block/tile/BlockSkull.java similarity index 98% rename from common/src/common/block/BlockSkull.java rename to common/src/common/block/tile/BlockSkull.java index 72ea6a0..e85a740 100755 --- a/common/src/common/block/BlockSkull.java +++ b/common/src/common/block/tile/BlockSkull.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tile; +import common.block.BlockContainer; import common.entity.types.EntityLiving; import common.init.Items; import common.item.Item; diff --git a/common/src/common/block/BlockStandingSign.java b/common/src/common/block/tile/BlockStandingSign.java similarity index 96% rename from common/src/common/block/BlockStandingSign.java rename to common/src/common/block/tile/BlockStandingSign.java index 156dabe..f6a616a 100755 --- a/common/src/common/block/BlockStandingSign.java +++ b/common/src/common/block/tile/BlockStandingSign.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tile; +import common.block.Block; import common.properties.IProperty; import common.properties.PropertyInteger; import common.util.BlockPos; diff --git a/common/src/common/block/BlockWallSign.java b/common/src/common/block/tile/BlockWallSign.java similarity index 97% rename from common/src/common/block/BlockWallSign.java rename to common/src/common/block/tile/BlockWallSign.java index 29da816..b390bd6 100755 --- a/common/src/common/block/BlockWallSign.java +++ b/common/src/common/block/tile/BlockWallSign.java @@ -1,5 +1,6 @@ -package common.block; +package common.block.tile; +import common.block.Block; import common.properties.IProperty; import common.properties.PropertyDirection; import common.util.BlockPos; diff --git a/common/src/common/dimension/Dimension.java b/common/src/common/dimension/Dimension.java index 5ed1030..315dc8f 100755 --- a/common/src/common/dimension/Dimension.java +++ b/common/src/common/dimension/Dimension.java @@ -6,7 +6,7 @@ import java.util.Set; import common.biome.Biome; import common.biome.IBiome; -import common.block.LeavesType; +import common.block.foliage.LeavesType; import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; diff --git a/common/src/common/dispenser/BehaviorDefaultDispenseItem.java b/common/src/common/dispenser/BehaviorDefaultDispenseItem.java index e4aea80..e8c65a5 100755 --- a/common/src/common/dispenser/BehaviorDefaultDispenseItem.java +++ b/common/src/common/dispenser/BehaviorDefaultDispenseItem.java @@ -1,6 +1,6 @@ package common.dispenser; -import common.block.BlockDispenser; +import common.block.tech.BlockDispenser; import common.entity.item.EntityItem; import common.item.ItemStack; import common.util.Facing; diff --git a/common/src/common/dispenser/BehaviorProjectileDispense.java b/common/src/common/dispenser/BehaviorProjectileDispense.java index dc4dbaa..96d6eb1 100755 --- a/common/src/common/dispenser/BehaviorProjectileDispense.java +++ b/common/src/common/dispenser/BehaviorProjectileDispense.java @@ -1,6 +1,6 @@ package common.dispenser; -import common.block.BlockDispenser; +import common.block.tech.BlockDispenser; import common.entity.Entity; import common.entity.types.IProjectile; import common.item.ItemStack; diff --git a/common/src/common/entity/Entity.java b/common/src/common/entity/Entity.java index 52fad4f..890739c 100755 --- a/common/src/common/entity/Entity.java +++ b/common/src/common/entity/Entity.java @@ -3,11 +3,11 @@ package common.entity; import java.util.List; import common.block.Block; -import common.block.BlockFence; -import common.block.BlockFenceGate; -import common.block.BlockLiquid; -import common.block.BlockWall; import common.block.SoundType; +import common.block.artificial.BlockFence; +import common.block.artificial.BlockFenceGate; +import common.block.artificial.BlockWall; +import common.block.liquid.BlockLiquid; import common.color.TextColor; import common.dimension.DimType; import common.enchantment.EnchantmentHelper; @@ -704,7 +704,7 @@ public abstract class Entity BlockPos blockpos = new BlockPos(i, j, k); Block block1 = this.worldObj.getState(blockpos).getBlock(); - if (block1.getMaterial() == Material.air) + if (block1 == Blocks.air) { Block block = this.worldObj.getState(blockpos.down()).getBlock(); @@ -751,7 +751,7 @@ public abstract class Entity this.walkDistMod = (float)((double)this.walkDistMod + (double)ExtMath.sqrtd(d12 * d12 + d14 * d14) * 0.6D); this.stepDistMod = (float)((double)this.stepDistMod + (double)ExtMath.sqrtd(d12 * d12 + d13 * d13 + d14 * d14) * 0.6D); - if (this.stepDistMod > (float)this.nextStepDist && block1.getMaterial() != Material.air) + if (this.stepDistMod > (float)this.nextStepDist && block1 != Blocks.air) { this.nextStepDist = (int)this.stepDistMod + 1; diff --git a/common/src/common/entity/animal/EntityHorse.java b/common/src/common/entity/animal/EntityHorse.java index 7352c24..458f30a 100755 --- a/common/src/common/entity/animal/EntityHorse.java +++ b/common/src/common/entity/animal/EntityHorse.java @@ -30,7 +30,6 @@ import common.inventory.InventoryBasic; import common.item.Item; import common.item.ItemMonsterPlacer; import common.item.ItemStack; -import common.material.Material; import common.model.ParticleType; import common.nbt.NBTTagCompound; import common.nbt.NBTTagList; @@ -436,7 +435,7 @@ public class EntityHorse extends EntityAnimal implements IInvBasic Block block = this.worldObj.getState(new BlockPos(this.posX, this.posY - 0.2D - (double)this.prevYaw, this.posZ)).getBlock(); - if (block.getMaterial() != Material.air) // && !this.isSilent()) + if (block != Blocks.air) // && !this.isSilent()) { SoundType block$soundtype = block.sound; if(block$soundtype.getStepSound() != null) diff --git a/common/src/common/entity/animal/EntityRabbit.java b/common/src/common/entity/animal/EntityRabbit.java index 93ce36f..40e1c34 100755 --- a/common/src/common/entity/animal/EntityRabbit.java +++ b/common/src/common/entity/animal/EntityRabbit.java @@ -17,7 +17,7 @@ import common.ai.EntityJumpHelper; import common.ai.EntityMoveHelper; import common.attributes.Attributes; import common.block.Block; -import common.block.BlockTallGrass; +import common.block.foliage.BlockTallGrass; import common.entity.DamageSource; import common.entity.Entity; import common.entity.npc.Alignment; diff --git a/common/src/common/entity/effect/EntityLightning.java b/common/src/common/entity/effect/EntityLightning.java index 4de8d0f..bbd24c0 100755 --- a/common/src/common/entity/effect/EntityLightning.java +++ b/common/src/common/entity/effect/EntityLightning.java @@ -8,7 +8,6 @@ import common.entity.types.EntityWeatherEffect; import common.init.Blocks; import common.init.Config; import common.init.SoundEvent; -import common.material.Material; import common.util.BlockPos; import common.util.BoundingBox; import common.world.AWorldClient; @@ -66,7 +65,7 @@ public class EntityLightning extends EntityWeatherEffect this.boltVertex = this.rand.longv(); BlockPos blockpos = new BlockPos(this); - if (!this.worldObj.client && this.fire && Config.fire && this.worldObj.isAreaLoaded(blockpos, 10) && this.worldObj.getState(blockpos).getBlock().getMaterial() == Material.air && Blocks.fire.canPlaceBlockAt(this.worldObj, blockpos)) + if (!this.worldObj.client && this.fire && Config.fire && this.worldObj.isAreaLoaded(blockpos, 10) && this.worldObj.getState(blockpos).getBlock() == Blocks.air && Blocks.fire.canPlaceBlockAt(this.worldObj, blockpos)) { this.worldObj.setState(blockpos, Blocks.fire.getState()); } diff --git a/common/src/common/entity/item/EntityCart.java b/common/src/common/entity/item/EntityCart.java index e94b911..6c58128 100755 --- a/common/src/common/entity/item/EntityCart.java +++ b/common/src/common/entity/item/EntityCart.java @@ -1,8 +1,8 @@ package common.entity.item; import common.block.Block; -import common.block.BlockRailBase; -import common.block.BlockRailPowered; +import common.block.tech.BlockRailBase; +import common.block.tech.BlockRailPowered; import common.entity.DamageSource; import common.entity.Entity; import common.entity.EntityType; diff --git a/common/src/common/entity/item/EntityChestCart.java b/common/src/common/entity/item/EntityChestCart.java index 73d7966..1c0f47b 100755 --- a/common/src/common/entity/item/EntityChestCart.java +++ b/common/src/common/entity/item/EntityChestCart.java @@ -1,6 +1,6 @@ package common.entity.item; -import common.block.BlockChest; +import common.block.tech.BlockChest; import common.entity.DamageSource; import common.entity.npc.EntityNPC; import common.init.Blocks; diff --git a/common/src/common/entity/item/EntityFalling.java b/common/src/common/entity/item/EntityFalling.java index f5bdfb0..b130c2d 100755 --- a/common/src/common/entity/item/EntityFalling.java +++ b/common/src/common/entity/item/EntityFalling.java @@ -3,9 +3,9 @@ package common.entity.item; import java.util.List; import common.block.Block; -import common.block.BlockAnvil; import common.block.BlockFalling; import common.block.ITileEntityProvider; +import common.block.tech.BlockAnvil; import common.collect.Lists; import common.entity.DamageSource; import common.entity.Entity; @@ -15,7 +15,6 @@ import common.init.BlockRegistry; import common.init.Blocks; import common.init.Config; import common.item.ItemStack; -import common.material.Material; import common.nbt.NBTBase; import common.nbt.NBTTagCompound; import common.tileentity.TileEntity; @@ -89,7 +88,7 @@ public class EntityFalling extends Entity implements IObjectData { Block block = this.fallTile.getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { this.setDead(); } @@ -291,7 +290,7 @@ public class EntityFalling extends Entity implements IObjectData this.tileEntityData = tagCompund.getCompoundTag("TileEntityData"); } - if (block == null || block.getMaterial() == Material.air) + if (block == null || block == Blocks.air) { this.fallTile = Blocks.sand.getState(); } diff --git a/common/src/common/entity/item/EntityLeashKnot.java b/common/src/common/entity/item/EntityLeashKnot.java index 764cc21..08b8882 100755 --- a/common/src/common/entity/item/EntityLeashKnot.java +++ b/common/src/common/entity/item/EntityLeashKnot.java @@ -1,6 +1,6 @@ package common.entity.item; -import common.block.BlockFence; +import common.block.artificial.BlockFence; import common.entity.DamageSource; import common.entity.Entity; import common.entity.EntityType; diff --git a/common/src/common/entity/item/EntityTntCart.java b/common/src/common/entity/item/EntityTntCart.java index 3f9005c..4d59b8e 100755 --- a/common/src/common/entity/item/EntityTntCart.java +++ b/common/src/common/entity/item/EntityTntCart.java @@ -1,6 +1,6 @@ package common.entity.item; -import common.block.BlockRailBase; +import common.block.tech.BlockRailBase; import common.entity.DamageSource; import common.entity.Entity; import common.entity.projectile.EntityArrow; diff --git a/common/src/common/entity/npc/EntityNPC.java b/common/src/common/entity/npc/EntityNPC.java index bc3c447..80ece57 100755 --- a/common/src/common/entity/npc/EntityNPC.java +++ b/common/src/common/entity/npc/EntityNPC.java @@ -22,7 +22,7 @@ import common.ai.EntityAIWatchClosest2; import common.attributes.AttributeInstance; import common.attributes.Attributes; import common.block.Block; -import common.block.BlockBed; +import common.block.artificial.BlockBed; import common.dimension.Space; import common.enchantment.Enchantment; import common.enchantment.EnchantmentHelper; diff --git a/common/src/common/entity/projectile/EntityArrow.java b/common/src/common/entity/projectile/EntityArrow.java index 3174775..1b8fd19 100755 --- a/common/src/common/entity/projectile/EntityArrow.java +++ b/common/src/common/entity/projectile/EntityArrow.java @@ -12,11 +12,11 @@ import common.entity.types.EntityLiving; import common.entity.types.IObjectData; import common.entity.types.IProjectile; import common.init.BlockRegistry; +import common.init.Blocks; import common.init.Config; import common.init.Items; import common.init.SoundEvent; import common.item.ItemStack; -import common.material.Material; import common.model.ParticleType; import common.nbt.NBTTagCompound; import common.util.BlockPos; @@ -201,7 +201,7 @@ public class EntityArrow extends Entity implements IProjectile, IObjectData State iblockstate = this.worldObj.getState(blockpos); Block block = iblockstate.getBlock(); - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { block.setBlockBoundsBasedOnState(this.worldObj, blockpos); BoundingBox axisalignedbb = block.getCollisionBoundingBox(this.worldObj, blockpos, iblockstate); @@ -397,7 +397,7 @@ public class EntityArrow extends Entity implements IProjectile, IObjectData this.arrowShake = 7; this.setIsCritical(false); - if (this.inTile.getMaterial() != Material.air) + if (this.inTile != Blocks.air) { this.inTile.onEntityCollidedWithBlock(this.worldObj, blockpos1, iblockstate1, this); } diff --git a/common/src/common/entity/types/EntityLiving.java b/common/src/common/entity/types/EntityLiving.java index 4ec9250..57174bf 100755 --- a/common/src/common/entity/types/EntityLiving.java +++ b/common/src/common/entity/types/EntityLiving.java @@ -46,7 +46,6 @@ import common.item.Item; import common.item.ItemArmor; import common.item.ItemMonsterPlacer; import common.item.ItemStack; -import common.material.Material; import common.model.ParticleType; import common.nbt.NBTTagCompound; import common.nbt.NBTTagList; @@ -224,7 +223,7 @@ public abstract class EntityLiving extends Entity Block block = iblockstate.getBlock(); float f = (float)ExtMath.ceilf(this.fallDistance - 3.0F); - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { double d0 = (double)Math.min(0.2F + f / 15.0F, 10.0F); @@ -1247,7 +1246,7 @@ public abstract class EntityLiving extends Entity int l = ExtMath.floord(this.posZ); Block block = this.worldObj.getState(new BlockPos(j, k, l)).getBlock(); - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { SoundType block$soundtype = block.sound; if(block$soundtype.getStepSound() != null) diff --git a/common/src/common/entity/types/EntityThrowable.java b/common/src/common/entity/types/EntityThrowable.java index e325a29..babb6a8 100755 --- a/common/src/common/entity/types/EntityThrowable.java +++ b/common/src/common/entity/types/EntityThrowable.java @@ -3,7 +3,7 @@ package common.entity.types; import java.util.List; import common.block.Block; -import common.block.BlockPortal; +import common.block.artificial.BlockPortal; import common.entity.Entity; import common.entity.EntityType; import common.init.BlockRegistry; diff --git a/common/src/common/init/BlockRegistry.java b/common/src/common/init/BlockRegistry.java index ec7703a..036be1a 100755 --- a/common/src/common/init/BlockRegistry.java +++ b/common/src/common/init/BlockRegistry.java @@ -1,6 +1,128 @@ package common.init; import common.block.*; +import common.block.artificial.BlockBed; +import common.block.artificial.BlockBookshelf; +import common.block.artificial.BlockCake; +import common.block.artificial.BlockCarpet; +import common.block.artificial.BlockCompressedPowered; +import common.block.artificial.BlockDoor; +import common.block.artificial.BlockDragonEgg; +import common.block.artificial.BlockFence; +import common.block.artificial.BlockFenceGate; +import common.block.artificial.BlockFloorPortal; +import common.block.artificial.BlockFlowerPot; +import common.block.artificial.BlockGlass; +import common.block.artificial.BlockHay; +import common.block.artificial.BlockLadder; +import common.block.artificial.BlockPane; +import common.block.artificial.BlockPortal; +import common.block.artificial.BlockPortalFrame; +import common.block.artificial.BlockQuartz; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStainedGlass; +import common.block.artificial.BlockStainedGlassPane; +import common.block.artificial.BlockStairs; +import common.block.artificial.BlockStoneBrick; +import common.block.artificial.BlockTrapDoor; +import common.block.artificial.BlockWall; +import common.block.foliage.BlockBaseFlower; +import common.block.foliage.BlockBlackenedSoil; +import common.block.foliage.BlockBlueShroom; +import common.block.foliage.BlockCactus; +import common.block.foliage.BlockCarrot; +import common.block.foliage.BlockCocoa; +import common.block.foliage.BlockCrops; +import common.block.foliage.BlockDeadBush; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockDryLeaves; +import common.block.foliage.BlockFarmland; +import common.block.foliage.BlockGrass; +import common.block.foliage.BlockHugeMushroom; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockLilyPad; +import common.block.foliage.BlockLog; +import common.block.foliage.BlockMelon; +import common.block.foliage.BlockMushroom; +import common.block.foliage.BlockMycelium; +import common.block.foliage.BlockPotato; +import common.block.foliage.BlockPumpkin; +import common.block.foliage.BlockReed; +import common.block.foliage.BlockSapling; +import common.block.foliage.BlockStem; +import common.block.foliage.BlockTallGrass; +import common.block.foliage.BlockTianSoil; +import common.block.foliage.BlockVine; +import common.block.foliage.BlockWart; +import common.block.liquid.BlockDynamicLiquid; +import common.block.liquid.BlockStaticLiquid; +import common.block.natural.BlockBedrock; +import common.block.natural.BlockBlackenedDirt; +import common.block.natural.BlockBlackenedStone; +import common.block.natural.BlockClay; +import common.block.natural.BlockDirt; +import common.block.natural.BlockFire; +import common.block.natural.BlockGlowstone; +import common.block.natural.BlockGravel; +import common.block.natural.BlockHardenedClay; +import common.block.natural.BlockHellRock; +import common.block.natural.BlockIce; +import common.block.natural.BlockObsidian; +import common.block.natural.BlockOre; +import common.block.natural.BlockPackedIce; +import common.block.natural.BlockRedstoneOre; +import common.block.natural.BlockRock; +import common.block.natural.BlockSand; +import common.block.natural.BlockSandStone; +import common.block.natural.BlockSlime; +import common.block.natural.BlockSnow; +import common.block.natural.BlockSnowBlock; +import common.block.natural.BlockSoulSand; +import common.block.natural.BlockStone; +import common.block.natural.BlockTintedFire; +import common.block.natural.BlockWeb; +import common.block.tech.BlockAnvil; +import common.block.tech.BlockBeacon; +import common.block.tech.BlockBrewingStand; +import common.block.tech.BlockButton; +import common.block.tech.BlockCauldron; +import common.block.tech.BlockChest; +import common.block.tech.BlockCore; +import common.block.tech.BlockDaylightDetector; +import common.block.tech.BlockDispenser; +import common.block.tech.BlockDropper; +import common.block.tech.BlockEnchantmentTable; +import common.block.tech.BlockFurnace; +import common.block.tech.BlockHopper; +import common.block.tech.BlockJukebox; +import common.block.tech.BlockLever; +import common.block.tech.BlockMobSpawner; +import common.block.tech.BlockNote; +import common.block.tech.BlockNuke; +import common.block.tech.BlockPistonBase; +import common.block.tech.BlockPistonHead; +import common.block.tech.BlockPistonMoving; +import common.block.tech.BlockPressurePlate; +import common.block.tech.BlockPressurePlateWeighted; +import common.block.tech.BlockRail; +import common.block.tech.BlockRailDetector; +import common.block.tech.BlockRailPowered; +import common.block.tech.BlockRedstoneComparator; +import common.block.tech.BlockRedstoneLight; +import common.block.tech.BlockRedstoneRepeater; +import common.block.tech.BlockRedstoneTorch; +import common.block.tech.BlockRedstoneWire; +import common.block.tech.BlockTNT; +import common.block.tech.BlockTianReactor; +import common.block.tech.BlockTorch; +import common.block.tech.BlockTripWire; +import common.block.tech.BlockTripWireHook; +import common.block.tech.BlockWarpChest; +import common.block.tech.BlockWorkbench; +import common.block.tile.BlockBanner; +import common.block.tile.BlockSkull; +import common.block.tile.BlockStandingSign; +import common.block.tile.BlockWallSign; import common.color.DyeColor; import common.init.FluidRegistry.LiquidType; import common.item.CheatTab; @@ -114,7 +236,7 @@ public abstract class BlockRegistry { REGISTRY.validateKey(); for(Block block : REGISTRY) { - if(block.getMaterial() != Material.air + if(block != Blocks.air && ((block instanceof BlockStairs) || /* (block instanceof BlockSlab) || */ (block instanceof BlockSlab) || (block instanceof BlockFarmland) || block.isTranslucent() || block.getLightOpacity() == 0)) { block.setSumBrightness(); @@ -324,9 +446,9 @@ public abstract class BlockRegistry { .setStepSound(SoundType.STONE).setDisplay("Redstone-Block").setTab(CheatTab.tabTech)); registerBlock(270, "glass", - (new BlockGlass(Material.glass, false)).setHardness(0.3F).setStepSound(SoundType.GLASS).setDisplay("Glas")); + (new BlockGlass()).setHardness(0.3F).setStepSound(SoundType.GLASS).setDisplay("Glas")); registerBlock(271, "stained_glass", - (new BlockStainedGlass(Material.glass)).setHardness(0.3F).setStepSound(SoundType.GLASS).setDisplay("gefärbtes Glas")); + (new BlockStainedGlass()).setHardness(0.3F).setStepSound(SoundType.GLASS).setDisplay("gefärbtes Glas")); registerBlock(272, "glass_pane", (new BlockPane(Material.glass, false)).setHardness(0.3F).setStepSound(SoundType.GLASS).setDisplay("Glasscheibe")); registerBlock(273, "stained_glass_pane", diff --git a/common/src/common/init/Blocks.java b/common/src/common/init/Blocks.java index 508ec50..2d1a966 100755 --- a/common/src/common/init/Blocks.java +++ b/common/src/common/init/Blocks.java @@ -1,42 +1,42 @@ package common.init; import common.block.Block; -import common.block.BlockBeacon; -import common.block.BlockBed; -import common.block.BlockBlackenedSoil; -import common.block.BlockBush; -import common.block.BlockCactus; -import common.block.BlockCauldron; -import common.block.BlockChest; -import common.block.BlockDaylightDetector; -import common.block.BlockDeadBush; -import common.block.BlockDoublePlant; -import common.block.BlockDryLeaves; -import common.block.BlockDynamicLiquid; -import common.block.BlockFire; -import common.block.BlockFlower; -import common.block.BlockGrass; -import common.block.BlockHopper; -import common.block.BlockLeaves; -import common.block.BlockMycelium; -import common.block.BlockOre; -import common.block.BlockPistonBase; -import common.block.BlockPistonHead; -import common.block.BlockPistonMoving; -import common.block.BlockPortal; -import common.block.BlockRedstoneComparator; -import common.block.BlockRedstoneRepeater; -import common.block.BlockRedstoneWire; -import common.block.BlockReed; -import common.block.BlockSand; -import common.block.BlockSkull; -import common.block.BlockSlab; -import common.block.BlockStainedGlass; -import common.block.BlockStainedGlassPane; -import common.block.BlockStaticLiquid; -import common.block.BlockTallGrass; -import common.block.BlockTianReactor; -import common.block.BlockTripWireHook; +import common.block.artificial.BlockBed; +import common.block.artificial.BlockPortal; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStainedGlass; +import common.block.artificial.BlockStainedGlassPane; +import common.block.foliage.BlockBlackenedSoil; +import common.block.foliage.BlockBush; +import common.block.foliage.BlockCactus; +import common.block.foliage.BlockDeadBush; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockDryLeaves; +import common.block.foliage.BlockFlower; +import common.block.foliage.BlockGrass; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockMycelium; +import common.block.foliage.BlockReed; +import common.block.foliage.BlockTallGrass; +import common.block.liquid.BlockDynamicLiquid; +import common.block.liquid.BlockStaticLiquid; +import common.block.natural.BlockFire; +import common.block.natural.BlockOre; +import common.block.natural.BlockSand; +import common.block.tech.BlockBeacon; +import common.block.tech.BlockCauldron; +import common.block.tech.BlockChest; +import common.block.tech.BlockDaylightDetector; +import common.block.tech.BlockHopper; +import common.block.tech.BlockPistonBase; +import common.block.tech.BlockPistonHead; +import common.block.tech.BlockPistonMoving; +import common.block.tech.BlockRedstoneComparator; +import common.block.tech.BlockRedstoneRepeater; +import common.block.tech.BlockRedstoneWire; +import common.block.tech.BlockTianReactor; +import common.block.tech.BlockTripWireHook; +import common.block.tile.BlockSkull; public abstract class Blocks { diff --git a/common/src/common/init/CraftingRegistry.java b/common/src/common/init/CraftingRegistry.java index e76ddfb..113fe06 100755 --- a/common/src/common/init/CraftingRegistry.java +++ b/common/src/common/init/CraftingRegistry.java @@ -7,15 +7,15 @@ import java.util.Map; import java.util.Set; import common.block.Block; -import common.block.BlockBed; -import common.block.BlockDirt; -import common.block.BlockDoublePlant; -import common.block.BlockFlower; -import common.block.BlockQuartz; -import common.block.BlockSand; -import common.block.BlockSandStone; -import common.block.BlockStoneBrick; -import common.block.BlockWall; +import common.block.artificial.BlockBed; +import common.block.artificial.BlockQuartz; +import common.block.artificial.BlockStoneBrick; +import common.block.artificial.BlockWall; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockFlower; +import common.block.natural.BlockDirt; +import common.block.natural.BlockSand; +import common.block.natural.BlockSandStone; import common.collect.Lists; import common.collect.Maps; import common.color.DyeColor; diff --git a/common/src/common/init/DispenserRegistry.java b/common/src/common/init/DispenserRegistry.java index 3f161a1..d4ef76d 100755 --- a/common/src/common/init/DispenserRegistry.java +++ b/common/src/common/init/DispenserRegistry.java @@ -1,10 +1,10 @@ package common.init; import common.block.Block; -import common.block.BlockDispenser; -import common.block.BlockDynamicLiquid; -import common.block.BlockLiquid; -import common.block.BlockTNT; +import common.block.liquid.BlockDynamicLiquid; +import common.block.liquid.BlockLiquid; +import common.block.tech.BlockDispenser; +import common.block.tech.BlockTNT; import common.color.DyeColor; import common.dispenser.BehaviorDefaultDispenseItem; import common.dispenser.BehaviorProjectileDispense; @@ -205,16 +205,16 @@ public abstract class DispenserRegistry { double d1 = source.getY() + (double)((float)enumfacing.getFrontOffsetY() * 1.125F); double d2 = source.getZ() + (double)((float)enumfacing.getFrontOffsetZ() * 1.125F); BlockPos blockpos = source.getBlockPos().offset(enumfacing); - Material material = world.getState(blockpos).getBlock().getMaterial(); + Block block = world.getState(blockpos).getBlock(); double d3; - if (material.isColdLiquid()) + if (block.getMaterial().isColdLiquid()) { d3 = 1.0D; } else { - if (!Material.air.equals(material) || !world.getState(blockpos.down()).getBlock().getMaterial().isColdLiquid()) + if (block != Blocks.air || !world.getState(blockpos.down()).getBlock().getMaterial().isColdLiquid()) { return this.field_150842_b.dispense(source, stack); } diff --git a/common/src/common/init/FluidRegistry.java b/common/src/common/init/FluidRegistry.java index e585f54..c808342 100755 --- a/common/src/common/init/FluidRegistry.java +++ b/common/src/common/init/FluidRegistry.java @@ -4,9 +4,9 @@ import java.util.List; import java.util.Map; import common.block.Block; -import common.block.BlockDynamicLiquid; -import common.block.BlockLiquid; -import common.block.BlockStaticLiquid; +import common.block.liquid.BlockDynamicLiquid; +import common.block.liquid.BlockLiquid; +import common.block.liquid.BlockStaticLiquid; import common.collect.Lists; import common.collect.Maps; import common.material.Material; diff --git a/common/src/common/init/ItemRegistry.java b/common/src/common/init/ItemRegistry.java index 5ff4a91..d16839e 100755 --- a/common/src/common/init/ItemRegistry.java +++ b/common/src/common/init/ItemRegistry.java @@ -5,21 +5,21 @@ import java.util.Set; import java.util.function.Function; import common.block.Block; -import common.block.BlockBed; -import common.block.BlockButton; -import common.block.BlockDirt; -import common.block.BlockDoor; -import common.block.BlockDoublePlant; -import common.block.BlockFence; -import common.block.BlockFlower; -import common.block.BlockLeaves; -import common.block.BlockOre; -import common.block.BlockSand; -import common.block.BlockSandStone; -import common.block.BlockSapling; -import common.block.BlockSlab; -import common.block.BlockStoneBrick; -import common.block.BlockWall; +import common.block.artificial.BlockBed; +import common.block.artificial.BlockDoor; +import common.block.artificial.BlockFence; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStoneBrick; +import common.block.artificial.BlockWall; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockFlower; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockSapling; +import common.block.natural.BlockDirt; +import common.block.natural.BlockOre; +import common.block.natural.BlockSand; +import common.block.natural.BlockSandStone; +import common.block.tech.BlockButton; import common.collect.Maps; import common.collect.Sets; import common.color.DyeColor; diff --git a/common/src/common/init/SmeltingRegistry.java b/common/src/common/init/SmeltingRegistry.java index f47f6b2..4a316bc 100755 --- a/common/src/common/init/SmeltingRegistry.java +++ b/common/src/common/init/SmeltingRegistry.java @@ -4,7 +4,7 @@ import java.util.Map; import java.util.Map.Entry; import common.block.Block; -import common.block.BlockStoneBrick; +import common.block.artificial.BlockStoneBrick; import common.collect.Maps; import common.color.DyeColor; import common.item.Item; diff --git a/common/src/common/init/UniverseRegistry.java b/common/src/common/init/UniverseRegistry.java index a87f9a6..4fffd2f 100755 --- a/common/src/common/init/UniverseRegistry.java +++ b/common/src/common/init/UniverseRegistry.java @@ -6,8 +6,8 @@ import java.util.Map.Entry; import common.biome.Biome; import common.block.BlockColored; -import common.block.BlockSand; -import common.block.LeavesType; +import common.block.foliage.LeavesType; +import common.block.natural.BlockSand; import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; diff --git a/common/src/common/inventory/ContainerRepair.java b/common/src/common/inventory/ContainerRepair.java index 82da6ed..505cd44 100755 --- a/common/src/common/inventory/ContainerRepair.java +++ b/common/src/common/inventory/ContainerRepair.java @@ -3,7 +3,7 @@ package common.inventory; import java.util.Iterator; import java.util.Map; -import common.block.BlockAnvil; +import common.block.tech.BlockAnvil; import common.enchantment.Enchantment; import common.enchantment.EnchantmentHelper; import common.entity.npc.EntityNPC; diff --git a/common/src/common/inventory/ContainerWorkbench.java b/common/src/common/inventory/ContainerWorkbench.java index 4450495..e25af25 100755 --- a/common/src/common/inventory/ContainerWorkbench.java +++ b/common/src/common/inventory/ContainerWorkbench.java @@ -1,6 +1,6 @@ package common.inventory; -import common.block.BlockWorkbench; +import common.block.tech.BlockWorkbench; import common.entity.npc.EntityNPC; import common.init.CraftingRegistry; import common.item.ItemStack; diff --git a/common/src/common/item/ItemArmor.java b/common/src/common/item/ItemArmor.java index 09e371e..9c2f2ab 100755 --- a/common/src/common/item/ItemArmor.java +++ b/common/src/common/item/ItemArmor.java @@ -8,7 +8,7 @@ import java.util.function.Predicate; import common.attributes.Attribute; import common.attributes.AttributeModifier; import common.attributes.Attributes; -import common.block.BlockDispenser; +import common.block.tech.BlockDispenser; import common.collect.Sets; import common.dispenser.BehaviorDefaultDispenseItem; import common.dispenser.IBehaviorDispenseItem; diff --git a/common/src/common/item/ItemBanner.java b/common/src/common/item/ItemBanner.java index dc04e64..32989a3 100755 --- a/common/src/common/item/ItemBanner.java +++ b/common/src/common/item/ItemBanner.java @@ -2,8 +2,8 @@ package common.item; import java.util.List; -import common.block.BlockStandingSign; -import common.block.BlockWallSign; +import common.block.tile.BlockStandingSign; +import common.block.tile.BlockWallSign; import common.color.DyeColor; import common.entity.npc.EntityNPC; import common.init.Blocks; diff --git a/common/src/common/item/ItemBed.java b/common/src/common/item/ItemBed.java index f2c927e..403a0b0 100755 --- a/common/src/common/item/ItemBed.java +++ b/common/src/common/item/ItemBed.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockBed; +import common.block.artificial.BlockBed; import common.entity.npc.EntityNPC; import common.util.BlockPos; import common.util.ExtMath; diff --git a/common/src/common/item/ItemBucket.java b/common/src/common/item/ItemBucket.java index 242d233..d5e3ee9 100755 --- a/common/src/common/item/ItemBucket.java +++ b/common/src/common/item/ItemBucket.java @@ -8,9 +8,9 @@ import java.util.Queue; import java.util.Set; import common.block.Block; -import common.block.BlockDynamicLiquid; -import common.block.BlockLiquid; -import common.block.BlockStaticLiquid; +import common.block.liquid.BlockDynamicLiquid; +import common.block.liquid.BlockLiquid; +import common.block.liquid.BlockStaticLiquid; import common.collect.Sets; import common.entity.npc.EntityNPC; import common.init.BlockRegistry; diff --git a/common/src/common/item/ItemButton.java b/common/src/common/item/ItemButton.java index 34c50ce..95b923b 100755 --- a/common/src/common/item/ItemButton.java +++ b/common/src/common/item/ItemButton.java @@ -1,6 +1,6 @@ package common.item; -import common.block.BlockButton; +import common.block.tech.BlockButton; import common.model.Model; import common.model.ModelProvider; diff --git a/common/src/common/item/ItemChargedOrb.java b/common/src/common/item/ItemChargedOrb.java index 8e93c20..0016734 100755 --- a/common/src/common/item/ItemChargedOrb.java +++ b/common/src/common/item/ItemChargedOrb.java @@ -1,6 +1,6 @@ package common.item; -import common.block.BlockPortalFrame; +import common.block.artificial.BlockPortalFrame; import common.color.TextColor; import common.entity.item.EntityOrb; import common.entity.npc.EntityNPC; diff --git a/common/src/common/item/ItemDoor.java b/common/src/common/item/ItemDoor.java index ed84de0..244bc09 100755 --- a/common/src/common/item/ItemDoor.java +++ b/common/src/common/item/ItemDoor.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockDoor; +import common.block.artificial.BlockDoor; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.material.Material; diff --git a/common/src/common/item/ItemDoublePlant.java b/common/src/common/item/ItemDoublePlant.java index fe2b963..2e1875e 100755 --- a/common/src/common/item/ItemDoublePlant.java +++ b/common/src/common/item/ItemDoublePlant.java @@ -3,8 +3,8 @@ package common.item; import java.util.function.Function; import common.block.Block; -import common.block.BlockDoublePlant; -import common.block.BlockDoublePlant.EnumPlantType; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockDoublePlant.EnumPlantType; import common.color.Colorizer; import common.model.Model; import common.model.ModelProvider; diff --git a/common/src/common/item/ItemDye.java b/common/src/common/item/ItemDye.java index c42120e..5013ce7 100755 --- a/common/src/common/item/ItemDye.java +++ b/common/src/common/item/ItemDye.java @@ -3,15 +3,14 @@ package common.item; import java.util.List; import common.block.Block; -import common.block.BlockBed; -import common.block.IGrowable; +import common.block.artificial.BlockBed; +import common.block.foliage.IGrowable; import common.color.DyeColor; import common.entity.animal.EntitySheep; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; import common.init.BlockRegistry; import common.init.Blocks; -import common.material.Material; import common.model.Model; import common.model.ModelProvider; import common.model.ParticleType; @@ -181,7 +180,7 @@ public class ItemDye extends Item Block block = worldIn.getState(pos).getBlock(); - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { block.setBlockBoundsBasedOnState(worldIn, pos); diff --git a/common/src/common/item/ItemFence.java b/common/src/common/item/ItemFence.java index 38089d5..007ce6b 100755 --- a/common/src/common/item/ItemFence.java +++ b/common/src/common/item/ItemFence.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockFence; +import common.block.artificial.BlockFence; import common.model.Model; import common.model.ModelProvider; diff --git a/common/src/common/item/ItemFireball.java b/common/src/common/item/ItemFireball.java index 5870b25..51cbe0a 100755 --- a/common/src/common/item/ItemFireball.java +++ b/common/src/common/item/ItemFireball.java @@ -3,7 +3,6 @@ package common.item; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.SoundEvent; -import common.material.Material; import common.util.BlockPos; import common.util.Facing; import common.world.World; @@ -34,7 +33,7 @@ public class ItemFireball extends Item } else { - if (worldIn.getState(pos).getBlock().getMaterial() == Material.air) + if (worldIn.getState(pos).getBlock() == Blocks.air) { worldIn.playSound(SoundEvent.FIREBALL, (double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, 1.0F); worldIn.setState(pos, Blocks.fire.getState()); diff --git a/common/src/common/item/ItemFlintAndSteel.java b/common/src/common/item/ItemFlintAndSteel.java index 5d029a4..e0096ae 100755 --- a/common/src/common/item/ItemFlintAndSteel.java +++ b/common/src/common/item/ItemFlintAndSteel.java @@ -1,9 +1,9 @@ package common.item; -import common.block.BlockFire; +import common.block.natural.BlockFire; import common.entity.npc.EntityNPC; +import common.init.Blocks; import common.init.SoundEvent; -import common.material.Material; import common.util.BlockPos; import common.util.Facing; import common.world.World; @@ -33,7 +33,7 @@ public class ItemFlintAndSteel extends Item } else { - if (worldIn.getState(pos).getBlock().getMaterial() == Material.air) + if (worldIn.getState(pos).getBlock() == Blocks.air) { worldIn.playSound(SoundEvent.IGNITE, (double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, 1.0F); worldIn.setState(pos, this.fireBlock.getState()); diff --git a/common/src/common/item/ItemHoe.java b/common/src/common/item/ItemHoe.java index 1d5294c..7512f93 100755 --- a/common/src/common/item/ItemHoe.java +++ b/common/src/common/item/ItemHoe.java @@ -1,11 +1,10 @@ package common.item; import common.block.Block; -import common.block.BlockDirt; +import common.block.natural.BlockDirt; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.ToolMaterial; -import common.material.Material; import common.model.Transforms; import common.util.BlockPos; import common.util.Facing; @@ -40,7 +39,7 @@ public class ItemHoe extends Item State iblockstate = worldIn.getState(pos); Block block = iblockstate.getBlock(); - if (side != Facing.DOWN && worldIn.getState(pos.up()).getBlock().getMaterial() == Material.air) + if (side != Facing.DOWN && worldIn.getState(pos.up()).getBlock() == Blocks.air) { if (block == Blocks.grass) { diff --git a/common/src/common/item/ItemLead.java b/common/src/common/item/ItemLead.java index 263e5f3..6ea2819 100755 --- a/common/src/common/item/ItemLead.java +++ b/common/src/common/item/ItemLead.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockFence; +import common.block.artificial.BlockFence; import common.entity.item.EntityLeashKnot; import common.entity.npc.EntityNPC; import common.entity.types.EntityLiving; diff --git a/common/src/common/item/ItemLeaves.java b/common/src/common/item/ItemLeaves.java index 16e91d0..efe717c 100755 --- a/common/src/common/item/ItemLeaves.java +++ b/common/src/common/item/ItemLeaves.java @@ -1,7 +1,7 @@ package common.item; -import common.block.BlockLeaves; -import common.block.LeavesType; +import common.block.foliage.BlockLeaves; +import common.block.foliage.LeavesType; public class ItemLeaves extends ItemBlock { diff --git a/common/src/common/item/ItemLilyPad.java b/common/src/common/item/ItemLilyPad.java index 6a69dc2..c8ad9e4 100755 --- a/common/src/common/item/ItemLilyPad.java +++ b/common/src/common/item/ItemLilyPad.java @@ -2,7 +2,7 @@ package common.item; import common.block.Block; import common.block.BlockDirectional; -import common.block.BlockLiquid; +import common.block.liquid.BlockLiquid; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.util.BlockPos; diff --git a/common/src/common/item/ItemMinecart.java b/common/src/common/item/ItemMinecart.java index 73ab5b6..25b0513 100755 --- a/common/src/common/item/ItemMinecart.java +++ b/common/src/common/item/ItemMinecart.java @@ -1,14 +1,14 @@ package common.item; -import common.block.BlockDispenser; -import common.block.BlockRailBase; +import common.block.tech.BlockDispenser; +import common.block.tech.BlockRailBase; import common.dispenser.BehaviorDefaultDispenseItem; import common.dispenser.IBehaviorDispenseItem; import common.dispenser.IBlockSource; import common.entity.item.EntityCart; import common.entity.npc.EntityNPC; +import common.init.Blocks; import common.init.DispenserRegistry; -import common.material.Material; import common.util.BlockPos; import common.util.Facing; import common.world.State; @@ -44,7 +44,7 @@ public class ItemMinecart extends Item } else { - if (iblockstate.getBlock().getMaterial() != Material.air || !BlockRailBase.isRailBlock(world.getState(blockpos.down()))) + if (iblockstate.getBlock() != Blocks.air || !BlockRailBase.isRailBlock(world.getState(blockpos.down()))) { return this.behaviourDefaultDispenseItem.dispense(source, stack); } diff --git a/common/src/common/item/ItemMonsterPlacer.java b/common/src/common/item/ItemMonsterPlacer.java index b5e0d4d..995adc8 100755 --- a/common/src/common/item/ItemMonsterPlacer.java +++ b/common/src/common/item/ItemMonsterPlacer.java @@ -2,8 +2,8 @@ package common.item; import java.util.List; -import common.block.BlockFence; -import common.block.BlockLiquid; +import common.block.artificial.BlockFence; +import common.block.liquid.BlockLiquid; import common.color.TextColor; import common.dimension.Dimension; import common.entity.Entity; diff --git a/common/src/common/item/ItemNpcSpawner.java b/common/src/common/item/ItemNpcSpawner.java index 1f81811..934dbca 100755 --- a/common/src/common/item/ItemNpcSpawner.java +++ b/common/src/common/item/ItemNpcSpawner.java @@ -3,8 +3,8 @@ package common.item; import java.lang.reflect.InvocationTargetException; import java.util.List; -import common.block.BlockFence; -import common.block.BlockLiquid; +import common.block.artificial.BlockFence; +import common.block.liquid.BlockLiquid; import common.color.TextColor; import common.dimension.Dimension; import common.entity.Entity; diff --git a/common/src/common/item/ItemPressurePlate.java b/common/src/common/item/ItemPressurePlate.java index 5a246b2..e644b4b 100755 --- a/common/src/common/item/ItemPressurePlate.java +++ b/common/src/common/item/ItemPressurePlate.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockBasePressurePlate; +import common.block.tech.BlockBasePressurePlate; import common.model.Model; import common.model.ModelProvider; diff --git a/common/src/common/item/ItemReed.java b/common/src/common/item/ItemReed.java index 263df61..91853cf 100755 --- a/common/src/common/item/ItemReed.java +++ b/common/src/common/item/ItemReed.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockSnow; +import common.block.natural.BlockSnow; import common.entity.Entity; import common.entity.npc.EntityNPC; import common.init.Blocks; diff --git a/common/src/common/item/ItemSign.java b/common/src/common/item/ItemSign.java index 81719ad..1708631 100755 --- a/common/src/common/item/ItemSign.java +++ b/common/src/common/item/ItemSign.java @@ -1,8 +1,8 @@ package common.item; import common.block.Block; -import common.block.BlockStandingSign; -import common.block.BlockWallSign; +import common.block.tile.BlockStandingSign; +import common.block.tile.BlockWallSign; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.tileentity.TileEntity; diff --git a/common/src/common/item/ItemSkull.java b/common/src/common/item/ItemSkull.java index ce5443e..20ee545 100755 --- a/common/src/common/item/ItemSkull.java +++ b/common/src/common/item/ItemSkull.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockSkull; +import common.block.tile.BlockSkull; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.model.Model; diff --git a/common/src/common/item/ItemSlab.java b/common/src/common/item/ItemSlab.java index 4b171ba..919e9ba 100755 --- a/common/src/common/item/ItemSlab.java +++ b/common/src/common/item/ItemSlab.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockSlab; +import common.block.artificial.BlockSlab; import common.entity.npc.EntityNPC; import common.util.BlockPos; import common.util.Facing; diff --git a/common/src/common/item/ItemSnow.java b/common/src/common/item/ItemSnow.java index d98bc65..30bd2fc 100755 --- a/common/src/common/item/ItemSnow.java +++ b/common/src/common/item/ItemSnow.java @@ -1,7 +1,7 @@ package common.item; import common.block.Block; -import common.block.BlockSnow; +import common.block.natural.BlockSnow; import common.entity.npc.EntityNPC; import common.util.BlockPos; import common.util.BoundingBox; diff --git a/common/src/common/item/ItemSword.java b/common/src/common/item/ItemSword.java index 67840f0..1634327 100755 --- a/common/src/common/item/ItemSword.java +++ b/common/src/common/item/ItemSword.java @@ -53,7 +53,7 @@ public class ItemSword extends Item else { Material material = state.getMaterial(); - return material != Material.plants && material != Material.vine && material != Material.coral && material != Material.leaves && material != Material.gourd ? 1.0F : 1.5F; + return material != Material.plants && material != Material.vine && material != Material.leaves && material != Material.gourd ? 1.0F : 1.5F; } } diff --git a/common/src/common/item/ItemWall.java b/common/src/common/item/ItemWall.java index 0579baa..fbb0276 100755 --- a/common/src/common/item/ItemWall.java +++ b/common/src/common/item/ItemWall.java @@ -3,7 +3,7 @@ package common.item; import java.util.function.Function; import common.block.Block; -import common.block.BlockWall; +import common.block.artificial.BlockWall; import common.model.Model; import common.model.ModelProvider; diff --git a/common/src/common/material/Material.java b/common/src/common/material/Material.java index c71b80c..28a2f84 100755 --- a/common/src/common/material/Material.java +++ b/common/src/common/material/Material.java @@ -2,7 +2,6 @@ package common.material; public class Material { - public static final Material air = new MaterialTransparent(); public static final Material grass = new Material(); public static final Material ground = new Material(); public static final Material wood = (new Material()).setBurning(); @@ -22,15 +21,12 @@ public class Material public static final Material sand = new Material(); public static final Material circuits = (new MaterialLogic()).setNoPushMobility(); public static final Material carpet = (new MaterialLogic()).setBurning(); - public static final Material glass = (new Material()).setTranslucent(); // .setAdventureModeExempt(); - public static final Material redstoneLight = (new Material()); // .setAdventureModeExempt(); + public static final Material glass = (new Material()).setTranslucent(); + public static final Material redstoneLight = (new Material()); public static final Material tnt = (new Material()).setBurning().setTranslucent(); - public static final Material coral = (new Material()).setNoPushMobility(); - public static final Material ice = (new Material()).setTranslucent(); // .setAdventureModeExempt(); - public static final Material packedIce = (new Material()); // .setAdventureModeExempt(); + public static final Material ice = (new Material()).setTranslucent(); + public static final Material packedIce = (new Material()); public static final Material snow = (new MaterialLogic()).setReplaceable().setTranslucent().setRequiresTool().setNoPushMobility(); - - /** The material for crafted snow. */ public static final Material craftedSnow = (new Material()).setRequiresTool(); public static final Material cactus = (new Material()).setTranslucent().setNoPushMobility(); public static final Material clay = new Material(); @@ -45,10 +41,7 @@ public class Material return false; } }).setRequiresTool().setNoPushMobility(); - - /** Pistons' material. */ public static final Material piston = (new Material()).setImmovableMobility(); -// public static final Material barrier = (new Material()).setRequiresTool().setImmovableMobility(); /** Bool defining if the block can burn or not. */ private boolean canBurn; diff --git a/common/src/common/pathfinding/PathNavigateGround.java b/common/src/common/pathfinding/PathNavigateGround.java index f12b1c8..0ecbf86 100755 --- a/common/src/common/pathfinding/PathNavigateGround.java +++ b/common/src/common/pathfinding/PathNavigateGround.java @@ -4,6 +4,7 @@ import common.block.Block; import common.entity.animal.EntityChicken; import common.entity.npc.EntityZombie; import common.entity.types.EntityLiving; +import common.init.Blocks; import common.material.Material; import common.util.BlockPos; import common.util.ExtMath; @@ -206,7 +207,7 @@ public class PathNavigateGround extends PathNavigate Block block = this.worldObj.getState(new BlockPos(k, y - 1, l)).getBlock(); Material material = block.getMaterial(); - if (material == Material.air) + if (block == Blocks.air) { return false; } diff --git a/common/src/common/pathfinding/WalkNodeProcessor.java b/common/src/common/pathfinding/WalkNodeProcessor.java index 1233bcd..8ba5d42 100755 --- a/common/src/common/pathfinding/WalkNodeProcessor.java +++ b/common/src/common/pathfinding/WalkNodeProcessor.java @@ -1,11 +1,11 @@ package common.pathfinding; import common.block.Block; -import common.block.BlockDoor; -import common.block.BlockFence; -import common.block.BlockFenceGate; -import common.block.BlockRailBase; -import common.block.BlockWall; +import common.block.artificial.BlockDoor; +import common.block.artificial.BlockFence; +import common.block.artificial.BlockFenceGate; +import common.block.artificial.BlockWall; +import common.block.tech.BlockRailBase; import common.entity.Entity; import common.init.Blocks; import common.material.Material; @@ -205,7 +205,7 @@ public class WalkNodeProcessor extends NodeProcessor mpos.set(i, j, k); Block block = world.getState(mpos).getBlock(); - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { if (block != Blocks.trapdoor && block != Blocks.iron_trapdoor) { diff --git a/common/src/common/tileentity/TileEntityBanner.java b/common/src/common/tileentity/TileEntityBanner.java index c4c7b1b..5691dd5 100755 --- a/common/src/common/tileentity/TileEntityBanner.java +++ b/common/src/common/tileentity/TileEntityBanner.java @@ -2,7 +2,7 @@ package common.tileentity; import java.util.List; -import common.block.BlockFlower; +import common.block.foliage.BlockFlower; import common.collect.Lists; import common.color.DyeColor; import common.init.Blocks; diff --git a/common/src/common/tileentity/TileEntityBrewingStand.java b/common/src/common/tileentity/TileEntityBrewingStand.java index 3ae0f5e..b1c3152 100755 --- a/common/src/common/tileentity/TileEntityBrewingStand.java +++ b/common/src/common/tileentity/TileEntityBrewingStand.java @@ -3,7 +3,7 @@ package common.tileentity; import java.util.Arrays; import java.util.List; -import common.block.BlockBrewingStand; +import common.block.tech.BlockBrewingStand; import common.entity.npc.EntityNPC; import common.init.Items; import common.inventory.Container; diff --git a/common/src/common/tileentity/TileEntityChest.java b/common/src/common/tileentity/TileEntityChest.java index b85965f..d426c7c 100755 --- a/common/src/common/tileentity/TileEntityChest.java +++ b/common/src/common/tileentity/TileEntityChest.java @@ -1,7 +1,7 @@ package common.tileentity; import common.block.Block; -import common.block.BlockChest; +import common.block.tech.BlockChest; import common.entity.npc.EntityNPC; import common.init.SoundEvent; import common.inventory.Container; diff --git a/common/src/common/tileentity/TileEntityDaylightDetector.java b/common/src/common/tileentity/TileEntityDaylightDetector.java index a3518e2..6355815 100755 --- a/common/src/common/tileentity/TileEntityDaylightDetector.java +++ b/common/src/common/tileentity/TileEntityDaylightDetector.java @@ -1,6 +1,6 @@ package common.tileentity; -import common.block.BlockDaylightDetector; +import common.block.tech.BlockDaylightDetector; import common.world.AWorldServer; public class TileEntityDaylightDetector extends TileEntity implements ITickable diff --git a/common/src/common/tileentity/TileEntityFurnace.java b/common/src/common/tileentity/TileEntityFurnace.java index af1c0f3..2f3a1f6 100755 --- a/common/src/common/tileentity/TileEntityFurnace.java +++ b/common/src/common/tileentity/TileEntityFurnace.java @@ -1,9 +1,9 @@ package common.tileentity; import common.block.Block; -import common.block.BlockFurnace; -import common.block.BlockSapling; -import common.block.BlockSlab; +import common.block.artificial.BlockSlab; +import common.block.foliage.BlockSapling; +import common.block.tech.BlockFurnace; import common.entity.npc.EntityNPC; import common.init.Blocks; import common.init.Items; diff --git a/common/src/common/tileentity/TileEntityHopper.java b/common/src/common/tileentity/TileEntityHopper.java index 60db278..4667f09 100755 --- a/common/src/common/tileentity/TileEntityHopper.java +++ b/common/src/common/tileentity/TileEntityHopper.java @@ -4,8 +4,8 @@ import java.util.List; import java.util.function.Predicate; import common.block.Block; -import common.block.BlockChest; -import common.block.BlockHopper; +import common.block.tech.BlockChest; +import common.block.tech.BlockHopper; import common.entity.Entity; import common.entity.item.EntityItem; import common.entity.npc.EntityNPC; diff --git a/common/src/common/tileentity/TileEntityNote.java b/common/src/common/tileentity/TileEntityNote.java index 214d94c..092fe9e 100755 --- a/common/src/common/tileentity/TileEntityNote.java +++ b/common/src/common/tileentity/TileEntityNote.java @@ -1,7 +1,6 @@ package common.tileentity; import common.init.Blocks; -import common.material.Material; import common.nbt.NBTTagCompound; import common.util.BlockPos; import common.util.ExtMath; @@ -39,7 +38,7 @@ public class TileEntityNote extends TileEntity public void triggerNote(World worldIn, BlockPos p_175108_2_) { - if (worldIn.getState(p_175108_2_.up()).getBlock().getMaterial() == Material.air) + if (worldIn.getState(p_175108_2_.up()).getBlock() == Blocks.air) { // Material material = worldIn.getBlockState(p_175108_2_.down()).getBlock().getMaterial(); // int i = 0; diff --git a/common/src/common/village/Village.java b/common/src/common/village/Village.java index 7ecc458..4a805dc 100755 --- a/common/src/common/village/Village.java +++ b/common/src/common/village/Village.java @@ -4,7 +4,7 @@ import java.util.Iterator; import java.util.List; import common.block.Block; -import common.block.BlockDoor; +import common.block.artificial.BlockDoor; import common.collect.Lists; import common.material.Material; import common.nbt.NBTTagCompound; diff --git a/common/src/common/world/Chunk.java b/common/src/common/world/Chunk.java index 3210d9f..16af85a 100755 --- a/common/src/common/world/Chunk.java +++ b/common/src/common/world/Chunk.java @@ -718,7 +718,7 @@ public abstract class Chunk { BlockArray arr = this.getArray(s); if(arr == null && edge || arr != null - && arr.getBlock(x, y, z).getMaterial() == Material.air) { + && arr.getBlock(x, y, z) == Blocks.air) { for(Facing face : Facing.values()) { BlockPos side = block.offset(face); diff --git a/common/src/common/world/Explosion.java b/common/src/common/world/Explosion.java index f3c1e2f..04e5166 100755 --- a/common/src/common/world/Explosion.java +++ b/common/src/common/world/Explosion.java @@ -17,7 +17,6 @@ import common.entity.types.EntityLiving; import common.init.Blocks; import common.init.Config; import common.init.SoundEvent; -import common.material.Material; import common.model.ParticleType; import common.rng.Random; import common.util.BlockPos; @@ -97,7 +96,7 @@ public class Explosion BlockPos blockpos = new BlockPos(d4, d6, d8); State iblockstate = this.worldObj.getState(blockpos); - if (iblockstate.getBlock().getMaterial() != Material.air) + if (iblockstate.getBlock() != Blocks.air) { float f2 = this.exploder != null ? this.exploder.getExplosionResistance(this, this.worldObj, blockpos, iblockstate) : iblockstate.getBlock().getExplosionResistance((Entity)null); f -= (f2 + 0.3F) * 0.3F; @@ -136,7 +135,7 @@ public class Explosion State iblockstate = this.worldObj.getState(blockpos); float f = this.explosionSize; // * (0.7F + this.worldObj.rand.nextFloat() * 0.6F); - if (iblockstate.getBlock().getMaterial() != Material.air) + if (iblockstate.getBlock() != Blocks.air) { float f2 = this.exploder != null ? this.exploder.getExplosionResistance(this, this.worldObj, blockpos, iblockstate) : iblockstate.getBlock().getExplosionResistance((Entity)null); f -= (f2 + 0.3F) * 0.3F; @@ -168,7 +167,7 @@ public class Explosion (dist < explosionSize && rand.doublev() + ((dist - (explosionSize - falloff)) / falloff) < 1.0d))) { BlockPos blockpos = new BlockPos(explosionX + x, explosionY + y, explosionZ + z); State iblockstate = worldObj.getState(blockpos); - if(iblockstate.getBlock().getMaterial() != Material.air && iblockstate.getBlock().getExplosionResistance(null) < 60000.0f) { + if(iblockstate.getBlock() != Blocks.air && iblockstate.getBlock().getExplosionResistance(null) < 60000.0f) { worldObj.setState(blockpos, Blocks.air.getState(), 3); if(rand.chance(1000)) { worldObj.playSound(SoundEvent.EXPLODE, explosionX + x, explosionY + y, explosionZ + z, 4.0F); @@ -306,7 +305,7 @@ public class Explosion this.worldObj.spawnParticle(ParticleType.SMOKE_NORMAL, d0, d1, d2, d3, d4, d5); } - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { if (block.canDropFromExplosion(this)) { @@ -323,7 +322,7 @@ public class Explosion { for (BlockPos blockpos1 : this.affectedBlockPositions) { - if (this.worldObj.getState(blockpos1).getBlock().getMaterial() == Material.air && this.worldObj.getState(blockpos1.down()).getBlock().isFullBlock() && this.explosionRNG.zrange(3) == 0) + if (this.worldObj.getState(blockpos1).getBlock() == Blocks.air && this.worldObj.getState(blockpos1.down()).getBlock().isFullBlock() && this.explosionRNG.zrange(3) == 0) { this.worldObj.setState(blockpos1, Blocks.fire.getState()); } diff --git a/common/src/common/world/World.java b/common/src/common/world/World.java index 66e66ce..42a7f98 100755 --- a/common/src/common/world/World.java +++ b/common/src/common/world/World.java @@ -8,12 +8,12 @@ import java.util.function.Predicate; import common.biome.Biome; import common.block.Block; -import common.block.BlockHopper; -import common.block.BlockLiquid; -import common.block.BlockSlab; -import common.block.BlockSnow; -import common.block.BlockStairs; -import common.block.LeavesType; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStairs; +import common.block.foliage.LeavesType; +import common.block.liquid.BlockLiquid; +import common.block.natural.BlockSnow; +import common.block.tech.BlockHopper; import common.collect.Lists; import common.collect.Sets; import common.dimension.Dimension; @@ -136,7 +136,7 @@ public abstract class World implements IWorldAccess { public abstract Biome getBiomeGenForCoords(BlockPos pos); public boolean isAirBlock(BlockPos pos) { - return this.getState(pos).getBlock().getMaterial() == Material.air; + return this.getState(pos).getBlock() == Blocks.air; } public boolean isBlockLoaded(BlockPos pos) { @@ -249,7 +249,7 @@ public abstract class World implements IWorldAccess { State iblockstate = this.getState(pos); Block block = iblockstate.getBlock(); - if(block.getMaterial() == Material.air) { + if(block == Blocks.air) { return false; } else { @@ -1589,7 +1589,7 @@ public abstract class World implements IWorldAccess { if(pos.getY() >= -MAX_SIZE_Y && pos.getY() < MAX_SIZE_Y && this.getLightFor(LightType.BLOCK, pos) < 10) { Block block = this.getState(pos).getBlock(); - if((block.getMaterial() == Material.air || (allowLayers && block == Blocks.snow_layer)) + if((block == Blocks.air || (allowLayers && block == Blocks.snow_layer)) && Blocks.snow_layer.canPlaceBlockAt(this, pos)) { return true; } diff --git a/server/src/server/biome/BiomeBlackened.java b/server/src/server/biome/BiomeBlackened.java index f03f41f..04383c2 100644 --- a/server/src/server/biome/BiomeBlackened.java +++ b/server/src/server/biome/BiomeBlackened.java @@ -1,7 +1,7 @@ package server.biome; import common.biome.Biome; -import common.block.BlockFlower; +import common.block.foliage.BlockFlower; import common.entity.npc.EntityMetalhead; import common.init.Blocks; import common.rng.Random; diff --git a/server/src/server/biome/BiomeForest.java b/server/src/server/biome/BiomeForest.java index c0ecc14..7d3d03b 100755 --- a/server/src/server/biome/BiomeForest.java +++ b/server/src/server/biome/BiomeForest.java @@ -1,8 +1,8 @@ package server.biome; import common.biome.Biome; -import common.block.BlockDoublePlant; -import common.block.BlockFlower; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockFlower; import common.entity.animal.EntityWolf; import common.entity.npc.EntityElf; import common.entity.npc.EntityWoodElf; diff --git a/server/src/server/biome/BiomeJungle.java b/server/src/server/biome/BiomeJungle.java index e871913..34faff3 100755 --- a/server/src/server/biome/BiomeJungle.java +++ b/server/src/server/biome/BiomeJungle.java @@ -1,7 +1,7 @@ package server.biome; import common.biome.Biome; -import common.block.BlockTallGrass; +import common.block.foliage.BlockTallGrass; import common.entity.animal.EntityChicken; import common.entity.animal.EntityOcelot; import common.init.Blocks; diff --git a/server/src/server/biome/BiomeMesa.java b/server/src/server/biome/BiomeMesa.java index 6651be2..19251d3 100755 --- a/server/src/server/biome/BiomeMesa.java +++ b/server/src/server/biome/BiomeMesa.java @@ -5,11 +5,10 @@ import java.util.Arrays; import common.biome.Biome; import common.block.Block; import common.block.BlockColored; -import common.block.BlockDirt; -import common.block.BlockSand; +import common.block.natural.BlockDirt; +import common.block.natural.BlockSand; import common.color.DyeColor; import common.init.Blocks; -import common.material.Material; import common.rng.PerlinGen; import common.rng.Random; import common.rng.WeightedList; @@ -122,7 +121,7 @@ public class BiomeMesa extends GenBiome for (int i1 = chunkPrimerIn.height - 1; i1 >= 0; --i1) { - if (chunkPrimerIn.get(k1, i1, j1).getBlock().getMaterial() == Material.air && i1 < (int)d4) + if (chunkPrimerIn.get(k1, i1, j1).getBlock() == Blocks.air && i1 < (int)d4) { chunkPrimerIn.set(k1, i1, j1, worldState); } @@ -135,7 +134,7 @@ public class BiomeMesa extends GenBiome // { State iblockstate1 = chunkPrimerIn.get(k1, i1, j1); - if (iblockstate1.getBlock().getMaterial() == Material.air) + if (iblockstate1.getBlock() == Blocks.air) { l = -1; } @@ -156,7 +155,7 @@ public class BiomeMesa extends GenBiome iblockstate3 = this.fillerBlock; } - if (i1 < l1 && (iblockstate == null || iblockstate.getBlock().getMaterial() == Material.air)) + if (i1 < l1 && (iblockstate == null || iblockstate.getBlock() == Blocks.air)) { iblockstate = liquid; } diff --git a/server/src/server/biome/BiomePlains.java b/server/src/server/biome/BiomePlains.java index 2732ac8..15a969a 100755 --- a/server/src/server/biome/BiomePlains.java +++ b/server/src/server/biome/BiomePlains.java @@ -1,8 +1,8 @@ package server.biome; import common.biome.Biome; -import common.block.BlockDoublePlant; -import common.block.BlockFlower; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockFlower; import common.entity.animal.EntityHorse; import common.rng.Random; import common.util.BlockPos; diff --git a/server/src/server/biome/BiomeSavanna.java b/server/src/server/biome/BiomeSavanna.java index 1063529..f2124ae 100755 --- a/server/src/server/biome/BiomeSavanna.java +++ b/server/src/server/biome/BiomeSavanna.java @@ -1,8 +1,8 @@ package server.biome; import common.biome.Biome; -import common.block.BlockDirt; -import common.block.BlockDoublePlant; +import common.block.foliage.BlockDoublePlant; +import common.block.natural.BlockDirt; import common.entity.animal.EntityHorse; import common.init.Blocks; import common.rng.Random; diff --git a/server/src/server/biome/BiomeSpace.java b/server/src/server/biome/BiomeSpace.java index 93f8d1f..b83c9de 100755 --- a/server/src/server/biome/BiomeSpace.java +++ b/server/src/server/biome/BiomeSpace.java @@ -1,7 +1,7 @@ package server.biome; import common.biome.Biome; -import common.block.BlockDirt; +import common.block.natural.BlockDirt; import common.init.Blocks; import common.rng.Random; import common.rng.WeightedList; diff --git a/server/src/server/biome/BiomeSwamp.java b/server/src/server/biome/BiomeSwamp.java index eb5cdd0..9c3854d 100755 --- a/server/src/server/biome/BiomeSwamp.java +++ b/server/src/server/biome/BiomeSwamp.java @@ -2,10 +2,9 @@ package server.biome; import common.biome.Biome; import common.block.BlockDirectional; -import common.block.BlockFlower; +import common.block.foliage.BlockFlower; import common.entity.npc.EntitySlime; import common.init.Blocks; -import common.material.Material; import common.rng.Random; import common.util.BlockPos; import common.util.Facing; @@ -53,7 +52,7 @@ public class BiomeSwamp extends GenBiome for (int k = chunkPrimerIn.height - 1; k >= 0; --k) { - if (chunkPrimerIn.get(j, k, i).getBlock().getMaterial() != Material.air) + if (chunkPrimerIn.get(j, k, i).getBlock() != Blocks.air) { if (k == 62 && chunkPrimerIn.get(j, k, i).getBlock() != Blocks.water) { diff --git a/server/src/server/biome/BiomeTaiga.java b/server/src/server/biome/BiomeTaiga.java index d7a9c5f..97812ff 100755 --- a/server/src/server/biome/BiomeTaiga.java +++ b/server/src/server/biome/BiomeTaiga.java @@ -1,9 +1,9 @@ package server.biome; import common.biome.Biome; -import common.block.BlockDirt; -import common.block.BlockDoublePlant; -import common.block.BlockTallGrass; +import common.block.foliage.BlockDoublePlant; +import common.block.foliage.BlockTallGrass; +import common.block.natural.BlockDirt; import common.entity.animal.EntityWolf; import common.init.Blocks; import common.rng.Random; diff --git a/server/src/server/biome/BiomeTian.java b/server/src/server/biome/BiomeTian.java index 58c7d45..021a972 100755 --- a/server/src/server/biome/BiomeTian.java +++ b/server/src/server/biome/BiomeTian.java @@ -1,7 +1,7 @@ package server.biome; import common.biome.Biome; -import common.block.BlockFlower; +import common.block.foliage.BlockFlower; import common.entity.animal.EntityBat; import common.entity.animal.EntityMouse; import common.entity.animal.EntityRabbit; diff --git a/server/src/server/biome/GenBiome.java b/server/src/server/biome/GenBiome.java index 825b630..4878746 100755 --- a/server/src/server/biome/GenBiome.java +++ b/server/src/server/biome/GenBiome.java @@ -4,10 +4,10 @@ import common.biome.Biome; import common.biome.IBiome; import common.block.Block; import common.block.BlockColored; -import common.block.BlockFlower; -import common.block.BlockSand; -import common.block.BlockSapling; -import common.block.BlockTallGrass; +import common.block.foliage.BlockFlower; +import common.block.foliage.BlockSapling; +import common.block.foliage.BlockTallGrass; +import common.block.natural.BlockSand; import common.color.DyeColor; import common.entity.animal.EntityBat; import common.entity.animal.EntityChicken; @@ -368,7 +368,7 @@ public abstract class GenBiome implements IBiome { BlockFlower.EnumFlowerType blockflower$enumflowertype = this.pickRandomFlower(rand, blockpos1); BlockFlower blockflower = blockflower$enumflowertype.getBlockType().getBlock(); - if (blockflower.getMaterial() != Material.air) + if (blockflower != Blocks.air) { this.yellowFlowerGen.setGeneratedBlock(blockflower, blockflower$enumflowertype); this.yellowFlowerGen.generate(world, rand, blockpos1); @@ -567,7 +567,7 @@ public abstract class GenBiome implements IBiome { { State iblockstate2 = chunkPrimerIn.get(i1, j1, l); - if (iblockstate2.getBlock().getMaterial() == Material.air) + if (iblockstate2.getBlock() == Blocks.air) { j = -1; } @@ -586,7 +586,7 @@ public abstract class GenBiome implements IBiome { iblockstate1 = this.fillerBlock; } - if (j1 < i && (iblockstate == null || iblockstate.getBlock().getMaterial() == Material.air)) + if (j1 < i && (iblockstate == null || iblockstate.getBlock() == Blocks.air)) { if (freeze && World.ABSOLUTE_ZERO + worldIn.getTempOffset() + this.base.getTemperature(blockpos$mutableblockpos.set(x, j1, z)) <= 0.0F) { @@ -813,7 +813,7 @@ public abstract class GenBiome implements IBiome { { if (j >= i / 16) { - if (worldIn.getState(blockpos1).getBlock().getMaterial() == Material.air) + if (worldIn.getState(blockpos1).getBlock() == Blocks.air) { if (rand.chance(8)) { diff --git a/server/src/server/clipboard/ClipboardPlacer.java b/server/src/server/clipboard/ClipboardPlacer.java index e8239d1..f69acfa 100755 --- a/server/src/server/clipboard/ClipboardPlacer.java +++ b/server/src/server/clipboard/ClipboardPlacer.java @@ -9,9 +9,9 @@ import java.util.Map; import java.util.Set; import common.block.Block; -import common.block.BlockDoor; -import common.block.BlockRailBase; import common.block.ITileEntityProvider; +import common.block.artificial.BlockDoor; +import common.block.tech.BlockRailBase; import common.collect.Lists; import common.init.Blocks; import common.inventory.IInventory; diff --git a/server/src/server/clipboard/ReorderRegistry.java b/server/src/server/clipboard/ReorderRegistry.java index 4f346ec..3040b08 100755 --- a/server/src/server/clipboard/ReorderRegistry.java +++ b/server/src/server/clipboard/ReorderRegistry.java @@ -6,8 +6,8 @@ import java.util.Map; import java.util.Set; import common.block.Block; -import common.block.BlockBed; -import common.block.BlockDoor; +import common.block.artificial.BlockBed; +import common.block.artificial.BlockDoor; import common.color.DyeColor; import common.init.BlockRegistry; import common.init.Blocks; diff --git a/server/src/server/clipboard/RotationRegistry.java b/server/src/server/clipboard/RotationRegistry.java index 38bc0c7..6212c0d 100755 --- a/server/src/server/clipboard/RotationRegistry.java +++ b/server/src/server/clipboard/RotationRegistry.java @@ -6,16 +6,16 @@ import java.util.Map; import java.util.function.Predicate; import common.block.Block; -import common.block.BlockDoor; -import common.block.BlockLever; -import common.block.BlockLog; -import common.block.BlockPortal; -import common.block.BlockQuartz; -import common.block.BlockRail; -import common.block.BlockRailBase; -import common.block.BlockRailDetector; -import common.block.BlockRailPowered; import common.block.BlockRotatedPillar; +import common.block.artificial.BlockDoor; +import common.block.artificial.BlockPortal; +import common.block.artificial.BlockQuartz; +import common.block.foliage.BlockLog; +import common.block.tech.BlockLever; +import common.block.tech.BlockRail; +import common.block.tech.BlockRailBase; +import common.block.tech.BlockRailDetector; +import common.block.tech.BlockRailPowered; import common.collect.Lists; import common.collect.Maps; import common.properties.IProperty; diff --git a/server/src/server/network/Player.java b/server/src/server/network/Player.java index 2429ab0..d1ca5d4 100755 --- a/server/src/server/network/Player.java +++ b/server/src/server/network/Player.java @@ -8,9 +8,9 @@ import java.util.Set; import java.util.function.Predicate; import common.block.Block; -import common.block.BlockFence; -import common.block.BlockFenceGate; -import common.block.BlockWall; +import common.block.artificial.BlockFence; +import common.block.artificial.BlockFenceGate; +import common.block.artificial.BlockWall; import common.collect.Lists; import common.color.TextColor; import common.dimension.Dimension; @@ -26,6 +26,7 @@ import common.entity.projectile.EntityArrow; import common.entity.types.EntityLiving; import common.future.Futures; import common.init.BlockRegistry; +import common.init.Blocks; import common.init.Config; import common.init.EntityRegistry; import common.init.Items; @@ -45,7 +46,6 @@ import common.item.ItemArmor; import common.item.ItemControl; import common.item.ItemStack; import common.log.Log; -import common.material.Material; import common.nbt.NBTTagCompound; import common.nbt.NBTTagList; import common.network.IPlayer; @@ -395,7 +395,7 @@ public class Player extends NetHandler implements ICrafting, Executor, IPlayer BlockPos blockpos = new BlockPos(i, j, k); Block block = this.entity.worldObj.getState(blockpos).getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { Block block1 = this.entity.worldObj.getState(blockpos.down()).getBlock(); @@ -1106,7 +1106,7 @@ public class Player extends NetHandler implements ICrafting, Executor, IPlayer int i = this.curblockDamage - this.initialBlockDamage; Block block = this.entity.worldObj.getState(this.removingPos).getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { this.receivedFinishDiggingPacket = false; } @@ -1132,7 +1132,7 @@ public class Player extends NetHandler implements ICrafting, Executor, IPlayer { Block block1 = this.entity.worldObj.getState(this.startPos).getBlock(); - if (block1.getMaterial() == Material.air) + if (block1 == Blocks.air) { this.entity.worldObj.sendBlockBreakProgress(this.entity.getId(), this.startPos, -1); this.durabilityRemainingOnBlock = -1; @@ -1175,13 +1175,13 @@ public class Player extends NetHandler implements ICrafting, Executor, IPlayer this.initialDamage = this.curblockDamage; float f = 1.0F; - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { block.onBlockClicked(this.entity.worldObj, pos, this.entity); f = block.getPlayerRelativeBlockHardness(this.entity, this.entity.worldObj, pos); } - if (block.getMaterial() != Material.air && f >= 1.0F) + if (block != Blocks.air && f >= 1.0F) { this.tryHarvestBlock(pos); } @@ -1203,7 +1203,7 @@ public class Player extends NetHandler implements ICrafting, Executor, IPlayer int i = this.curblockDamage - this.initialDamage; Block block = this.entity.worldObj.getState(pos).getBlock(); - if (block.getMaterial() != Material.air) + if (block != Blocks.air) { float f = block.getPlayerRelativeBlockHardness(this.entity, this.entity.worldObj, pos) * (float)(i + 1); @@ -2399,7 +2399,7 @@ public class Player extends NetHandler implements ICrafting, Executor, IPlayer this.cancelDestroyingBlock(); } - if (worldserver.getState(blockpos).getBlock().getMaterial() != Material.air) + if (worldserver.getState(blockpos).getBlock() != Blocks.air) { this.sendPacket(new SPacketBlockChange(worldserver, blockpos)); } diff --git a/server/src/server/village/VillageCollection.java b/server/src/server/village/VillageCollection.java index 53ad125..59c9ccb 100755 --- a/server/src/server/village/VillageCollection.java +++ b/server/src/server/village/VillageCollection.java @@ -4,7 +4,7 @@ import java.util.Iterator; import java.util.List; import common.block.Block; -import common.block.BlockDoor; +import common.block.artificial.BlockDoor; import common.collect.Lists; import common.material.Material; import common.nbt.NBTTagCompound; diff --git a/common/src/common/block/BlockEventData.java b/server/src/server/world/BlockEventData.java similarity index 96% rename from common/src/common/block/BlockEventData.java rename to server/src/server/world/BlockEventData.java index e8fdcf4..9ab6c8f 100755 --- a/common/src/common/block/BlockEventData.java +++ b/server/src/server/world/BlockEventData.java @@ -1,5 +1,6 @@ -package common.block; +package server.world; +import common.block.Block; import common.util.BlockPos; public class BlockEventData diff --git a/server/src/server/world/ChunkServer.java b/server/src/server/world/ChunkServer.java index 675ec10..98ceb4d 100644 --- a/server/src/server/world/ChunkServer.java +++ b/server/src/server/world/ChunkServer.java @@ -8,7 +8,6 @@ import common.entity.Entity; import common.init.BlockRegistry; import common.init.Blocks; import common.log.Log; -import common.material.Material; import common.rng.Random; import common.tileentity.TileEntity; import common.util.BlockPos; @@ -33,7 +32,7 @@ public class ChunkServer extends Chunk { for(int bz = 0; bz < 16; ++bz) { for(int by = 0; by < height; ++by) { State state = BlockRegistry.STATEMAP.getByValue(data[bx << 4 | bz | by << 8]); - if(state != null && state.getBlock().getMaterial() != Material.air) { + if(state != null && state.getBlock() != Blocks.air) { int y = by >> 4; BlockArray arr = this.getArray(y); if(arr == null) { diff --git a/server/src/server/world/Converter.java b/server/src/server/world/Converter.java index d5f31c0..360288e 100644 --- a/server/src/server/world/Converter.java +++ b/server/src/server/world/Converter.java @@ -17,30 +17,30 @@ import java.util.zip.InflaterInputStream; import common.biome.Biome; import common.block.Block; -import common.block.BlockCactus; -import common.block.BlockCarpet; import common.block.BlockColored; -import common.block.BlockDirt; -import common.block.BlockFire; -import common.block.BlockFlower; -import common.block.BlockFlowerPot; -import common.block.BlockLeaves; -import common.block.BlockLiquid; -import common.block.BlockLog; -import common.block.BlockPistonBase; -import common.block.BlockPistonHead; -import common.block.BlockQuartz; -import common.block.BlockRock; -import common.block.BlockSand; -import common.block.BlockSandStone; -import common.block.BlockSlab; -import common.block.BlockStainedGlass; -import common.block.BlockStainedGlassPane; -import common.block.BlockStoneBrick; -import common.block.BlockTNT; -import common.block.BlockTallGrass; -import common.block.BlockWall; -import common.block.LeavesType; +import common.block.artificial.BlockCarpet; +import common.block.artificial.BlockFlowerPot; +import common.block.artificial.BlockQuartz; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStainedGlass; +import common.block.artificial.BlockStainedGlassPane; +import common.block.artificial.BlockStoneBrick; +import common.block.artificial.BlockWall; +import common.block.foliage.BlockCactus; +import common.block.foliage.BlockFlower; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockLog; +import common.block.foliage.BlockTallGrass; +import common.block.foliage.LeavesType; +import common.block.liquid.BlockLiquid; +import common.block.natural.BlockDirt; +import common.block.natural.BlockFire; +import common.block.natural.BlockRock; +import common.block.natural.BlockSand; +import common.block.natural.BlockSandStone; +import common.block.tech.BlockPistonBase; +import common.block.tech.BlockPistonHead; +import common.block.tech.BlockTNT; import common.collect.Maps; import common.color.DyeColor; import common.entity.Entity; diff --git a/server/src/server/world/WorldServer.java b/server/src/server/world/WorldServer.java index 7808ed8..6c9f485 100755 --- a/server/src/server/world/WorldServer.java +++ b/server/src/server/world/WorldServer.java @@ -15,11 +15,10 @@ import java.util.function.Predicate; import common.biome.Biome; import common.block.Block; -import common.block.BlockDoor; -import common.block.BlockEventData; import common.block.BlockFalling; -import common.block.BlockLiquid; -import common.block.BlockSnow; +import common.block.artificial.BlockDoor; +import common.block.liquid.BlockLiquid; +import common.block.natural.BlockSnow; import common.collect.Lists; import common.collect.Maps; import common.collect.Sets; @@ -764,14 +763,14 @@ public final class WorldServer extends AWorldServer { NextTickListEntry nextticklistentry = new NextTickListEntry(pos, blockIn); int i = 0; - if(this.updateForced && blockIn.getMaterial() != Material.air) { + if(this.updateForced && blockIn != Blocks.air) { if(blockIn.requiresUpdates()) { i = 8; if(this.isAreaLoaded(nextticklistentry.position.add(-i, -i, -i), nextticklistentry.position.add(i, i, i))) { State iblockstate = this.getState(nextticklistentry.position); - if(iblockstate.getBlock().getMaterial() != Material.air && iblockstate.getBlock() == nextticklistentry.getBlock()) { + if(iblockstate.getBlock() != Blocks.air && iblockstate.getBlock() == nextticklistentry.getBlock()) { iblockstate.getBlock().updateTick(this, nextticklistentry.position, iblockstate, this.rand); } } @@ -783,7 +782,7 @@ public final class WorldServer extends AWorldServer { } if(this.isAreaLoaded(pos.add(-i, -i, -i), pos.add(i, i, i))) { - if(blockIn.getMaterial() != Material.air) { + if(blockIn != Blocks.air) { nextticklistentry.setScheduledTime((long)delay + this.time); nextticklistentry.setPriority(priority); } @@ -799,7 +798,7 @@ public final class WorldServer extends AWorldServer { NextTickListEntry nextticklistentry = new NextTickListEntry(pos, blockIn); nextticklistentry.setPriority(priority); - if(blockIn.getMaterial() != Material.air) { + if(blockIn != Blocks.air) { nextticklistentry.setScheduledTime((long)delay + this.time); } @@ -871,7 +870,7 @@ public final class WorldServer extends AWorldServer { if(this.isAreaLoaded(nextticklistentry1.position.add(-k, -k, -k), nextticklistentry1.position.add(k, k, k))) { State iblockstate = this.getState(nextticklistentry1.position); - if(iblockstate.getBlock().getMaterial() != Material.air + if(iblockstate.getBlock() != Blocks.air && Block.isEqualTo(iblockstate.getBlock(), nextticklistentry1.getBlock())) { iblockstate.getBlock().updateTick(this, nextticklistentry1.position, iblockstate, this.rand); } @@ -1140,11 +1139,11 @@ public final class WorldServer extends AWorldServer { if(fire && Config.fire) { BlockPos pos = new BlockPos(entity); if(this.isAreaLoaded(pos, 10)) { - if(this.getState(pos).getBlock().getMaterial() == Material.air && Blocks.fire.canPlaceBlockAt(this, pos)) + if(this.getState(pos).getBlock() == Blocks.air && Blocks.fire.canPlaceBlockAt(this, pos)) this.setState(pos, Blocks.fire.getState()); for(int n = 0; n < 4; n++) { BlockPos extra = pos.add(this.rand.range(-1, 1), this.rand.range(-1, 1), this.rand.range(-1, 1)); - if(this.getState(extra).getBlock().getMaterial() == Material.air && Blocks.fire.canPlaceBlockAt(this, extra)) + if(this.getState(extra).getBlock() == Blocks.air && Blocks.fire.canPlaceBlockAt(this, extra)) this.setState(extra, Blocks.fire.getState()); } } @@ -2360,7 +2359,7 @@ public final class WorldServer extends AWorldServer { if(pos.getY() >= -World.MAX_SIZE_Y && pos.getY() < World.MAX_SIZE_Y) { Block block = this.getState(pos).getBlock(); - if(block.getMaterial() == Material.air && Blocks.fire.canPlaceBlockAt(this, pos)) { + if(block == Blocks.air && Blocks.fire.canPlaceBlockAt(this, pos)) { return true; } } @@ -2411,7 +2410,7 @@ public final class WorldServer extends AWorldServer { for(int i2 = i1; i2 <= j1; ++i2) { Block block = this.getState(blockpos$mutableblockpos.set(k1, l1, i2)).getBlock(); - if(block.getMaterial() != Material.air) { + if(block != Blocks.air) { return true; } } diff --git a/server/src/server/worldgen/FeatureLiquids.java b/server/src/server/worldgen/FeatureLiquids.java index ff0a1e8..69f5871 100755 --- a/server/src/server/worldgen/FeatureLiquids.java +++ b/server/src/server/worldgen/FeatureLiquids.java @@ -1,7 +1,7 @@ package server.worldgen; import common.block.Block; -import common.material.Material; +import common.init.Blocks; import common.rng.Random; import common.util.BlockPos; import common.world.State; @@ -66,7 +66,7 @@ public class FeatureLiquids { return false; } - else if (worldIn.getState(position).getBlock().getMaterial() != Material.air && worldIn.getState(position).getBlock() != replace) + else if (worldIn.getState(position).getBlock() != Blocks.air && worldIn.getState(position).getBlock() != replace) { return false; } diff --git a/server/src/server/worldgen/ReplacerAltSurface.java b/server/src/server/worldgen/ReplacerAltSurface.java index 23043ac..e3daac1 100755 --- a/server/src/server/worldgen/ReplacerAltSurface.java +++ b/server/src/server/worldgen/ReplacerAltSurface.java @@ -2,7 +2,7 @@ package server.worldgen; import common.biome.Biome; import common.block.Block; -import common.material.Material; +import common.init.Blocks; import common.rng.OctaveGen; import common.rng.Random; import common.world.State; @@ -63,7 +63,7 @@ public class ReplacerAltSurface implements BlockReplacer // { State iblockstate2 = primer.get(k, j1, j); - if (iblockstate2.getBlock() != null && iblockstate2.getBlock().getMaterial() != Material.air) + if (iblockstate2.getBlock() != Blocks.air) { if (iblockstate2.getBlock() == this.fillerBlock) { @@ -92,7 +92,7 @@ public class ReplacerAltSurface implements BlockReplacer } } - if (j1 < i && (iblockstate == null || iblockstate.getBlock().getMaterial() == Material.air)) + if (j1 < i && (iblockstate == null || iblockstate.getBlock() == Blocks.air)) { iblockstate = this.liquid; } diff --git a/server/src/server/worldgen/ReplacerTopLayer.java b/server/src/server/worldgen/ReplacerTopLayer.java index 8514527..5f2a52c 100755 --- a/server/src/server/worldgen/ReplacerTopLayer.java +++ b/server/src/server/worldgen/ReplacerTopLayer.java @@ -3,7 +3,6 @@ package server.worldgen; import common.biome.Biome; import common.block.Block; import common.init.Blocks; -import common.material.Material; import common.rng.Random; import common.world.State; import server.world.WorldServer; @@ -37,7 +36,7 @@ public class ReplacerTopLayer implements BlockReplacer { State iblockstate2 = primer.get(i, i1, j); - if (iblockstate2.getBlock().getMaterial() == Material.air) + if (iblockstate2.getBlock() == Blocks.air) { l = -1; } diff --git a/server/src/server/worldgen/caves/MapGenCaves.java b/server/src/server/worldgen/caves/MapGenCaves.java index 18346a0..c3c67d4 100755 --- a/server/src/server/worldgen/caves/MapGenCaves.java +++ b/server/src/server/worldgen/caves/MapGenCaves.java @@ -2,7 +2,7 @@ package server.worldgen.caves; import common.block.Block; import common.block.BlockColored; -import common.block.BlockSand; +import common.block.natural.BlockSand; import common.color.DyeColor; import common.init.Blocks; import common.rng.Random; diff --git a/server/src/server/worldgen/feature/WorldGenAbandonedChest.java b/server/src/server/worldgen/feature/WorldGenAbandonedChest.java index 88b69b0..c71efea 100755 --- a/server/src/server/worldgen/feature/WorldGenAbandonedChest.java +++ b/server/src/server/worldgen/feature/WorldGenAbandonedChest.java @@ -33,7 +33,7 @@ public class WorldGenAbandonedChest extends FeatureGenerator public boolean generate(WorldServer worldIn, Random rand, BlockPos position) { Block block; - while (((block = worldIn.getState(position).getBlock()).getMaterial() == Material.air || block.getMaterial() == Material.leaves) && position.getY() > 1) + while (((block = worldIn.getState(position).getBlock()) == Blocks.air || block.getMaterial() == Material.leaves) && position.getY() > 1) { position = position.down(); } diff --git a/server/src/server/worldgen/feature/WorldGenDesertWells.java b/server/src/server/worldgen/feature/WorldGenDesertWells.java index 2fbe7f9..90b0636 100755 --- a/server/src/server/worldgen/feature/WorldGenDesertWells.java +++ b/server/src/server/worldgen/feature/WorldGenDesertWells.java @@ -1,7 +1,7 @@ package server.worldgen.feature; -import common.block.BlockSand; -import common.block.BlockSlab; +import common.block.artificial.BlockSlab; +import common.block.natural.BlockSand; import common.init.Blocks; import common.rng.Random; import common.util.BlockPos; diff --git a/server/src/server/worldgen/feature/WorldGenGlowStone.java b/server/src/server/worldgen/feature/WorldGenGlowStone.java index 9e99c29..951ece1 100755 --- a/server/src/server/worldgen/feature/WorldGenGlowStone.java +++ b/server/src/server/worldgen/feature/WorldGenGlowStone.java @@ -1,7 +1,6 @@ package server.worldgen.feature; import common.init.Blocks; -import common.material.Material; import common.rng.Random; import common.util.BlockPos; import common.util.Facing; @@ -28,7 +27,7 @@ public class WorldGenGlowStone extends FeatureGenerator { BlockPos blockpos = position.add(rand.zrange(8) - rand.zrange(8), -rand.zrange(12), rand.zrange(8) - rand.zrange(8)); - if (worldIn.getState(blockpos).getBlock().getMaterial() == Material.air) + if (worldIn.getState(blockpos).getBlock() == Blocks.air) { int j = 0; diff --git a/server/src/server/worldgen/feature/WorldGenHellLava.java b/server/src/server/worldgen/feature/WorldGenHellLava.java index 9932d74..4d536bf 100755 --- a/server/src/server/worldgen/feature/WorldGenHellLava.java +++ b/server/src/server/worldgen/feature/WorldGenHellLava.java @@ -2,7 +2,6 @@ package server.worldgen.feature; import common.block.Block; import common.init.Blocks; -import common.material.Material; import common.rng.Random; import common.util.BlockPos; import server.world.WorldServer; @@ -25,7 +24,7 @@ public class WorldGenHellLava extends FeatureGenerator { return false; } - else if (worldIn.getState(position).getBlock().getMaterial() != Material.air && worldIn.getState(position).getBlock() != Blocks.hellrock) + else if (worldIn.getState(position).getBlock() != Blocks.air && worldIn.getState(position).getBlock() != Blocks.hellrock) { return false; } diff --git a/server/src/server/worldgen/feature/WorldGenIceSpike.java b/server/src/server/worldgen/feature/WorldGenIceSpike.java index 886d3d9..97d8efd 100755 --- a/server/src/server/worldgen/feature/WorldGenIceSpike.java +++ b/server/src/server/worldgen/feature/WorldGenIceSpike.java @@ -2,7 +2,6 @@ package server.worldgen.feature; import common.block.Block; import common.init.Blocks; -import common.material.Material; import common.rng.Random; import common.util.BlockPos; import common.util.ExtMath; @@ -50,7 +49,7 @@ public class WorldGenIceSpike extends FeatureGenerator { Block block = worldIn.getState(position.add(i1, k, j1)).getBlock(); - if (block.getMaterial() == Material.air || block == Blocks.dirt || block == Blocks.snow || block == Blocks.ice) + if (block == Blocks.air || block == Blocks.dirt || block == Blocks.snow || block == Blocks.ice) { this.setBlockAndNotifyAdequately(worldIn, position.add(i1, k, j1), Blocks.packed_ice.getState()); } @@ -59,7 +58,7 @@ public class WorldGenIceSpike extends FeatureGenerator { block = worldIn.getState(position.add(i1, -k, j1)).getBlock(); - if (block.getMaterial() == Material.air || block == Blocks.dirt || block == Blocks.snow || block == Blocks.ice) + if (block == Blocks.air || block == Blocks.dirt || block == Blocks.snow || block == Blocks.ice) { this.setBlockAndNotifyAdequately(worldIn, position.add(i1, -k, j1), Blocks.packed_ice.getState()); } @@ -96,7 +95,7 @@ public class WorldGenIceSpike extends FeatureGenerator { Block block1 = worldIn.getState(blockpos).getBlock(); - if (block1.getMaterial() != Material.air && block1 != Blocks.dirt && block1 != Blocks.snow && block1 != Blocks.ice && block1 != Blocks.packed_ice) + if (block1 != Blocks.air && block1 != Blocks.dirt && block1 != Blocks.snow && block1 != Blocks.ice && block1 != Blocks.packed_ice) { break; } diff --git a/server/src/server/worldgen/foliage/FeatureDoublePlant.java b/server/src/server/worldgen/foliage/FeatureDoublePlant.java index 8237227..548e584 100755 --- a/server/src/server/worldgen/foliage/FeatureDoublePlant.java +++ b/server/src/server/worldgen/foliage/FeatureDoublePlant.java @@ -1,6 +1,6 @@ package server.worldgen.foliage; -import common.block.BlockDoublePlant; +import common.block.foliage.BlockDoublePlant; import common.init.Blocks; import common.rng.Random; import common.util.BlockPos; diff --git a/server/src/server/worldgen/foliage/WorldGenBigMushroom.java b/server/src/server/worldgen/foliage/WorldGenBigMushroom.java index b1bf20f..450cd1a 100755 --- a/server/src/server/worldgen/foliage/WorldGenBigMushroom.java +++ b/server/src/server/worldgen/foliage/WorldGenBigMushroom.java @@ -1,7 +1,7 @@ package server.worldgen.foliage; import common.block.Block; -import common.block.BlockHugeMushroom; +import common.block.foliage.BlockHugeMushroom; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -56,7 +56,7 @@ public class WorldGenBigMushroom extends FeatureGenerator { Block block = worldIn.getState(blockpos$mutableblockpos.set(l, j, i1)).getBlock(); - if (block.getMaterial() != Material.air && block.getMaterial() != Material.leaves) + if (block != Blocks.air && block.getMaterial() != Material.leaves) { flag = false; } diff --git a/server/src/server/worldgen/foliage/WorldGenDeadBush.java b/server/src/server/worldgen/foliage/WorldGenDeadBush.java index 05f2ba8..422576f 100755 --- a/server/src/server/worldgen/foliage/WorldGenDeadBush.java +++ b/server/src/server/worldgen/foliage/WorldGenDeadBush.java @@ -14,7 +14,7 @@ public class WorldGenDeadBush extends FeatureGenerator { Block block; - while (((block = worldIn.getState(position).getBlock()).getMaterial() == Material.air || block.getMaterial() == Material.leaves) && position.getY() > 0) + while (((block = worldIn.getState(position).getBlock()) == Blocks.air || block.getMaterial() == Material.leaves) && position.getY() > 0) { position = position.down(); } diff --git a/server/src/server/worldgen/foliage/WorldGenFlowers.java b/server/src/server/worldgen/foliage/WorldGenFlowers.java index add8180..4bc978c 100755 --- a/server/src/server/worldgen/foliage/WorldGenFlowers.java +++ b/server/src/server/worldgen/foliage/WorldGenFlowers.java @@ -1,6 +1,6 @@ package server.worldgen.foliage; -import common.block.BlockFlower; +import common.block.foliage.BlockFlower; import common.rng.Random; import common.util.BlockPos; import common.world.State; diff --git a/server/src/server/worldgen/foliage/WorldGenMushroom.java b/server/src/server/worldgen/foliage/WorldGenMushroom.java index 740b3ae..07b999b 100755 --- a/server/src/server/worldgen/foliage/WorldGenMushroom.java +++ b/server/src/server/worldgen/foliage/WorldGenMushroom.java @@ -1,6 +1,6 @@ package server.worldgen.foliage; -import common.block.BlockBush; +import common.block.foliage.BlockBush; import common.rng.Random; import common.util.BlockPos; import server.world.WorldServer; diff --git a/server/src/server/worldgen/foliage/WorldGenPumpkin.java b/server/src/server/worldgen/foliage/WorldGenPumpkin.java index 457db07..1aa47b3 100755 --- a/server/src/server/worldgen/foliage/WorldGenPumpkin.java +++ b/server/src/server/worldgen/foliage/WorldGenPumpkin.java @@ -1,6 +1,6 @@ package server.worldgen.foliage; -import common.block.BlockPumpkin; +import common.block.foliage.BlockPumpkin; import common.init.Blocks; import common.rng.Random; import common.util.BlockPos; diff --git a/server/src/server/worldgen/foliage/WorldGenShrub.java b/server/src/server/worldgen/foliage/WorldGenShrub.java index 410b5c9..ec49a02 100755 --- a/server/src/server/worldgen/foliage/WorldGenShrub.java +++ b/server/src/server/worldgen/foliage/WorldGenShrub.java @@ -1,7 +1,7 @@ package server.worldgen.foliage; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -26,7 +26,7 @@ public class WorldGenShrub extends WorldGenBaseTree { Block block; - while (((block = worldIn.getState(position).getBlock()).getMaterial() == Material.air || block.getMaterial() == Material.leaves) && position.getY() > 0) + while (((block = worldIn.getState(position).getBlock()) == Blocks.air || block.getMaterial() == Material.leaves) && position.getY() > 0) { position = position.down(); } diff --git a/server/src/server/worldgen/foliage/WorldGenTallGrass.java b/server/src/server/worldgen/foliage/WorldGenTallGrass.java index 804a853..cd8d788 100755 --- a/server/src/server/worldgen/foliage/WorldGenTallGrass.java +++ b/server/src/server/worldgen/foliage/WorldGenTallGrass.java @@ -1,7 +1,7 @@ package server.worldgen.foliage; import common.block.Block; -import common.block.BlockTallGrass; +import common.block.foliage.BlockTallGrass; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -23,7 +23,7 @@ public class WorldGenTallGrass extends FeatureGenerator { Block block; - while (((block = worldIn.getState(position).getBlock()).getMaterial() == Material.air || block.getMaterial() == Material.leaves) && position.getY() > 0) + while (((block = worldIn.getState(position).getBlock()) == Blocks.air || block.getMaterial() == Material.leaves) && position.getY() > 0) { position = position.down(); } diff --git a/server/src/server/worldgen/foliage/WorldGenVines.java b/server/src/server/worldgen/foliage/WorldGenVines.java index ff9f427..86fd327 100755 --- a/server/src/server/worldgen/foliage/WorldGenVines.java +++ b/server/src/server/worldgen/foliage/WorldGenVines.java @@ -1,6 +1,6 @@ package server.worldgen.foliage; -import common.block.BlockVine; +import common.block.foliage.BlockVine; import common.init.Blocks; import common.rng.Random; import common.util.BlockPos; diff --git a/server/src/server/worldgen/structure/StructureComponent.java b/server/src/server/worldgen/structure/StructureComponent.java index 54d9af1..8698a75 100755 --- a/server/src/server/worldgen/structure/StructureComponent.java +++ b/server/src/server/worldgen/structure/StructureComponent.java @@ -4,11 +4,10 @@ import java.util.List; import common.block.Block; import common.block.BlockDirectional; -import common.block.BlockDoor; +import common.block.artificial.BlockDoor; import common.init.Blocks; import common.item.ItemDoor; import common.item.RngLoot; -import common.material.Material; import common.nbt.NBTTagCompound; import common.rng.Random; import common.rng.WeightedList; @@ -638,7 +637,7 @@ public abstract class StructureComponent { for (int k = zMin; k <= zMax; ++k) { - if (!existingOnly || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock().getMaterial() != Material.air) + if (!existingOnly || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock() != Blocks.air) { if (i != yMin && i != yMax && j != xMin && j != xMax && k != zMin && k != zMax) { @@ -666,7 +665,7 @@ public abstract class StructureComponent { for (int k = minZ; k <= maxZ; ++k) { - if (!alwaysReplace || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock().getMaterial() != Material.air) + if (!alwaysReplace || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock() != Blocks.air) { blockselector.selectBlocks(rand, j, i, k, i == minY || i == maxY || j == minX || j == maxX || k == minZ || k == maxZ); this.setBlockState(worldIn, blockselector.getBlockState(), j, i, k, boundingboxIn); @@ -684,7 +683,7 @@ public abstract class StructureComponent { for (int k = minZ; k <= maxZ; ++k) { - if (rand.floatv() <= chance && (!p_175805_13_ || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock().getMaterial() != Material.air)) + if (rand.floatv() <= chance && (!p_175805_13_ || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock() != Blocks.air)) { if (i != minY && i != maxY && j != minX && j != maxX && k != minZ && k != maxZ) { @@ -728,7 +727,7 @@ public abstract class StructureComponent { float f7 = ((float)k - f4) / (f2 * 0.5F); - if (!p_180777_10_ || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock().getMaterial() != Material.air) + if (!p_180777_10_ || this.getBlockStateFromPos(worldIn, j, i, k, boundingboxIn).getBlock() != Blocks.air) { float f8 = f6 * f6 + f5 * f5 + f7 * f7; diff --git a/server/src/server/worldgen/structure/StructureMineshaft.java b/server/src/server/worldgen/structure/StructureMineshaft.java index d7a0fd9..bc88140 100755 --- a/server/src/server/worldgen/structure/StructureMineshaft.java +++ b/server/src/server/worldgen/structure/StructureMineshaft.java @@ -7,7 +7,6 @@ import common.entity.item.EntityChestCart; import common.init.Blocks; import common.init.Items; import common.item.RngLoot; -import common.material.Material; import common.nbt.NBTTagCompound; import common.nbt.NBTTagList; import common.rng.Random; @@ -289,7 +288,7 @@ public class StructureMineshaft { BlockPos blockpos = new BlockPos(this.getXWithOffset(x, z), this.getYWithOffset(y), this.getZWithOffset(x, z)); - if (boundingBoxIn.isVecInside(blockpos) && worldIn.getState(blockpos).getBlock().getMaterial() == Material.air) + if (boundingBoxIn.isVecInside(blockpos) && worldIn.getState(blockpos).getBlock() == Blocks.air) { int i = rand.chance() ? 1 : 0; worldIn.setState(blockpos, Blocks.rail.getStateFromMeta(this.getMetadataWithOffset(Blocks.rail, i)), 2); @@ -391,7 +390,7 @@ public class StructureMineshaft int j3 = -1; State iblockstate1 = this.getBlockStateFromPos(worldIn, k2, j3, i3, structureBoundingBoxIn); - if (iblockstate1.getBlock().getMaterial() == Material.air) + if (iblockstate1.getBlock() == Blocks.air) { int k3 = -1; this.setBlockState(worldIn, Blocks.oak_planks.getState(), k2, k3, i3, structureBoundingBoxIn); @@ -405,7 +404,7 @@ public class StructureMineshaft { State iblockstate = this.getBlockStateFromPos(worldIn, 1, -1, l2, structureBoundingBoxIn); - if (iblockstate.getBlock().getMaterial() != Material.air && iblockstate.getBlock().isFullBlock()) + if (iblockstate.getBlock() != Blocks.air && iblockstate.getBlock().isFullBlock()) { this.randomlyPlaceBlock(worldIn, structureBoundingBoxIn, randomIn, 0.7F, 1, 0, l2, Blocks.rail.getStateFromMeta(this.getMetadataWithOffset(Blocks.rail, 0))); } @@ -569,7 +568,7 @@ public class StructureMineshaft { for (int j = this.boundingBox.minZ; j <= this.boundingBox.maxZ; ++j) { - if (this.getBlockStateFromPos(worldIn, i, this.boundingBox.minY - 1, j, structureBoundingBoxIn).getBlock().getMaterial() == Material.air) + if (this.getBlockStateFromPos(worldIn, i, this.boundingBox.minY - 1, j, structureBoundingBoxIn).getBlock() == Blocks.air) { this.setBlockState(worldIn, Blocks.oak_planks.getState(), i, this.boundingBox.minY - 1, j, structureBoundingBoxIn); } diff --git a/server/src/server/worldgen/structure/StructureScattered.java b/server/src/server/worldgen/structure/StructureScattered.java index 8b30816..70fcb34 100755 --- a/server/src/server/worldgen/structure/StructureScattered.java +++ b/server/src/server/worldgen/structure/StructureScattered.java @@ -1,12 +1,12 @@ package server.worldgen.structure; -import common.block.BlockFlower; -import common.block.BlockFlowerPot; -import common.block.BlockLever; -import common.block.BlockSandStone; -import common.block.BlockStoneBrick; -import common.block.BlockTripWire; -import common.block.BlockTripWireHook; +import common.block.artificial.BlockFlowerPot; +import common.block.artificial.BlockStoneBrick; +import common.block.foliage.BlockFlower; +import common.block.natural.BlockSandStone; +import common.block.tech.BlockLever; +import common.block.tech.BlockTripWire; +import common.block.tech.BlockTripWireHook; import common.color.DyeColor; import common.entity.npc.EntityMage; import common.init.Blocks; diff --git a/server/src/server/worldgen/structure/StructureStronghold.java b/server/src/server/worldgen/structure/StructureStronghold.java index 101d358..3679f4e 100755 --- a/server/src/server/worldgen/structure/StructureStronghold.java +++ b/server/src/server/worldgen/structure/StructureStronghold.java @@ -3,8 +3,8 @@ package server.worldgen.structure; import java.util.List; import java.util.Map; -import common.block.BlockSlab; -import common.block.BlockStoneBrick; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStoneBrick; import common.collect.Lists; import common.collect.Maps; import common.init.Blocks; diff --git a/server/src/server/worldgen/structure/StructureVillage.java b/server/src/server/worldgen/structure/StructureVillage.java index 905d5ca..7a81ed1 100755 --- a/server/src/server/worldgen/structure/StructureVillage.java +++ b/server/src/server/worldgen/structure/StructureVillage.java @@ -5,18 +5,17 @@ import java.util.List; import common.biome.Biome; import common.block.Block; -import common.block.BlockLog; -import common.block.BlockSandStone; -import common.block.BlockSlab; -import common.block.BlockStairs; -import common.block.BlockTorch; +import common.block.artificial.BlockSlab; +import common.block.artificial.BlockStairs; +import common.block.foliage.BlockLog; +import common.block.natural.BlockSandStone; +import common.block.tech.BlockTorch; import common.collect.Lists; import common.color.DyeColor; import common.entity.npc.EntityHuman; import common.init.BlockRegistry; import common.init.Blocks; import common.init.Config; -import common.material.Material; import common.nbt.NBTTagCompound; import common.rng.Random; import common.util.BlockPos; @@ -358,7 +357,7 @@ public class StructureVillage this.setBlockState(worldIn, Blocks.air.getState(), 2, 2, 0, structureBoundingBoxIn); this.placeDoorCurrentPosition(worldIn, structureBoundingBoxIn, randomIn, 2, 1, 0, Facing.getHorizontal(this.getMetadataWithOffset(Blocks.oak_door, 1))); - if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), 2, 0, -1, structureBoundingBoxIn); } @@ -683,7 +682,7 @@ public class StructureVillage this.setBlockState(worldIn, Blocks.torch.getState().withProperty(BlockTorch.FACING, this.coordBaseMode), 2, 3, 1, structureBoundingBoxIn); this.placeDoorCurrentPosition(worldIn, structureBoundingBoxIn, randomIn, 2, 1, 0, Facing.getHorizontal(this.getMetadataWithOffset(Blocks.oak_door, 1))); - if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), 2, 0, -1, structureBoundingBoxIn); } @@ -811,7 +810,7 @@ public class StructureVillage this.setBlockState(worldIn, Blocks.air.getState(), 1, 2, 0, structureBoundingBoxIn); this.placeDoorCurrentPosition(worldIn, structureBoundingBoxIn, randomIn, 1, 1, 0, Facing.getHorizontal(this.getMetadataWithOffset(Blocks.oak_door, 1))); - if (this.getBlockStateFromPos(worldIn, 1, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, 1, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, 1, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, 1, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), 1, 0, -1, structureBoundingBoxIn); } @@ -926,7 +925,7 @@ public class StructureVillage for (int i = 6; i <= 8; ++i) { - if (this.getBlockStateFromPos(worldIn, i, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, i, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, i, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, i, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), i, 0, -1, structureBoundingBoxIn); } @@ -1080,7 +1079,7 @@ public class StructureVillage this.placeDoorCurrentPosition(worldIn, structureBoundingBoxIn, randomIn, 2, 1, 0, Facing.getHorizontal(this.getMetadataWithOffset(Blocks.oak_door, 1))); this.fillWithBlocks(worldIn, structureBoundingBoxIn, 1, 0, -1, 3, 2, -1, Blocks.air.getState(), Blocks.air.getState(), false); - if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), 2, 0, -1, structureBoundingBoxIn); } @@ -1185,7 +1184,7 @@ public class StructureVillage this.setBlockState(worldIn, Blocks.oak_planks.getState(), 3, 2, 0, structureBoundingBoxIn); this.setBlockState(worldIn, Blocks.oak_planks.getState(), 3, 1, 0, structureBoundingBoxIn); - if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, 2, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, 2, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), 2, 0, -1, structureBoundingBoxIn); } @@ -1868,7 +1867,7 @@ public class StructureVillage this.setBlockState(worldIn, Blocks.air.getState(), 1, 2, 0, structureBoundingBoxIn); this.placeDoorCurrentPosition(worldIn, structureBoundingBoxIn, randomIn, 1, 1, 0, Facing.getHorizontal(this.getMetadataWithOffset(Blocks.oak_door, 1))); - if (this.getBlockStateFromPos(worldIn, 1, 0, -1, structureBoundingBoxIn).getBlock().getMaterial() == Material.air && this.getBlockStateFromPos(worldIn, 1, -1, -1, structureBoundingBoxIn).getBlock().getMaterial() != Material.air) + if (this.getBlockStateFromPos(worldIn, 1, 0, -1, structureBoundingBoxIn).getBlock() == Blocks.air && this.getBlockStateFromPos(worldIn, 1, -1, -1, structureBoundingBoxIn).getBlock() != Blocks.air) { this.setBlockState(worldIn, Blocks.cobblestone_stairs.getStateFromMeta(this.getMetadataWithOffset(Blocks.cobblestone_stairs, 3)), 1, 0, -1, structureBoundingBoxIn); } diff --git a/server/src/server/worldgen/tree/WorldGenBaseTree.java b/server/src/server/worldgen/tree/WorldGenBaseTree.java index c5cacd0..43e2221 100755 --- a/server/src/server/worldgen/tree/WorldGenBaseTree.java +++ b/server/src/server/worldgen/tree/WorldGenBaseTree.java @@ -1,9 +1,9 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockCocoa; -import common.block.BlockLeaves; -import common.block.BlockVine; +import common.block.foliage.BlockCocoa; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockVine; import common.init.Blocks; import common.material.Material; import common.properties.PropertyBool; @@ -116,7 +116,7 @@ public class WorldGenBaseTree extends WorldGenTree BlockPos blockpos = new BlockPos(k1, i3, i2); Block block = worldIn.getState(blockpos).getBlock(); - if (block.getMaterial() == Material.air || block.getMaterial() == Material.leaves || block.getMaterial() == Material.vine) + if (block == Blocks.air || block.getMaterial() == Material.leaves || block.getMaterial() == Material.vine) { this.setBlockAndNotifyAdequately(worldIn, blockpos, this.metaLeaves.withProperty(BlockLeaves.TYPE, worldIn.getLeavesGen(blockpos))); } @@ -129,7 +129,7 @@ public class WorldGenBaseTree extends WorldGenTree { Block block2 = worldIn.getState(position.up(j3)).getBlock(); - if (block2.getMaterial() == Material.air || block2.getMaterial() == Material.leaves || block2.getMaterial() == Material.vine) + if (block2 == Blocks.air || block2.getMaterial() == Material.leaves || block2.getMaterial() == Material.vine) { this.setBlockAndNotifyAdequately(worldIn, position.up(j3), this.metaWood); @@ -179,22 +179,22 @@ public class WorldGenBaseTree extends WorldGenTree BlockPos blockpos4 = blockpos$mutableblockpos1.north(); BlockPos blockpos1 = blockpos$mutableblockpos1.south(); - if (rand.zrange(4) == 0 && worldIn.getState(blockpos2).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos2).getBlock() == Blocks.air) { this.func_181650_b(worldIn, blockpos2, BlockVine.EAST); } - if (rand.zrange(4) == 0 && worldIn.getState(blockpos3).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos3).getBlock() == Blocks.air) { this.func_181650_b(worldIn, blockpos3, BlockVine.WEST); } - if (rand.zrange(4) == 0 && worldIn.getState(blockpos4).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos4).getBlock() == Blocks.air) { this.func_181650_b(worldIn, blockpos4, BlockVine.SOUTH); } - if (rand.zrange(4) == 0 && worldIn.getState(blockpos1).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos1).getBlock() == Blocks.air) { this.func_181650_b(worldIn, blockpos1, BlockVine.NORTH); } @@ -248,7 +248,7 @@ public class WorldGenBaseTree extends WorldGenTree this.func_181651_a(p_181650_1_, p_181650_2_, p_181650_3_); int i = 4; - for (p_181650_2_ = p_181650_2_.down(); p_181650_1_.getState(p_181650_2_).getBlock().getMaterial() == Material.air && i > 0; --i) + for (p_181650_2_ = p_181650_2_.down(); p_181650_1_.getState(p_181650_2_).getBlock() == Blocks.air && i > 0; --i) { this.func_181651_a(p_181650_1_, p_181650_2_, p_181650_3_); p_181650_2_ = p_181650_2_.down(); diff --git a/server/src/server/worldgen/tree/WorldGenBigTree.java b/server/src/server/worldgen/tree/WorldGenBigTree.java index ad648bb..d9482a6 100755 --- a/server/src/server/worldgen/tree/WorldGenBigTree.java +++ b/server/src/server/worldgen/tree/WorldGenBigTree.java @@ -3,8 +3,8 @@ package server.worldgen.tree; import java.util.List; import common.block.Block; -import common.block.BlockLeaves; -import common.block.BlockLog; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockLog; import common.collect.Lists; import common.init.Blocks; import common.material.Material; @@ -125,9 +125,9 @@ public class WorldGenBigTree extends WorldGenTree if (Math.pow((double)Math.abs(j) + 0.5D, 2.0D) + Math.pow((double)Math.abs(k) + 0.5D, 2.0D) <= (double)(p_181631_2_ * p_181631_2_)) { BlockPos blockpos = p_181631_1_.add(j, 0, k); - Material material = this.world.getState(blockpos).getBlock().getMaterial(); + Block block = this.world.getState(blockpos).getBlock(); - if (material == Material.air || material == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(this.world, blockpos, p_181631_3_); } diff --git a/server/src/server/worldgen/tree/WorldGenBirch.java b/server/src/server/worldgen/tree/WorldGenBirch.java index 0659ee8..ba62e4c 100755 --- a/server/src/server/worldgen/tree/WorldGenBirch.java +++ b/server/src/server/worldgen/tree/WorldGenBirch.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -101,7 +101,7 @@ public class WorldGenBirch extends WorldGenTree BlockPos blockpos = new BlockPos(i3, i2, k1); Block block = worldIn.getState(blockpos).getBlock(); - if (block.getMaterial() == Material.air || block.getMaterial() == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, blockpos, leavesBlock.withProperty(BlockLeaves.TYPE, worldIn.getLeavesGen(blockpos))); } @@ -114,7 +114,7 @@ public class WorldGenBirch extends WorldGenTree { Block block2 = worldIn.getState(position.up(j2)).getBlock(); - if (block2.getMaterial() == Material.air || block2.getMaterial() == Material.leaves) + if (block2 == Blocks.air || block2.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.up(j2), logBlock); } diff --git a/server/src/server/worldgen/tree/WorldGenDarkOak.java b/server/src/server/worldgen/tree/WorldGenDarkOak.java index 09f1126..51a021a 100755 --- a/server/src/server/worldgen/tree/WorldGenDarkOak.java +++ b/server/src/server/worldgen/tree/WorldGenDarkOak.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -66,9 +66,9 @@ public class WorldGenDarkOak extends WorldGenTree int k2 = k + j2; BlockPos blockpos1 = new BlockPos(k1, k2, l1); - Material material = worldIn.getState(blockpos1).getBlock().getMaterial(); + Block block1 = worldIn.getState(blockpos1).getBlock(); - if (material == Material.air || material == Material.leaves) + if (block1 == Blocks.air || block1.getMaterial() == Material.leaves) { this.func_181639_b(worldIn, blockpos1); this.func_181639_b(worldIn, blockpos1.east()); @@ -210,7 +210,7 @@ public class WorldGenDarkOak extends WorldGenTree BlockPos blockpos = new BlockPos(p_150526_2_, p_150526_3_, p_150526_4_); Block block = worldIn.getState(blockpos).getBlock(); - if (block.getMaterial() == Material.air) + if (block == Blocks.air) { this.setBlockAndNotifyAdequately(worldIn, blockpos, leavesBlock.withProperty(BlockLeaves.TYPE, worldIn.getLeavesGen(blockpos))); } diff --git a/server/src/server/worldgen/tree/WorldGenHugeTree.java b/server/src/server/worldgen/tree/WorldGenHugeTree.java index c5d50f1..24b9553 100755 --- a/server/src/server/worldgen/tree/WorldGenHugeTree.java +++ b/server/src/server/worldgen/tree/WorldGenHugeTree.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -119,9 +119,9 @@ public abstract class WorldGenHugeTree extends WorldGenTree if (j * j + k * k <= i || l * l + i1 * i1 <= i || j * j + i1 * i1 <= i || l * l + k * k <= i) { BlockPos blockpos = p_175925_2_.add(j, 0, k); - Material material = worldIn.getState(blockpos).getBlock().getMaterial(); + Block block = worldIn.getState(blockpos).getBlock(); - if (material == Material.air || material == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, blockpos, this.leavesMetadata.withProperty(BlockLeaves.TYPE, worldIn.getLeavesGen(blockpos))); } @@ -141,9 +141,9 @@ public abstract class WorldGenHugeTree extends WorldGenTree if (j * j + k * k <= i) { BlockPos blockpos = p_175928_2_.add(j, 0, k); - Material material = worldIn.getState(blockpos).getBlock().getMaterial(); + Block block = worldIn.getState(blockpos).getBlock(); - if (material == Material.air || material == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, blockpos, this.leavesMetadata.withProperty(BlockLeaves.TYPE, worldIn.getLeavesGen(blockpos))); } diff --git a/server/src/server/worldgen/tree/WorldGenJungle.java b/server/src/server/worldgen/tree/WorldGenJungle.java index 1edd2d4..ba30cdb 100755 --- a/server/src/server/worldgen/tree/WorldGenJungle.java +++ b/server/src/server/worldgen/tree/WorldGenJungle.java @@ -1,6 +1,6 @@ package server.worldgen.tree; -import common.block.BlockVine; +import common.block.foliage.BlockVine; import common.init.Blocks; import common.properties.PropertyBool; import common.rng.Random; diff --git a/server/src/server/worldgen/tree/WorldGenPine.java b/server/src/server/worldgen/tree/WorldGenPine.java index 4c90945..497e880 100755 --- a/server/src/server/worldgen/tree/WorldGenPine.java +++ b/server/src/server/worldgen/tree/WorldGenPine.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockDirt; +import common.block.natural.BlockDirt; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -39,7 +39,7 @@ public class WorldGenPine extends WorldGenHugeTree { Block block = worldIn.getState(position.up(j)).getBlock(); - if (block.getMaterial() == Material.air || block.getMaterial() == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.up(j), this.woodMetadata); } @@ -48,21 +48,21 @@ public class WorldGenPine extends WorldGenHugeTree { block = worldIn.getState(position.add(1, j, 0)).getBlock(); - if (block.getMaterial() == Material.air || block.getMaterial() == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.add(1, j, 0), this.woodMetadata); } block = worldIn.getState(position.add(1, j, 1)).getBlock(); - if (block.getMaterial() == Material.air || block.getMaterial() == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.add(1, j, 1), this.woodMetadata); } block = worldIn.getState(position.add(0, j, 1)).getBlock(); - if (block.getMaterial() == Material.air || block.getMaterial() == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.add(0, j, 1), this.woodMetadata); } @@ -134,7 +134,7 @@ public class WorldGenPine extends WorldGenHugeTree break; } - if (block.getMaterial() != Material.air && i < 0) + if (block != Blocks.air && i < 0) { break; } diff --git a/server/src/server/worldgen/tree/WorldGenSavanna.java b/server/src/server/worldgen/tree/WorldGenSavanna.java index c348cca..7c85bee 100755 --- a/server/src/server/worldgen/tree/WorldGenSavanna.java +++ b/server/src/server/worldgen/tree/WorldGenSavanna.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -95,9 +95,9 @@ public class WorldGenSavanna extends WorldGenTree } BlockPos blockpos = new BlockPos(i3, i2, j1); - Material material = worldIn.getState(blockpos).getBlock().getMaterial(); + Block block1 = worldIn.getState(blockpos).getBlock(); - if (material == Material.air || material == Material.leaves) + if (block1 == Blocks.air || block1.getMaterial() == Material.leaves) { this.func_181642_b(worldIn, blockpos); k1 = i2; @@ -149,9 +149,9 @@ public class WorldGenSavanna extends WorldGenTree i3 += enumfacing1.getFrontOffsetX(); j1 += enumfacing1.getFrontOffsetZ(); BlockPos blockpos1 = new BlockPos(i3, j2, j1); - Material material1 = worldIn.getState(blockpos1).getBlock().getMaterial(); + Block block1 = worldIn.getState(blockpos1).getBlock(); - if (material1 == Material.air || material1 == Material.leaves) + if (block1 == Blocks.air || block1.getMaterial() == Material.leaves) { this.func_181642_b(worldIn, blockpos1); k1 = j2; @@ -209,9 +209,9 @@ public class WorldGenSavanna extends WorldGenTree private void func_175924_b(WorldServer worldIn, BlockPos p_175924_2_) { - Material material = worldIn.getState(p_175924_2_).getBlock().getMaterial(); + Block block = worldIn.getState(p_175924_2_).getBlock(); - if (material == Material.air || material == Material.leaves) + if (block == Blocks.air || block.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, p_175924_2_, field_181644_b.withProperty(BlockLeaves.TYPE, worldIn.getLeavesGen(p_175924_2_))); } diff --git a/server/src/server/worldgen/tree/WorldGenSwamp.java b/server/src/server/worldgen/tree/WorldGenSwamp.java index f8ff143..9773b8d 100755 --- a/server/src/server/worldgen/tree/WorldGenSwamp.java +++ b/server/src/server/worldgen/tree/WorldGenSwamp.java @@ -1,8 +1,8 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; -import common.block.BlockVine; +import common.block.foliage.BlockLeaves; +import common.block.foliage.BlockVine; import common.init.Blocks; import common.material.Material; import common.properties.PropertyBool; @@ -61,7 +61,7 @@ public class WorldGenSwamp extends WorldGenTree { Block block = worldIn.getState(blockpos$mutableblockpos.set(l, j, i1)).getBlock(); - if (block.getMaterial() != Material.air && block.getMaterial() != Material.leaves) + if (block != Blocks.air && block.getMaterial() != Material.leaves) { if (block != Blocks.water && block != Blocks.flowing_water) { @@ -123,7 +123,7 @@ public class WorldGenSwamp extends WorldGenTree { Block block2 = worldIn.getState(position.up(i2)).getBlock(); - if (block2.getMaterial() == Material.air || block2.getMaterial() == Material.leaves || block2 == Blocks.flowing_water || block2 == Blocks.water) + if (block2 == Blocks.air || block2.getMaterial() == Material.leaves || block2 == Blocks.flowing_water || block2 == Blocks.water) { this.setBlockAndNotifyAdequately(worldIn, position.up(i2), field_181648_a); } @@ -148,22 +148,22 @@ public class WorldGenSwamp extends WorldGenTree BlockPos blockpos1 = blockpos$mutableblockpos1.north(); BlockPos blockpos2 = blockpos$mutableblockpos1.south(); - if (rand.zrange(4) == 0 && worldIn.getState(blockpos3).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos3).getBlock() == Blocks.air) { this.func_181647_a(worldIn, blockpos3, BlockVine.EAST); } - if (rand.zrange(4) == 0 && worldIn.getState(blockpos4).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos4).getBlock() == Blocks.air) { this.func_181647_a(worldIn, blockpos4, BlockVine.WEST); } - if (rand.zrange(4) == 0 && worldIn.getState(blockpos1).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos1).getBlock() == Blocks.air) { this.func_181647_a(worldIn, blockpos1, BlockVine.SOUTH); } - if (rand.zrange(4) == 0 && worldIn.getState(blockpos2).getBlock().getMaterial() == Material.air) + if (rand.zrange(4) == 0 && worldIn.getState(blockpos2).getBlock() == Blocks.air) { this.func_181647_a(worldIn, blockpos2, BlockVine.NORTH); } @@ -192,7 +192,7 @@ public class WorldGenSwamp extends WorldGenTree this.setBlockAndNotifyAdequately(p_181647_1_, p_181647_2_, iblockstate); int i = 4; - for (p_181647_2_ = p_181647_2_.down(); p_181647_1_.getState(p_181647_2_).getBlock().getMaterial() == Material.air && i > 0; --i) + for (p_181647_2_ = p_181647_2_.down(); p_181647_1_.getState(p_181647_2_).getBlock() == Blocks.air && i > 0; --i) { this.setBlockAndNotifyAdequately(p_181647_1_, p_181647_2_, iblockstate); p_181647_2_ = p_181647_2_.down(); diff --git a/server/src/server/worldgen/tree/WorldGenTaiga1.java b/server/src/server/worldgen/tree/WorldGenTaiga1.java index a3fed91..8774152 100755 --- a/server/src/server/worldgen/tree/WorldGenTaiga1.java +++ b/server/src/server/worldgen/tree/WorldGenTaiga1.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -115,7 +115,7 @@ public class WorldGenTaiga1 extends WorldGenTree { Block block1 = worldIn.getState(position.up(i3)).getBlock(); - if (block1.getMaterial() == Material.air || block1.getMaterial() == Material.leaves) + if (block1 == Blocks.air || block1.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.up(i3), field_181636_a); } diff --git a/server/src/server/worldgen/tree/WorldGenTaiga2.java b/server/src/server/worldgen/tree/WorldGenTaiga2.java index 681bd4f..a38208f 100755 --- a/server/src/server/worldgen/tree/WorldGenTaiga2.java +++ b/server/src/server/worldgen/tree/WorldGenTaiga2.java @@ -1,7 +1,7 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLeaves; +import common.block.foliage.BlockLeaves; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -55,7 +55,7 @@ public class WorldGenTaiga2 extends WorldGenTree { Block block = worldIn.getState(blockpos$mutableblockpos.set(k1, i1, l1)).getBlock(); - if (block.getMaterial() != Material.air && block.getMaterial() != Material.leaves) + if (block != Blocks.air && block.getMaterial() != Material.leaves) { flag = false; } @@ -130,7 +130,7 @@ public class WorldGenTaiga2 extends WorldGenTree { Block block2 = worldIn.getState(position.up(k4)).getBlock(); - if (block2.getMaterial() == Material.air || block2.getMaterial() == Material.leaves) + if (block2 == Blocks.air || block2.getMaterial() == Material.leaves) { this.setBlockAndNotifyAdequately(worldIn, position.up(k4), field_181645_a); } diff --git a/server/src/server/worldgen/tree/WorldGenTree.java b/server/src/server/worldgen/tree/WorldGenTree.java index 964385a..e444636 100755 --- a/server/src/server/worldgen/tree/WorldGenTree.java +++ b/server/src/server/worldgen/tree/WorldGenTree.java @@ -1,8 +1,8 @@ package server.worldgen.tree; import common.block.Block; -import common.block.BlockLog; -import common.block.BlockSapling; +import common.block.foliage.BlockLog; +import common.block.foliage.BlockSapling; import common.init.Blocks; import common.material.Material; import common.rng.Random; @@ -19,8 +19,7 @@ public abstract class WorldGenTree extends FeatureGenerator protected boolean canBeReplaced(Block block) { - Material material = block.getMaterial(); - return material == Material.air || material == Material.leaves || block == Blocks.grass || block == Blocks.dirt || block instanceof BlockLog || block instanceof BlockSapling || block == Blocks.vine; + return block == Blocks.air || block.getMaterial() == Material.leaves || block == Blocks.grass || block == Blocks.dirt || block instanceof BlockLog || block instanceof BlockSapling || block == Blocks.vine; } public void prepare()