From 9424d816ec1d0ca2ab16dd3a08d80b2c80243c9f Mon Sep 17 00:00:00 2001 From: KnightMiner Date: Sat, 29 Oct 2022 18:38:07 -0400 Subject: [PATCH] Remove code for unneeded cauldron registrations --- .../recipes/InspirationsRecipes.java | 52 -------- .../recipes/RecipesClientEvents.java | 35 ------ .../inspirations/recipes/RecipesEvents.java | 116 ------------------ .../recipes/block/EnhancedCauldronBlock.java | 2 +- .../recipes/block/SmashingAnvilBlock.java | 9 +- .../tileentity/CauldronTileEntity.java | 5 +- 6 files changed, 7 insertions(+), 212 deletions(-) delete mode 100644 src/main/java/knightminer/inspirations/recipes/RecipesEvents.java diff --git a/src/main/java/knightminer/inspirations/recipes/InspirationsRecipes.java b/src/main/java/knightminer/inspirations/recipes/InspirationsRecipes.java index 6fad1377..4feace4e 100644 --- a/src/main/java/knightminer/inspirations/recipes/InspirationsRecipes.java +++ b/src/main/java/knightminer/inspirations/recipes/InspirationsRecipes.java @@ -9,7 +9,6 @@ import knightminer.inspirations.library.recipe.cauldron.special.DyeableCauldronRecipe; import knightminer.inspirations.library.recipe.cauldron.special.EmptyPotionCauldronRecipe; import knightminer.inspirations.library.recipe.cauldron.special.FillPotionCauldronRecipe; -import knightminer.inspirations.recipes.block.EnhancedCauldronBlock; import knightminer.inspirations.recipes.data.RecipesRecipeProvider; import knightminer.inspirations.recipes.item.EmptyBottleItem; import knightminer.inspirations.recipes.item.MixedDyedBottleItem; @@ -22,7 +21,6 @@ import knightminer.inspirations.recipes.recipe.cauldron.MixCauldronDyeRecipe; import knightminer.inspirations.recipes.recipe.cauldron.PotionFermentCauldronTransform; import knightminer.inspirations.recipes.recipe.cauldron.RemoveBannerPatternCauldronRecipe; -import knightminer.inspirations.recipes.tileentity.CauldronTileEntity; import net.minecraft.core.particles.ParticleType; import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.data.DataGenerator; @@ -39,7 +37,6 @@ import net.minecraft.world.item.crafting.SimpleRecipeSerializer; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.LiquidBlock; -import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.Material; @@ -52,7 +49,6 @@ import net.minecraftforge.forge.event.lifecycle.GatherDataEvent; import slimeknights.mantle.registration.FluidBuilder; import slimeknights.mantle.registration.ModelFluidAttributes; -import slimeknights.mantle.registration.adapter.BlockEntityTypeRegistryAdapter; import slimeknights.mantle.registration.adapter.BlockRegistryAdapter; import slimeknights.mantle.registration.adapter.FluidRegistryAdapter; import slimeknights.mantle.registration.adapter.ItemRegistryAdapter; @@ -63,12 +59,6 @@ public class InspirationsRecipes extends ModuleBase { // blocks - public static Block fullAnvil; - public static Block chippedAnvil; - public static Block damagedAnvil; - - public static EnhancedCauldronBlock cauldron; - public static BlockEntityType tileCauldron; // items public static Item splashBottle; @@ -136,18 +126,6 @@ void registerBlocks(Register event) { rabbitStewBlock = registry.registerFluidBlock(() -> rabbitStew, Material.WATER, 0, "rabbit_stew"); potatoSoupBlock = registry.registerFluidBlock(() -> potatoSoup, Material.WATER, 0, "potato_soup"); honeyFluidBlock = registry.registerFluidBlock(() -> honey, Material.WATER, 0, "honey"); - - /* - if (Config.enableAnvilSmashing.get()) { - registry.registerOverride(SmashingAnvilBlock::new, Blocks.ANVIL); - registry.registerOverride(SmashingAnvilBlock::new, Blocks.CHIPPED_ANVIL); - registry.registerOverride(SmashingAnvilBlock::new, Blocks.DAMAGED_ANVIL); - } - */ - // TODO: violates rules, probably would just want our own cauldron(s) -// if (Config.extendedCauldron.get()) { -// cauldron = registry.registerOverride(EnhancedCauldronBlock::new, Blocks.CAULDRON); -// } } @SubscribeEvent @@ -180,20 +158,6 @@ void registerItems(Register event) { .craftRemainder(Items.GLASS_BOTTLE); simpleDyedWaterBottle = registry.registerEnum(color -> new SimpleDyedBottleItem(bottleProps, DyeItem.byColor(color)), DyeColor.values(), "dyed_bottle"); mixedDyedWaterBottle = registry.register(new MixedDyedBottleItem(bottleProps), "mixed_dyed_bottle"); - - // cauldron item -// if (Config.extendedCauldron.get()) { -// registry.registerBlockItem(cauldron, brewingProps); -// } - } - - @SubscribeEvent - void registerTileEntities(Register> event) { - BlockEntityTypeRegistryAdapter registry = new BlockEntityTypeRegistryAdapter(event.getRegistry()); - -// if (Config.extendedCauldron.get()) { -// tileCauldron = registry.register(CauldronTileEntity::new, cauldron, "cauldron"); -// } } @SubscribeEvent @@ -242,22 +206,6 @@ void gatherData(GatherDataEvent event) { @SubscribeEvent void commonSetup(FMLCommonSetupEvent event) { - // TODO: cauldrons -// if (Config.extendedCauldron.get()) { -// // inject new cauldron blocks into the leatherworker point of interest -// // it should be as simple as injecting it into the map, but people keep reporting issues with this so just over do it -// Map map = GameData.getBlockStatePointOfInterestTypeMap(); -// synchronized (map) { -// ImmutableList newStates = cauldron.getStateDefinition().getPossibleStates(); -// synchronized (PoiType.LEATHERWORKER) { -// ImmutableSet.Builder builder = ImmutableSet.builder(); -// builder.addAll(PoiType.LEATHERWORKER.matchingStates); -// builder.addAll(newStates); -// PoiType.LEATHERWORKER.matchingStates = builder.build(); -// } -// newStates.forEach(state -> map.put(state, PoiType.LEATHERWORKER)); -// } -// } } diff --git a/src/main/java/knightminer/inspirations/recipes/RecipesClientEvents.java b/src/main/java/knightminer/inspirations/recipes/RecipesClientEvents.java index cb28f098..bc013875 100644 --- a/src/main/java/knightminer/inspirations/recipes/RecipesClientEvents.java +++ b/src/main/java/knightminer/inspirations/recipes/RecipesClientEvents.java @@ -6,24 +6,15 @@ import knightminer.inspirations.library.MiscUtil; import knightminer.inspirations.library.client.CustomTextureLoader; import knightminer.inspirations.library.client.model.CauldronModel; -import knightminer.inspirations.library.recipe.cauldron.CauldronContentTypes; -import knightminer.inspirations.library.recipe.cauldron.contents.ICauldronContents; import knightminer.inspirations.recipes.client.BoilingParticle; import knightminer.inspirations.recipes.item.MixedDyedBottleItem; -import knightminer.inspirations.recipes.tileentity.CauldronTileEntity; -import knightminer.inspirations.shared.SharedClientEvents; import net.minecraft.client.Minecraft; -import net.minecraft.client.color.block.BlockColors; import net.minecraft.client.color.item.ItemColors; -import net.minecraft.client.renderer.BiomeColors; import net.minecraft.client.renderer.ItemBlockRenderTypes; import net.minecraft.client.renderer.RenderType; import net.minecraft.server.packs.resources.ReloadableResourceManager; import net.minecraft.server.packs.resources.ResourceManager; -import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.material.Fluids; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.ColorHandlerEvent; import net.minecraftforge.client.event.ModelRegistryEvent; @@ -65,32 +56,6 @@ static void clientSetup(FMLClientSetupEvent event) { @SubscribeEvent static void registerModelLoaders(ModelRegistryEvent event) { ModelLoaderRegistry.registerLoader(Inspirations.getResource("cauldron"), CauldronModel.LOADER); - SharedClientEvents.configPack.addBlockstateReplacement(Config.extendedCauldron, Blocks.CAULDRON, "cauldron"); - } - - @SubscribeEvent - static void registerBlockColors(ColorHandlerEvent.Block event) { - BlockColors blockColors = event.getBlockColors(); - - // coloring of liquid inside, for fluids, potions, and dyes - registerBlockColors(blockColors, (state, world, pos, tintIndex) -> { - // skip tint index 0, that is particles - if (tintIndex > 0 && world != null && pos != null) { - // must be cauldron TE - BlockEntity te = world.getBlockEntity(pos); - if(te instanceof CauldronTileEntity) { - // if it contains water, run vanilla tinting - ICauldronContents contents = ((CauldronTileEntity) te).getContents(); - if (!contents.matches(CauldronContentTypes.FLUID, Fluids.WATER)) { - return contents.getTintColor(); - } - } - // water tinting if contains water or TE is missing - return BiomeColors.getAverageWaterColor(world, pos); - } - - return -1; - }, InspirationsRecipes.cauldron); } @SubscribeEvent diff --git a/src/main/java/knightminer/inspirations/recipes/RecipesEvents.java b/src/main/java/knightminer/inspirations/recipes/RecipesEvents.java deleted file mode 100644 index 7488791b..00000000 --- a/src/main/java/knightminer/inspirations/recipes/RecipesEvents.java +++ /dev/null @@ -1,116 +0,0 @@ -package knightminer.inspirations.recipes; - -import knightminer.inspirations.Inspirations; -import knightminer.inspirations.common.Config; -import knightminer.inspirations.recipes.recipe.inventory.CauldronItemInventory; -import knightminer.inspirations.recipes.recipe.inventory.VanillaCauldronInventory; -import knightminer.inspirations.recipes.tileentity.CauldronTileEntity; -import net.minecraft.core.BlockPos; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.CauldronBlock; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock; -import net.minecraftforge.eventbus.api.EventPriority; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod.EventBusSubscriber; -import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; -import slimeknights.mantle.util.BlockEntityHelper; - -@EventBusSubscriber(modid = Inspirations.modID, bus = Bus.FORGE) -@SuppressWarnings("WeakerAccess") -public class RecipesEvents { - /* - * Event to handle cauldron clicking. - * Done though an event instead of the block so we can ensure it runs before other cauldron handlers, since we cancel for non-water. - */ - @SubscribeEvent(priority = EventPriority.HIGH) - public static void clickCauldron(RightClickBlock event) { - if(!Config.cauldronRecipes.getAsBoolean()) { - return; - } - - Player player = event.getPlayer(); - if (player.isCrouching()) { - return; - } - - // basic properties - Level world = event.getWorld(); - BlockPos pos = event.getPos(); - BlockState state = world.getBlockState(pos); - if (!(state.getBlock() instanceof CauldronBlock)) { - return; - } - - // extended uses TE - InteractionHand hand = event.getHand(); - if (Config.extendedCauldron.get()) { - CauldronTileEntity cauldron = BlockEntityHelper.get(CauldronTileEntity.class, world, pos).orElse(null); - if (cauldron != null) { - // TODO: blacklist? - // stop further processing if we did a recipe or the cauldron cannot mimic vanilla cauldron - if (cauldron.interact(player, hand) || !cauldron.canMimicVanilla()) { - event.setCanceled(true); - event.setCancellationResult(InteractionResult.SUCCESS); - } - return; - } - } - - // normal interaction if TE is missing - VanillaCauldronInventory inventory = new VanillaCauldronInventory(world, pos, state, player.getItemInHand(hand), - stack -> player.setItemInHand(hand, stack), - CauldronItemInventory.getPlayerAdder(player)); - // if the recipe does something, stop further interaction - if (inventory.handleRecipe()) { - event.setCanceled(true); - event.setCancellationResult(InteractionResult.SUCCESS); - } - // TODO: blacklist? - } - - /* TODO: bottle does not exist - @SubscribeEvent - public static void milkSquid(EntityInteract event) { - if(!Config.milkSquids.get()) { - return; - } - - // only care about cows - Entity target = event.getTarget(); - if(!(target instanceof SquidEntity)) { - return; - } - - // must be holding a glass bottle - PlayerEntity player = event.getPlayer(); - ItemStack stack = player.getHeldItem(event.getHand()); - if(stack.getItem() == Items.GLASS_BOTTLE) { - // if has tag, cannot be milked - CompoundNBT tags = target.getPersistentData(); - if (tags.getShort(SharedEvents.TAG_MILKCOOLDOWN) == 0) { - // give ink bottle to player - if (!player.isCreative()) { - stack.shrink(1); - } - ItemHandlerHelper.giveItemToPlayer(player, new ItemStack(InspirationsRecipes.simpleDyedWaterBottle.get(DyeColor.BLACK)), player.inventory.currentItem); - - // sound - player.playSound(SoundEvents.ITEM_BOTTLE_FILL_DRAGONBREATH, 1.0F, 1.0F); - - // set cooldown - tags.putShort(SharedEvents.TAG_MILKCOOLDOWN, Config.milkSquidCooldown.get().shortValue()); - if (!event.getWorld().isRemote) { - InspirationsNetwork.sendToClients(event.getWorld(), target.getPosition(), new MilkablePacket(target, false)); - } - // set success - event.setCancellationResult(ActionResultType.SUCCESS); - event.setCanceled(true); - } - } - } - */ -} diff --git a/src/main/java/knightminer/inspirations/recipes/block/EnhancedCauldronBlock.java b/src/main/java/knightminer/inspirations/recipes/block/EnhancedCauldronBlock.java index e2f8791b..efcb7cc2 100644 --- a/src/main/java/knightminer/inspirations/recipes/block/EnhancedCauldronBlock.java +++ b/src/main/java/knightminer/inspirations/recipes/block/EnhancedCauldronBlock.java @@ -75,7 +75,7 @@ public void handlePrecipitation(BlockState state, Level world, BlockPos pos, Pre @Nullable @Override public BlockEntityTicker getTicker(Level level, BlockState pState, BlockEntityType matchType) { - return BlockEntityHelper.castTicker(matchType, InspirationsRecipes.tileCauldron, level.isClientSide ? CauldronTileEntity.CLIENT_TICKER : CauldronTileEntity.SERVER_TICKER); + return BlockEntityHelper.castTicker(matchType, null/*InspirationsRecipes.tileCauldron*/, level.isClientSide ? CauldronTileEntity.CLIENT_TICKER : CauldronTileEntity.SERVER_TICKER); } /* TE behavior */ diff --git a/src/main/java/knightminer/inspirations/recipes/block/SmashingAnvilBlock.java b/src/main/java/knightminer/inspirations/recipes/block/SmashingAnvilBlock.java index bc8932ce..ee9b397b 100644 --- a/src/main/java/knightminer/inspirations/recipes/block/SmashingAnvilBlock.java +++ b/src/main/java/knightminer/inspirations/recipes/block/SmashingAnvilBlock.java @@ -1,6 +1,5 @@ package knightminer.inspirations.recipes.block; -import knightminer.inspirations.recipes.InspirationsRecipes; import net.minecraft.core.BlockPos; import net.minecraft.world.entity.item.FallingBlockEntity; import net.minecraft.world.level.Level; @@ -22,11 +21,11 @@ public SmashingAnvilBlock(Block.Properties props) { @Nullable public static BlockState damage(BlockState state) { Block block = state.getBlock(); - if (block == Blocks.ANVIL || block == InspirationsRecipes.fullAnvil) { - return InspirationsRecipes.chippedAnvil.defaultBlockState().setValue(FACING, state.getValue(FACING)); + if (block == Blocks.ANVIL /*|| block == InspirationsRecipes.fullAnvil*/) { + return /*InspirationsRecipes.chippedAnvil*/Blocks.CHIPPED_ANVIL.defaultBlockState().setValue(FACING, state.getValue(FACING)); } else { - if (block == Blocks.CHIPPED_ANVIL || block == InspirationsRecipes.chippedAnvil) - return InspirationsRecipes.damagedAnvil.defaultBlockState().setValue(FACING, state.getValue(FACING)); + if (block == Blocks.CHIPPED_ANVIL /*|| block == InspirationsRecipes.chippedAnvil*/) + return /*InspirationsRecipes.damagedAnvil*/Blocks.DAMAGED_ANVIL.defaultBlockState().setValue(FACING, state.getValue(FACING)); else return null; } } diff --git a/src/main/java/knightminer/inspirations/recipes/tileentity/CauldronTileEntity.java b/src/main/java/knightminer/inspirations/recipes/tileentity/CauldronTileEntity.java index 217fdbb5..8fb99441 100644 --- a/src/main/java/knightminer/inspirations/recipes/tileentity/CauldronTileEntity.java +++ b/src/main/java/knightminer/inspirations/recipes/tileentity/CauldronTileEntity.java @@ -13,7 +13,6 @@ import knightminer.inspirations.library.recipe.cauldron.recipe.ICauldronRecipe; import knightminer.inspirations.library.recipe.cauldron.recipe.ICauldronTransform; import knightminer.inspirations.library.recipe.cauldron.util.CauldronTemperature; -import knightminer.inspirations.recipes.InspirationsRecipes; import knightminer.inspirations.recipes.block.EnhancedCauldronBlock; import knightminer.inspirations.recipes.recipe.inventory.CauldronItemInventory; import knightminer.inspirations.recipes.recipe.inventory.TileCauldronInventory; @@ -118,7 +117,7 @@ public class CauldronTileEntity extends MantleBlockEntity { * Creates a new cauldron with no block set */ public CauldronTileEntity(BlockPos pos, BlockState state) { - this(pos, state, InspirationsRecipes.cauldron); + this(pos, state, null);//InspirationsRecipes.cauldron); } /** @@ -126,7 +125,7 @@ public CauldronTileEntity(BlockPos pos, BlockState state) { * @param block Parent block */ public CauldronTileEntity(BlockPos pos, BlockState state, EnhancedCauldronBlock block) { - this(InspirationsRecipes.tileCauldron, pos, state, block); + this(null/*InspirationsRecipes.tileCauldron*/, pos, state, block); } /**