diff --git a/src/main/java/net/id/paradiselost/blocks/BlockRegistration.java b/src/main/java/net/id/paradiselost/blocks/BlockRegistration.java index 64e28ffd7..e8ce2db5d 100644 --- a/src/main/java/net/id/paradiselost/blocks/BlockRegistration.java +++ b/src/main/java/net/id/paradiselost/blocks/BlockRegistration.java @@ -151,7 +151,7 @@ sapling, add(flowerPotId, new FlowerPotBlock(sapling, flowerPotSettings)), add(leavesId, new LeavesBlock(leavesSettings), flammableLeaves, cutoutMippedRenderLayer), planks, add(plankStairsId, new ParadiseLostStairsBlock(planks.getDefaultState(), plankSettings), flammablePlanks), add(plankSlabId, new SlabBlock(plankSettings), flammablePlanks), add(fenceId, new FenceBlock(plankSettings), flammablePlanks), add(fenceGateId, new FenceGateBlock(plankSettings), flammablePlanks), - add(doorId, new DoorBlock(doorSettings)), add(trapdoorId, new TrapdoorBlock(trapdoorSettings)), + add(doorId, new DoorBlock(doorSettings), cutoutMippedRenderLayer), add(trapdoorId, new TrapdoorBlock(trapdoorSettings), cutoutMippedRenderLayer), add(buttonId, new WoodenButtonBlock(buttonSettings)), add(pressurePlateId, new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, pressurePlateSettings)) ); } @@ -182,7 +182,7 @@ private static WoodBlockSet registerWoodBlockSet( leaves, planks, add(plankStairsId, new ParadiseLostStairsBlock(planks.getDefaultState(), plankSettings), flammablePlanks), add(plankSlabId, new SlabBlock(plankSettings), flammablePlanks), add(fenceId, new FenceBlock(plankSettings), flammablePlanks), add(fenceGateId, new FenceGateBlock(plankSettings), flammablePlanks), - add(doorId, new DoorBlock(doorSettings)), add(trapdoorId, new TrapdoorBlock(trapdoorSettings)), + add(doorId, new DoorBlock(doorSettings), cutoutMippedRenderLayer), add(trapdoorId, new TrapdoorBlock(trapdoorSettings), cutoutMippedRenderLayer), add(buttonId, new WoodenButtonBlock(buttonSettings)), add(pressurePlateId, new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, pressurePlateSettings)) ); } @@ -216,7 +216,7 @@ sapling, add(flowerPotId, new FlowerPotBlock(sapling, flowerPotSettings)), leaves, planks, add(plankStairsId, new ParadiseLostStairsBlock(planks.getDefaultState(), plankSettings), flammablePlanks), add(plankSlabId, new SlabBlock(plankSettings), flammablePlanks), add(fenceId, new FenceBlock(plankSettings), flammablePlanks), add(fenceGateId, new FenceGateBlock(plankSettings), flammablePlanks), - add(doorId, new DoorBlock(doorSettings)), add(trapdoorId, new TrapdoorBlock(trapdoorSettings)), + add(doorId, new DoorBlock(doorSettings), cutoutMippedRenderLayer), add(trapdoorId, new TrapdoorBlock(trapdoorSettings), cutoutMippedRenderLayer), add(buttonId, new WoodenButtonBlock(buttonSettings)), add(pressurePlateId, new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING, pressurePlateSettings)) ); } diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java index 8c8170fdc..2f5b9c4f9 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java @@ -322,13 +322,6 @@ private static Settings cherineTorch() { //dungeon // public static final DungeonSwitchBlock DUNGEON_SWITCH = add("dungeonswitch", new DungeonSwitchBlock(of(Material.METAL, MapColor.BLUE).strength(-1.0F, 3600000.0F))); - // Chests -// public static final ChestBlock CRYSTAL_CHEST = add("crystal_chest", CRYSTAL_CHEST_FACTORY.chest); -// public static final ChestBlock MOTHER_AUREL_CHEST = add("golden_oak_chest", MOTHER_AUREL_CHEST_FACTORY.chest); -// public static final ChestBlock ORANGE_CHEST = ORANGE.chestFactory().chest; -// public static final ChestBlock AUREL_CHEST = add("skyroot_chest", AUREL_CHEST_FACTORY.chest); -// public static final ChestBlock WISTERIA_CHEST = WISTERIA.chestFactory().chest; - public static void init() { ParadiseLostRegistryQueues.BLOCK.register(); } @@ -342,9 +335,6 @@ TexturedRenderLayers.SIGNS_ATLAS_TEXTURE, new Identifier("entity/signs/" + signS ) ); } -// AUREL_CHEST_FACTORY.registerChestRenderers(); -// MOTHER_AUREL_CHEST_FACTORY.registerChestRenderers(); -// CRYSTAL_CHEST_FACTORY.registerChestRenderers(); } diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index 58f20f9ab..702a9350d 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -19,10 +19,14 @@ import net.id.paradiselost.items.tools.bloodstone.OlviteBloodstoneItem; import net.id.paradiselost.registry.ParadiseLostRegistryQueues; import net.id.incubus_core.util.RegistryQueue.Action; +import net.id.paradiselost.util.EnumExtender; import net.minecraft.block.Block; import net.minecraft.block.DoorBlock; +import net.minecraft.block.SignBlock; import net.minecraft.block.TallFlowerBlock; import net.minecraft.block.TallPlantBlock; +import net.minecraft.block.WallSignBlock; +import net.minecraft.entity.vehicle.BoatEntity; import net.minecraft.fluid.Fluids; import net.minecraft.item.*; import net.minecraft.item.Item.Settings; @@ -30,7 +34,14 @@ import net.minecraft.text.Text; import net.minecraft.util.Formatting; import net.minecraft.util.Rarity; +import net.minecraft.util.SignType; +import org.jetbrains.annotations.NotNull; +import java.util.Arrays; +import java.util.Iterator; +import java.util.Locale; + +import static net.id.paradiselost.ParadiseLost.MOD_ID; import static net.id.paradiselost.ParadiseLost.locate; import static net.id.paradiselost.items.ParadiseLostItemActions.*; import static net.minecraft.entity.EquipmentSlot.*; @@ -309,7 +320,6 @@ private static FabricItemSettings decoration() { private static final FabricItemSettings decoration = decoration(); private static final FabricItemSettings sign = decoration().maxCount(16); - private static final FabricItemSettings boat = decoration().maxCount(1); private static final FabricItemSettings hat = decoration().equipmentSlot(stack -> HEAD); // saplings @@ -434,12 +444,12 @@ private static FabricItemSettings decoration() { //TODO: Implement dungeon switch block // public static final BlockItem DUNGEON_SWITCH = add("dungeonswitch", ParadiseLostBlocks.DUNGEON_SWITCH, decoration); - // Chests -// public static final BlockItem AUREL_CHEST = add("skyroot_chest", ParadiseLostBlocks.AUREL_CHEST, new FabricItemSettings().group(ParadiseLostItemGroups.PARADISE_LOST_DECORATIONS)); -// public static final BlockItem MOTHER_AUREL_CHEST = add("golden_oak_chest", ParadiseLostBlocks.MOTHER_AUREL_CHEST, new FabricItemSettings().group(ParadiseLostItemGroups.PARADISE_LOST_DECORATIONS)); -// public static final BlockItem ORANGE_CHEST = add("orange_chest", ParadiseLostBlocks.ORANGE_CHEST, new FabricItemSettings().group(ParadiseLostItemGroups.PARADISE_LOST_DECORATIONS)); -// public static final BlockItem CRYSTAL_CHEST = add("crystal_chest", ParadiseLostBlocks.CRYSTAL_CHEST, new FabricItemSettings().group(ParadiseLostItemGroups.PARADISE_LOST_DECORATIONS)); -// public static final BlockItem WISTERIA_CHEST = add("wisteria_chest", ParadiseLostBlocks.WISTERIA_CHEST, new FabricItemSettings().group(ParadiseLostItemGroups.PARADISE_LOST_DECORATIONS)); + public static final BoatSet AUREL_BOATS = addBoatItems("aurel", ParadiseLostBlocks.AUREL_WOODSTUFF.plank()); + public static final BoatSet MOTHER_AUREL_BOATS = addBoatItems("mother_aurel", ParadiseLostBlocks.MOTHER_AUREL_WOODSTUFF.plank()); + public static final BoatSet ORANGE_BOATS = addBoatItems("orange", ParadiseLostBlocks.ORANGE_WOODSTUFF.plank()); + public static final BoatSet WISTERIA_BOATS = addBoatItems("wisteria", ParadiseLostBlocks.WISTERIA_WOODSTUFF.plank()); + + public static final BoatSet[] BOAT_SETS = new BoatSet[] {AUREL_BOATS, MOTHER_AUREL_BOATS, ORANGE_BOATS, WISTERIA_BOATS}; public static void init() { ParadiseLostRegistryQueues.ITEM.register(); @@ -457,13 +467,23 @@ private static BlockItem add(String id, Block block, Settings settings, Action { + public @NotNull Iterator iterator() { + return Arrays.stream(new Item[]{boat, chestBoat}).iterator(); + } + } } diff --git a/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java b/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java index 5387bf9de..70c8101fa 100644 --- a/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java +++ b/src/main/java/net/id/paradiselost/items/armor/ParadiseLostArmorMaterials.java @@ -10,13 +10,13 @@ public class ParadiseLostArmorMaterials { public static final ArmorMaterial OLVITE = ArmorMaterialsAccessor.callInit("PARADISE_LOST_OLVITE", -1, - "paradise_lost_olvite", 15, new int[]{2, 5, 6, 2}, 9, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_OLVITE, + "paradise_lost_olvite", 15, new int[]{2, 4, 6, 2}, 9, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_OLVITE, 0f, 0f, IngredientUtil.itemIngredient(ParadiseLostItems.OLVITE)); public static final ArmorMaterial GLAZED_GOLD = ArmorMaterialsAccessor.callInit("PARADISE_LOST_GLAZED_GOLD", -1, "paradise_lost_glazed_gold", 14, new int[]{1, 3, 5, 2}, 25, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_GLAZED_GOLD, 0f, 0f, IngredientUtil.itemIngredient(ParadiseLostItems.GOLDEN_AMBER)); public static final ArmorMaterial SURTRUM = ArmorMaterialsAccessor.callInit("PARADISE_LOST_SURTRUM", -1, - "paradise_lost_surtrum", 15, new int[]{3, 6, 8, 3}, 15, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_SURTRUM, + "paradise_lost_surtrum", 15, new int[]{2, 5, 6, 3}, 15, ParadiseLostSoundEvents.ITEM_ARMOR_EQUIP_SURTRUM, 0f, 0.1f, IngredientUtil.itemIngredient(ParadiseLostItems.REFINED_SURTRUM)); diff --git a/src/main/java/net/id/paradiselost/mixin/entity/BoatEntityMixin.java b/src/main/java/net/id/paradiselost/mixin/entity/BoatEntityMixin.java new file mode 100644 index 000000000..50870fec4 --- /dev/null +++ b/src/main/java/net/id/paradiselost/mixin/entity/BoatEntityMixin.java @@ -0,0 +1,29 @@ +package net.id.paradiselost.mixin.entity; + +import net.id.paradiselost.items.ParadiseLostItems; +import net.minecraft.entity.vehicle.BoatEntity; +import net.minecraft.item.Item; +import org.objectweb.asm.Opcodes; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(BoatEntity.class) +public abstract class BoatEntityMixin { + @Shadow + public abstract BoatEntity.Type getBoatType(); + + @Inject(method = "asItem", at = @At(value = "FIELD", target = "Lnet/minecraft/item/Items;OAK_BOAT:Lnet/minecraft/item/Item;", opcode = Opcodes.GETSTATIC), cancellable = true) + private void checkCustomBoats(CallbackInfoReturnable cir) { + BoatEntity.Type type = this.getBoatType(); + if (type != BoatEntity.Type.OAK) { + for (var entry : ParadiseLostItems.BOAT_SETS){ + if (type == entry.type()){ + cir.setReturnValue(entry.boat()); + } + } + } + } +} diff --git a/src/main/java/net/id/paradiselost/mixin/entity/BoatEntityTypeMixin.java b/src/main/java/net/id/paradiselost/mixin/entity/BoatEntityTypeMixin.java new file mode 100644 index 000000000..352959a62 --- /dev/null +++ b/src/main/java/net/id/paradiselost/mixin/entity/BoatEntityTypeMixin.java @@ -0,0 +1,32 @@ +package net.id.paradiselost.mixin.entity; + +import net.id.paradiselost.util.EnumExtender; +import net.minecraft.block.Block; +import net.minecraft.entity.vehicle.BoatEntity; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; + +import java.util.Arrays; + +@Mixin(BoatEntity.Type.class) +public class BoatEntityTypeMixin { + @SuppressWarnings("ShadowTarget") + @Shadow + @Mutable + @Final + private static BoatEntity.Type[] field_7724; + + static { + EnumExtender.register(BoatEntity.Type.class, (name, args) -> { + BoatEntity.Type entry = (BoatEntity.Type) (Object) new BoatEntityTypeMixin(name, field_7724.length, (Block) args[0], (String) args[1]); + field_7724 = Arrays.copyOf(field_7724, field_7724.length + 1); + return field_7724[field_7724.length - 1] = entry; + }); + } + + private BoatEntityTypeMixin(String valueName, int ordinal, Block baseBlock, String name) { + throw new AssertionError(); + } +} diff --git a/src/main/java/net/id/paradiselost/mixin/entity/ChestBoatEntityMixin.java b/src/main/java/net/id/paradiselost/mixin/entity/ChestBoatEntityMixin.java new file mode 100644 index 000000000..1b2b3eb6d --- /dev/null +++ b/src/main/java/net/id/paradiselost/mixin/entity/ChestBoatEntityMixin.java @@ -0,0 +1,34 @@ +package net.id.paradiselost.mixin.entity; + +import net.id.paradiselost.items.ParadiseLostItems; +import net.minecraft.entity.EntityType; +import net.minecraft.entity.vehicle.BoatEntity; +import net.minecraft.entity.vehicle.ChestBoatEntity; +import net.minecraft.item.Item; +import net.minecraft.world.World; +import org.objectweb.asm.Opcodes; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +@Mixin(ChestBoatEntity.class) +public class ChestBoatEntityMixin extends BoatEntity { + + public ChestBoatEntityMixin(EntityType entityType, World world) { + super(entityType, world); + } + + @Inject(method = "asItem", at = @At(value = "FIELD", target = "Lnet/minecraft/item/Items;OAK_CHEST_BOAT:Lnet/minecraft/item/Item;", opcode = Opcodes.GETSTATIC), cancellable = true) + private void checkCustomBoats(CallbackInfoReturnable cir) { + BoatEntity.Type type = this.getBoatType(); + if (type != BoatEntity.Type.OAK) { + for (var entry : ParadiseLostItems.BOAT_SETS){ + if (type == entry.type()){ + cir.setReturnValue(entry.chestBoat()); + } + } + } + } +} diff --git a/src/main/java/net/id/paradiselost/util/EnumExtender.java b/src/main/java/net/id/paradiselost/util/EnumExtender.java new file mode 100644 index 000000000..7668b587f --- /dev/null +++ b/src/main/java/net/id/paradiselost/util/EnumExtender.java @@ -0,0 +1,26 @@ +package net.id.paradiselost.util; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.BiFunction; + +public class EnumExtender { + private static final Map>, BiFunction>> extensibles = new HashMap<>(); + + public static > void register(Class extensible, BiFunction callback) { + extensibles.put(extensible, callback); + } + + @SuppressWarnings("unchecked") + public static > T add(Class to, String name, Object... arguments) { + if (extensibles.containsKey(to)) { + try { + return (T) extensibles.get(to).apply(name, arguments); + } catch (ClassCastException | IndexOutOfBoundsException e) { + throw new IllegalArgumentException("Invalid arguments for entry " + name + " of enum " + to + ". Arguments must match the enum constructor."); + } + } else { + throw new UnsupportedOperationException("Attempted to extend inextensible enum " + to + ". Create a mixin for it from the template in EnumExtender."); + } + } +} diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal.png deleted file mode 100644 index e8e8ac34f..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal_left.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal_left.png deleted file mode 100644 index f55c32095..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal_left.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal_right.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal_right.png deleted file mode 100644 index 9558f5364..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/crystal/normal_right.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal.png deleted file mode 100644 index 42db91308..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal_left.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal_left.png deleted file mode 100644 index c272a2b64..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal_left.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal_right.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal_right.png deleted file mode 100644 index bc723a62b..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/golden_oak/normal_right.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal.png deleted file mode 100644 index 4c2a459ac..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal_left.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal_left.png deleted file mode 100644 index 836430dd8..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal_left.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal_right.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal_right.png deleted file mode 100644 index d67567e7a..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/orange/normal_right.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal.png deleted file mode 100644 index ada785aff..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal_left.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal_left.png deleted file mode 100644 index d4be86127..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal_left.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal_right.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal_right.png deleted file mode 100644 index 69f3e4282..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/skyroot/normal_right.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal.png deleted file mode 100644 index bcae19178..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal_left.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal_left.png deleted file mode 100644 index bf2b7acd8..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal_left.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal_right.png b/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal_right.png deleted file mode 100644 index 97bb094bc..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/chest/wisteria/normal_right.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook1.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook1.png deleted file mode 100644 index 5fa23985a..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook1.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook2.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook2.png deleted file mode 100644 index 01162b438..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook2.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook3.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook3.png deleted file mode 100644 index bed4ecfe5..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook3.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook4.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook4.png deleted file mode 100644 index 4b6e29b1b..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook4.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye1.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye1.png deleted file mode 100644 index 7decb319e..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye1.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye2.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye2.png deleted file mode 100644 index 775bc9eeb..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye2.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye3.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye3.png deleted file mode 100644 index 1899471dd..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye3.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye4.png b/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye4.png deleted file mode 100644 index f0327713c..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/corvid/rook_eye4.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/projectile/dart/poison_dart.png b/src/main/resources/assets/paradise_lost/textures/entity/projectile/dart/poison_dart.png deleted file mode 100644 index 0e7d32c3d..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/projectile/dart/poison_dart.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/entity/projectile/dart/poison_needle.png b/src/main/resources/assets/paradise_lost/textures/entity/projectile/dart/poison_needle.png deleted file mode 100644 index 881a9a39c..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/entity/projectile/dart/poison_needle.png and /dev/null differ diff --git a/src/main/resources/data/c/tags/blocks/chests.json b/src/main/resources/data/c/tags/blocks/chests.json deleted file mode 100644 index e20695a47..000000000 --- a/src/main/resources/data/c/tags/blocks/chests.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "#paradise_lost:chests" - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/golden_oak_chest.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/golden_oak_chest.json deleted file mode 100644 index 2594b39ac..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/golden_oak_chest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "paradise_lost:golden_oak_chest" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/orange_chest.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/orange_chest.json deleted file mode 100644 index 51a36b93d..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/orange_chest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "paradise_lost:orange_chest" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/skyroot_chest.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/skyroot_chest.json deleted file mode 100644 index 58d9dc5ab..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/skyroot_chest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "paradise_lost:skyroot_chest" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/wisteria_chest.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/wisteria_chest.json deleted file mode 100644 index 654525806..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/wisteria_chest.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "paradise_lost:wisteria_chest" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/recipes/aurel_chest.json b/src/main/resources/data/paradise_lost/recipes/aurel_chest.json deleted file mode 100644 index 548594116..000000000 --- a/src/main/resources/data/paradise_lost/recipes/aurel_chest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "# #", - "###" - ], - "key": { - "#": { - "item": "paradise_lost:aurel_planks" - } - }, - "result": { - "item": "paradise_lost:skyroot_chest" - } -} diff --git a/src/main/resources/data/paradise_lost/recipes/chest_from_paradise_chest.json b/src/main/resources/data/paradise_lost/recipes/chest_from_paradise_chest.json deleted file mode 100644 index 541d24436..000000000 --- a/src/main/resources/data/paradise_lost/recipes/chest_from_paradise_chest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "tag": "paradise_lost:chests" - } - ], - "result": { - "item": "minecraft:chest" - } -} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/golden_oak_chest.json b/src/main/resources/data/paradise_lost/recipes/golden_oak_chest.json deleted file mode 100644 index d4da97aca..000000000 --- a/src/main/resources/data/paradise_lost/recipes/golden_oak_chest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "# #", - "###" - ], - "key": { - "#": { - "item": "paradise_lost:mother_aurel_planks" - } - }, - "result": { - "item": "paradise_lost:golden_oak_chest" - } -} diff --git a/src/main/resources/data/paradise_lost/recipes/orange_chest.json b/src/main/resources/data/paradise_lost/recipes/orange_chest.json deleted file mode 100644 index 35ce46288..000000000 --- a/src/main/resources/data/paradise_lost/recipes/orange_chest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "# #", - "###" - ], - "key": { - "#": { - "item": "paradise_lost:orange_planks" - } - }, - "result": { - "item": "paradise_lost:orange_chest" - } -} diff --git a/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json b/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json index 9e5106da9..82f4d36df 100644 --- a/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json +++ b/src/main/resources/data/paradise_lost/recipes/refined_surtrum_from_raw.json @@ -1,15 +1,9 @@ { - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { - "item": "minecraft:lava_bucket" - }, - { - "item": "paradise_lost:raw_surtrum" - } - ], - "result": { - "item": "paradise_lost:refined_surtrum", - "count": 1 - } -} \ No newline at end of file + "type": "minecraft:smelting", + "ingredient": { + "item": "paradise_lost:surtrum" + }, + "result": "paradise_lost:refined_surtrum", + "experience": 0.8, + "cookingtime": 200 +} diff --git a/src/main/resources/data/paradise_lost/recipes/wisteria_chest.json b/src/main/resources/data/paradise_lost/recipes/wisteria_chest.json deleted file mode 100644 index ef64a99e5..000000000 --- a/src/main/resources/data/paradise_lost/recipes/wisteria_chest.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "###", - "# #", - "###" - ], - "key": { - "#": { - "item": "paradise_lost:wisteria_planks" - } - }, - "result": { - "item": "paradise_lost:wisteria_chest" - } -} diff --git a/src/main/resources/data/paradise_lost/tags/blocks/chests.json b/src/main/resources/data/paradise_lost/tags/blocks/chests.json deleted file mode 100644 index 125734dbd..000000000 --- a/src/main/resources/data/paradise_lost/tags/blocks/chests.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "replace": false, - "values": [ - "#paradise_lost:wooden_chests" - ] -} diff --git a/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_axe.json b/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_axe.json index 0c5dce23f..a8014f4bc 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_axe.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_axe.json @@ -8,7 +8,6 @@ "#paradise_lost:leaf_piles", "#paradise_lost:bushes", "#paradise_lost:hangers", - "#paradise_lost:wooden_chests", "paradise_lost:cherine_campfire" ] } \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/tags/blocks/wooden_chests.json b/src/main/resources/data/paradise_lost/tags/blocks/wooden_chests.json deleted file mode 100644 index 87c8786ec..000000000 --- a/src/main/resources/data/paradise_lost/tags/blocks/wooden_chests.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "replace": false, - "values": [ - "paradise_lost:skyroot_chest", - "paradise_lost:golden_oak_chest", - "paradise_lost:orange_chest", - "paradise_lost:crystal_chest", - "paradise_lost:wisteria_chest" - ] -} diff --git a/src/main/resources/data/paradise_lost/tags/items/chests.json b/src/main/resources/data/paradise_lost/tags/items/chests.json deleted file mode 100644 index 1fdf4c08e..000000000 --- a/src/main/resources/data/paradise_lost/tags/items/chests.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "replace": false, - "values": [ - "paradise_lost:crystal_chest", - "paradise_lost:golden_oak_chest", - "paradise_lost:orange_chest", - "paradise_lost:skyroot_chest", - "paradise_lost:wisteria_chest" - ] -} diff --git a/src/main/resources/paradise_lost.mixins.json b/src/main/resources/paradise_lost.mixins.json index 2b612a0d1..29137beee 100644 --- a/src/main/resources/paradise_lost.mixins.json +++ b/src/main/resources/paradise_lost.mixins.json @@ -10,6 +10,9 @@ "block.EnchantingTableBlockMixin", "block.FarmlandBlockMixin", "enchantment.EnchantmentHelperMixin", + "entity.BoatEntityMixin", + "entity.BoatEntityTypeMixin", + "entity.ChestBoatEntityMixin", "entity.CowEntityMixin", "entity.EntityMixin", "entity.LivingEntityMixin",