diff --git a/build.gradle.kts b/build.gradle.kts index 02cd106d7..24553770a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.internal.impldep.org.junit.experimental.categories.Categories.CategoryFilter.exclude + val paradiseLostVersion: String by properties val minecraftVersion: String by properties @@ -118,7 +120,7 @@ dependencies { group = "net.kyrptonaught", name = "customportalapi", version = customportalapiVersion, - ).also(::include) + ).also(::include).exclude(module = "sodium") modImplementation( group = "net.fabricmc.fabric-api", @@ -138,12 +140,6 @@ dependencies { version = entityAttributesVersion, ).also(::include) - modImplementation( - group = "io.github.ladysnake", - name = "satin", - version = satinVersion, - ).also(::include) - modImplementation( group = "dev.emi", name = "trinkets", diff --git a/gradle.properties b/gradle.properties index 3a9f398dc..68479eaf8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,5 +18,4 @@ entityAttributesVersion=2.3.0 modmenuVersion=4.0.6 reiVersion=9.1.530 moreTagsVersion=3.0.5 -satinVersion=1.8.0 clothConfigVersion=8.2.88 diff --git a/src/main/java/net/id/paradiselost/ParadiseLost.java b/src/main/java/net/id/paradiselost/ParadiseLost.java index 4b620067f..bd132c437 100644 --- a/src/main/java/net/id/paradiselost/ParadiseLost.java +++ b/src/main/java/net/id/paradiselost/ParadiseLost.java @@ -13,7 +13,6 @@ import net.id.paradiselost.client.rendering.entity.ParadiseLostEntityRenderers; import net.id.paradiselost.client.rendering.item.ParadiseLostItemRenderers; import net.id.paradiselost.client.rendering.particle.ParadiseLostParticles; -import net.id.paradiselost.client.rendering.shader.ParadiseLostShaders; import net.id.paradiselost.client.rendering.texture.ParadiseLostTextures; import net.id.paradiselost.client.rendering.util.ParadiseLostColorProviders; import net.id.paradiselost.commands.ParadiseLostCommands; @@ -125,7 +124,6 @@ public void onInitializeClient() { ParadiseLostItemRenderers.initClient(); ParadiseLostScreens.initClient(); Conditions.clientInit(); - ParadiseLostShaders.init(); ParadiseLostScreens.clientInit(); } diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlockActions.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlockActions.java index 88959d3ce..12a2cabea 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlockActions.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlockActions.java @@ -28,8 +28,6 @@ protected static Action flammable(int spread, int burn) { protected static final Action translucentRenderLayer = onClient((id, block) -> RenderUtils.transparentRenderLayer(block)); protected static final Action cutoutRenderLayer = onClient((id, block) -> RenderUtils.cutoutRenderLayer(block)); protected static final Action cutoutMippedRenderLayer = onClient((id, block) -> RenderUtils.cutoutMippedRenderLayer(block)); - protected static final Action auralRenderLayer = onClient((id, block) -> RenderUtils.auralRenderLayer(block)); - protected static final Action auralCutoutMippedRenderLayer = onClient((id, block) -> RenderUtils.auralCutoutMippedRenderLayer(block)); protected static Action stripsTo(Block stripped) { return (id, original) -> StrippableBlockRegistry.register(original, stripped); diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java index ce83c9c9c..341e4cfb2 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java @@ -29,7 +29,6 @@ import net.id.paradiselost.items.ParadiseLostItems; import net.id.paradiselost.registry.ParadiseLostRegistryQueues; import net.id.paradiselost.tag.ParadiseLostBlockTags; -import net.id.paradiselost.util.RenderUtils; import net.id.paradiselost.world.feature.tree.generator.*; import net.id.incubus_core.util.RegistryQueue.Action; import net.id.incubus_core.woodtypefactory.api.WoodSettingsFactory; @@ -40,7 +39,6 @@ import net.minecraft.sound.BlockSoundGroup; import net.minecraft.state.property.Properties; import net.minecraft.tag.BlockTags; -import net.minecraft.util.math.Vec3i; import net.minecraft.util.math.intprovider.UniformIntProvider; import net.minecraft.util.registry.Registry; @@ -283,13 +281,6 @@ protected static Settings flowerPot() { public static final FlowerPotBlock POTTED_LAVENDER_WISTERIA_SAPLING = add("potted_lavender_wisteria_sapling", new FlowerPotBlock(LAVENDER_WISTERIA_SAPLING, flowerPot()), cutoutRenderLayer); public static final ParadiseLostHangerBlock LAVENDER_WISTERIA_HANGER = add("lavender_wisteria_hanger", new ParadiseLostHangerBlock(lavenderWisteriaColors.hanger()), flammableLeaves, cutoutRenderLayer); - private static final WoodSettingsFactory borealWisteriaColors = wisteriaColors.withLeafColor(MapColor.CYAN); - private static final Vec3i[] auralLeafColors = new Vec3i[]{RenderUtils.toRGB(0xa6ffdd), RenderUtils.toRGB(0x96e5ff), RenderUtils.toRGB(0xd6b3ff), RenderUtils.toRGB(0xffadc6)}; - public static final AuralLeavesBlock BOREAL_WISTERIA_LEAVES = add("boreal_wisteria_leaves", new AuralLeavesBlock(borealWisteriaColors.auralNoCollideLeaves(), false, auralLeafColors), flammableLeaves); - public static final SaplingBlock BOREAL_WISTERIA_SAPLING = add("boreal_wisteria_sapling", new ParadiseLostSaplingBlock(new BorealWisteriaSaplingGenerator(), borealWisteriaColors.sapling().luminance(state -> 5)), cutoutRenderLayer); - public static final FlowerPotBlock POTTED_BOREAL_WISTERIA_SAPLING = add("potted_boreal_wisteria_sapling", new FlowerPotBlock(BOREAL_WISTERIA_SAPLING, flowerPot().luminance(state -> 5)), cutoutRenderLayer); - public static final AuralHangerBlock BOREAL_WISTERIA_HANGER = add("boreal_wisteria_hanger", new AuralHangerBlock(borealWisteriaColors.auralHanger(), auralLeafColors), flammableLeaves, auralCutoutMippedRenderLayer); - // Grasses private static Settings shrub() { return copy(Blocks.GRASS).mapColor(MapColor.PALE_GREEN); @@ -383,8 +374,8 @@ private static Settings cherineTorch() { return copy(TORCH).ticksRandomly().luminance(state -> 15); } - public static final CherineTorchBlock CHERINE_TORCH = addImmediately("cherine_torch", new CherineTorchBlock(cherineTorch()), cutoutRenderLayer); - public static final CherineWallTorchBlock CHERINE_TORCH_WALL = addImmediately("cherine_wall_torch", new CherineWallTorchBlock(cherineTorch().dropsLike(CHERINE_TORCH)), cutoutRenderLayer); + public static final CherineTorchBlock CHERINE_TORCH = add("cherine_torch", new CherineTorchBlock(cherineTorch()), cutoutRenderLayer); + public static final CherineWallTorchBlock CHERINE_TORCH_WALL = add("cherine_wall_torch", new CherineWallTorchBlock(cherineTorch().dropsLike(CHERINE_TORCH)), cutoutRenderLayer); // Usables public static final IncubatorBlock INCUBATOR = add("incubator", new IncubatorBlock(of(Material.WOOD, MapColor.DULL_RED).strength(2.5f).sounds(BlockSoundGroup.WOOD).nonOpaque()), cutoutMippedRenderLayer); diff --git a/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java b/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java index 29ee4f0f1..b0f0d80f0 100644 --- a/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java +++ b/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java @@ -5,19 +5,23 @@ import net.id.paradiselost.recipe.TreeTapRecipe; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.HopperBlockEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.inventory.Inventories; +import net.minecraft.inventory.Inventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.network.Packet; import net.minecraft.network.listener.ClientPlayPacketListener; import net.minecraft.network.packet.s2c.play.BlockEntityUpdateS2CPacket; import net.minecraft.server.world.ServerWorld; +import net.minecraft.sound.SoundCategory; +import net.minecraft.sound.SoundEvents; import net.minecraft.state.property.Properties; import net.minecraft.util.Hand; -import net.minecraft.util.ItemScatterer; import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -33,15 +37,29 @@ public TreeTapBlockEntity(BlockPos pos, BlockState state) { } public void handleUse(PlayerEntity player, Hand hand, ItemStack handStack) { - ItemStack stored = inventory.get(0); - inventory.set(0, handStack); - player.setStackInHand(hand, stored); - markDirty(); + ItemStack stored = inventory.get(0); + if (!handStack.isEmpty() && inventory.get(0).isEmpty()) { + inventory.set(0, handStack.split(1)); + } else { + player.giveItemStack(stored); + inventory.set(0, ItemStack.EMPTY); + } + markDirty(); } + @Override + public boolean canInsert(int slot, ItemStack stack, @Nullable Direction dir) { + return this.getHopperStrategy().canInsert(dir) && this.inventory.get(0).isEmpty(); + } + + @Override + public boolean canExtract(int slot, ItemStack stack, Direction dir) { + return this.getHopperStrategy().canExtract(dir); + } + @Override public @NotNull HopperStrategy getHopperStrategy() { - return HopperStrategy.IN_ANY_OUT_BOTTOM; + return HopperStrategy.IN_ANY; } @Override @@ -49,10 +67,24 @@ public DefaultedList getItems() { return inventory; } + @Override + public void setStack(int slot, ItemStack stack) { + getItems().set(slot, stack); + if (stack.getCount() > 1) { + stack.setCount(1); + } + inventoryChanged(); + } + + private void inventoryChanged() { + markDirty(); + if (world != null && !world.isClient) updateInClientWorld(); + } + @Override public void readNbt(NbtCompound nbt) { super.readNbt(nbt); - + this.inventory.clear(); Inventories.readNbt(nbt, inventory); } @@ -73,17 +105,18 @@ public void tryCraft() { } Optional recipe = this.world.getRecipeManager().getFirstMatch(ParadiseLostRecipeTypes.TREE_TAP_RECIPE_TYPE, this, this.world); - if (recipe.isPresent()) { + if (recipe.isPresent() && world.random.nextInt(recipe.get().getChance()) == 0) { ItemStack output = recipe.get().craft(this); stack.decrement(1); - // TODO: play a sound? - if (stack.isEmpty()) { - this.inventory.set(0, output); - updateInClientWorld(); - } else { - ItemScatterer.spawn(world, pos.getX(), pos.getY(), pos.getZ(), output); - } + if (!world.isClient) world.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, 0.5f, world.getRandom().nextFloat() * 0.4f + 0.8f); + + inventoryChanged(); + BlockEntity possibleHopper = world.getBlockEntity(pos.down()); + if (possibleHopper instanceof Inventory) { + output = HopperBlockEntity.transfer(this, (Inventory) possibleHopper, output, Direction.UP); + } + this.inventory.set(0, output); } } diff --git a/src/main/java/net/id/paradiselost/blocks/mechanical/TreeTapBlock.java b/src/main/java/net/id/paradiselost/blocks/mechanical/TreeTapBlock.java index 10b451530..f9c332fbd 100644 --- a/src/main/java/net/id/paradiselost/blocks/mechanical/TreeTapBlock.java +++ b/src/main/java/net/id/paradiselost/blocks/mechanical/TreeTapBlock.java @@ -76,7 +76,6 @@ public BlockState getPlacementState(ItemPlacementContext ctx) { if (!direction.getAxis().isHorizontal()) { return null; } - return this.getDefaultState().with(FACING, direction); } @@ -98,7 +97,6 @@ public BlockState mirror(BlockState state, BlockMirror mirror) { @Override public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { super.randomTick(state, world, pos, random); - if (!world.isClient && world.getBlockEntity(pos) instanceof TreeTapBlockEntity treeTapBlockEntity) { treeTapBlockEntity.tryCraft(); } diff --git a/src/main/java/net/id/paradiselost/blocks/natural/tree/AuralHangerBlock.java b/src/main/java/net/id/paradiselost/blocks/natural/tree/AuralHangerBlock.java deleted file mode 100644 index 561bcd15c..000000000 --- a/src/main/java/net/id/paradiselost/blocks/natural/tree/AuralHangerBlock.java +++ /dev/null @@ -1,40 +0,0 @@ -package net.id.paradiselost.blocks.natural.tree; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.id.paradiselost.blocks.util.DynamicColorBlock; -import net.minecraft.block.BlockState; -import net.minecraft.client.color.block.BlockColorProvider; -import net.minecraft.client.color.item.ItemColorProvider; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3i; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.World; - -public class AuralHangerBlock extends ParadiseLostHangerBlock implements DynamicColorBlock { - - private final Vec3i[] gradientColors; - - public AuralHangerBlock(Settings settings, Vec3i[] gradientColors) { - super(settings); - this.gradientColors = gradientColors; - } - - @Override - public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { - super.randomDisplayTick(state, world, pos, random); - } - - @Override - @Environment(EnvType.CLIENT) - public BlockColorProvider getBlockColorProvider() { - return (state, world, pos, tintIndex) -> MathHelper.packRgb(pos.getX(), pos.getY(), pos.getZ()) | ((2 * (pos.getY() / 256 % 2) - 1) << 24); - } - - @Override - @Environment(EnvType.CLIENT) - public ItemColorProvider getBlockItemColorProvider() { - return (state, tintIndex) -> AuralLeavesBlock.getAuralColor(BlockPos.ORIGIN, gradientColors); - } -} diff --git a/src/main/java/net/id/paradiselost/blocks/natural/tree/AuralLeavesBlock.java b/src/main/java/net/id/paradiselost/blocks/natural/tree/AuralLeavesBlock.java deleted file mode 100644 index b5e202f7b..000000000 --- a/src/main/java/net/id/paradiselost/blocks/natural/tree/AuralLeavesBlock.java +++ /dev/null @@ -1,114 +0,0 @@ -package net.id.paradiselost.blocks.natural.tree; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.api.EnvironmentInterface; -import net.id.paradiselost.blocks.util.DynamicColorBlock; -import net.id.paradiselost.client.rendering.block.RenderLayerOverride; -import net.id.paradiselost.client.rendering.shader.ParadiseLostRenderLayers; -import net.minecraft.block.BlockState; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.color.block.BlockColorProvider; -import net.minecraft.client.color.item.ItemColorProvider; -import net.minecraft.client.render.RenderLayer; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3i; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.World; - -@EnvironmentInterface(value = EnvType.CLIENT, itf = RenderLayerOverride.class) -public class AuralLeavesBlock extends WisteriaLeavesBlock implements DynamicColorBlock, RenderLayerOverride { - - private final Vec3i[] gradientColors; - - @Override - public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) { - super.randomDisplayTick(state, world, pos, random); - } - - public AuralLeavesBlock(Settings settings, boolean collidable, Vec3i[] gradientColors) { - super(settings, collidable); - if (gradientColors.length != 4) { - throw new InstantiationError("color gradient must contain exactly four colors"); - } - this.gradientColors = gradientColors; - } - - public static int getAuralColor(BlockPos pos, Vec3i[] colorRGBs) { - Vec3i color1 = colorRGBs[0]; - Vec3i color2 = colorRGBs[1]; - Vec3i color3 = colorRGBs[2]; - Vec3i color4 = colorRGBs[3]; - float timeOffset = MinecraftClient.getInstance().world.getTime() * 0.003F; - - // First, we mix color 1 and color 2 using noise - double simplex; - // Sample simplex noise - if (DynamicColorBlock.isFastGraphics()) { - simplex = DynamicColorBlock.sampleNoise(pos, 14, 3300); - } else { - simplex = DynamicColorBlock.sampleNoise(pos, 31, 3300 + timeOffset); - } - // Reshape contrast curve - double percent = DynamicColorBlock.contrastCurve(36, simplex); - percent = percent * (2 - percent); - // Interpolate - double r1, g1, b1; - r1 = (MathHelper.lerp(percent, color1.getX(), color2.getX())); - g1 = (MathHelper.lerp(percent, color1.getY(), color2.getY())); - b1 = (MathHelper.lerp(percent, color1.getZ(), color2.getZ())); - - // Now we mix colors 3 and 4 together using noise - // Rinse, repeat as seen above. - // Sample - double simplex2; - if (DynamicColorBlock.isFastGraphics()) { - simplex2 = DynamicColorBlock.sampleNoise(pos, 14, 1337); - } else { - simplex2 = DynamicColorBlock.sampleNoise(pos, 31, 1337 + timeOffset); - } - // Reshape - double percent2 = simplex2 * (2 - simplex2); - // Interpolate - double r2, g2, b2; - r2 = (MathHelper.lerp(percent2, color3.getX(), color4.getX())); - g2 = (MathHelper.lerp(percent2, color3.getY(), color4.getY())); - b2 = (MathHelper.lerp(percent2, color3.getZ(), color4.getZ())); - - // This last section interpolates between r1, g1, b1, and r2, g2, b2, finally mixing all the colors together. - double simplex3; - if (DynamicColorBlock.isFastGraphics()) { - simplex3 = DynamicColorBlock.sampleNoise(pos, 14, 1738); - } else { - simplex3 = DynamicColorBlock.sampleNoise(pos, 31, 1738 + timeOffset); - } - double finalPercent = DynamicColorBlock.contrastCurve(25, simplex3); - // Interpolate - int finalR, finalG, finalB; - finalR = (int) (MathHelper.lerp(finalPercent, r1, r2)); - finalG = (int) (MathHelper.lerp(finalPercent, g1, g2)); - finalB = (int) (MathHelper.lerp(finalPercent, b1, b2)); - - return MathHelper.packRgb(finalR, finalG, finalB); - } - - @Override - @Environment(EnvType.CLIENT) - public BlockColorProvider getBlockColorProvider() { - // evil hack to send the shader the blockpos - return (state, world, pos, tintIndex) -> MathHelper.packRgb(pos.getX(), pos.getY(), pos.getZ()) | ((2 * (pos.getY() / 256 % 2) - 1) << 24); - } - - @Override - @Environment(EnvType.CLIENT) - public ItemColorProvider getBlockItemColorProvider() { - return (stack, tintIndex) -> getAuralColor(BlockPos.ORIGIN, gradientColors); - } - - @Environment(EnvType.CLIENT) - @Override - public RenderLayer getRenderLayerOverride(boolean fancy) { - return fancy ? ParadiseLostRenderLayers.AURAL_CUTOUT_MIPPED : ParadiseLostRenderLayers.AURAL; - } -} diff --git a/src/main/java/net/id/paradiselost/blocks/natural/tree/ParadiseLostLeavesBlock.java b/src/main/java/net/id/paradiselost/blocks/natural/tree/ParadiseLostLeavesBlock.java index c5386ebf2..4862a48d7 100644 --- a/src/main/java/net/id/paradiselost/blocks/natural/tree/ParadiseLostLeavesBlock.java +++ b/src/main/java/net/id/paradiselost/blocks/natural/tree/ParadiseLostLeavesBlock.java @@ -32,8 +32,6 @@ public static BlockState getHanger(BlockState state) { return ParadiseLostBlocks.LAVENDER_WISTERIA_HANGER.getDefaultState(); } else if (state.isOf(ParadiseLostBlocks.FROST_WISTERIA_LEAVES)) { return ParadiseLostBlocks.FROST_WISTERIA_HANGER.getDefaultState(); - } else if (state.isOf(ParadiseLostBlocks.BOREAL_WISTERIA_LEAVES)) { - return ParadiseLostBlocks.BOREAL_WISTERIA_HANGER.getDefaultState(); } return Blocks.AIR.getDefaultState(); } diff --git a/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostRenderLayers.java b/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostRenderLayers.java deleted file mode 100644 index 8ff20b7ef..000000000 --- a/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostRenderLayers.java +++ /dev/null @@ -1,35 +0,0 @@ -package net.id.paradiselost.client.rendering.shader; - -import ladysnake.satin.api.util.RenderLayerHelper; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.id.paradiselost.util.CompatConfig; -import net.minecraft.client.render.RenderLayer; - -@Environment(EnvType.CLIENT) -public final class ParadiseLostRenderLayers { - private ParadiseLostRenderLayers() { - } - - public static final RenderLayer AURAL; - public static final RenderLayer AURAL_CUTOUT_MIPPED; - - static { - if (CompatConfig.SODIUM_WORKAROUND) { - AURAL = RenderLayer.getSolid(); - AURAL_CUTOUT_MIPPED = RenderLayer.getCutoutMipped(); - } else { - AURAL = ParadiseLostShaders.AURAL.getRenderLayer(RenderLayer.getSolid()); - AURAL_CUTOUT_MIPPED = ParadiseLostShaders.AURAL_CUTOUT.getRenderLayer(RenderLayer.getCutoutMipped()); - - // This is marked as deprecated for silly reasons... - //noinspection deprecation - RenderLayerHelper.registerBlockRenderLayer(AURAL); - //noinspection deprecation - RenderLayerHelper.registerBlockRenderLayer(AURAL_CUTOUT_MIPPED); - } - } - - static void init() { - } -} diff --git a/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostShaders.java b/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostShaders.java deleted file mode 100644 index 98b3c31ac..000000000 --- a/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostShaders.java +++ /dev/null @@ -1,52 +0,0 @@ -package net.id.paradiselost.client.rendering.shader; - -import ladysnake.satin.api.event.EntitiesPreRenderCallback; -import ladysnake.satin.api.managed.ManagedCoreShader; -import ladysnake.satin.api.managed.ShaderEffectManager; -import ladysnake.satin.api.managed.uniform.Uniform1f; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.render.Camera; -import net.minecraft.client.render.Frustum; -import net.minecraft.client.render.VertexFormats; - -import static net.id.paradiselost.ParadiseLost.locate; - -@Environment(EnvType.CLIENT) -public final class ParadiseLostShaders { - private ParadiseLostShaders() { - } - - static final ManagedCoreShader AURAL; - private static final Uniform1f AURAL_TIME; - - static final ManagedCoreShader AURAL_CUTOUT; - private static final Uniform1f AURAL_CUTOUT_TIME; - - static { - var manager = ShaderEffectManager.getInstance(); - AURAL = manager.manageCoreShader(locate("aural"), VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL); - AURAL_TIME = AURAL.findUniform1f("Time"); - - AURAL_CUTOUT = manager.manageCoreShader(locate("aural_cutout_mipped"), VertexFormats.POSITION_COLOR_TEXTURE_LIGHT_NORMAL); - AURAL_CUTOUT_TIME = AURAL.findUniform1f("Time"); - } - - public static void init() { - ParadiseLostRenderLayers.init(); - EntitiesPreRenderCallback.EVENT.register(ParadiseLostShaders::preRender); - } - - private static float auralTime = 0; - - public static void preRender(Camera camera, Frustum frustum, float tickDelta) { - auralTime += tickDelta; - - if (AURAL_TIME != null) { - AURAL_TIME.set(auralTime); - } - if (AURAL_CUTOUT_TIME != null) { - AURAL_CUTOUT_TIME.set(auralTime); - } - } -} diff --git a/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostVertexFormats.java b/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostVertexFormats.java deleted file mode 100644 index 26d78810e..000000000 --- a/src/main/java/net/id/paradiselost/client/rendering/shader/ParadiseLostVertexFormats.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.id.paradiselost.client.rendering.shader; - -import com.google.common.collect.ImmutableMap; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.render.VertexFormat; -import net.minecraft.client.render.VertexFormatElement; - -import static net.minecraft.client.render.VertexFormats.*; - -@Environment(EnvType.CLIENT) -public final class ParadiseLostVertexFormats { - private ParadiseLostVertexFormats() { - } - - public static final VertexFormat POSITION_COLOR_LIGHT_NORMAL = new VertexFormat(ImmutableMap.builder() - .put("Position", POSITION_ELEMENT) - .put("Color", COLOR_ELEMENT) - .put("UV2", LIGHT_ELEMENT) - .put("Normal", NORMAL_ELEMENT) - .put("Padding", PADDING_ELEMENT) - .build() - ); -} diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index 424ca41d5..a33d3abcc 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -6,15 +6,12 @@ import net.id.paradiselost.ParadiseLost; import net.id.paradiselost.blocks.ParadiseLostBlocks; import net.id.paradiselost.entities.ParadiseLostEntityTypes; -import net.id.paradiselost.fluids.ParadiseLostFluids; import net.id.paradiselost.items.accessories.ParachuteTrinketItem; import net.id.paradiselost.items.armor.ParadiseLostArmorMaterials; import net.id.paradiselost.items.food.ParadiseLostFoodComponent; -import net.id.paradiselost.items.food.MysteryMilkItem; import net.id.paradiselost.items.misc.*; import net.id.paradiselost.items.tools.ParadiseLostToolMaterials; import net.id.paradiselost.items.tools.AurelBucketItem; -import net.id.paradiselost.items.tools.VialItem; import net.id.paradiselost.items.tools.base_tools.*; import net.id.paradiselost.items.tools.bloodstone.AbstentineBloodstoneItem; import net.id.paradiselost.items.tools.bloodstone.CherineBloodstoneItem; @@ -158,7 +155,6 @@ private static Settings food(FoodComponent foodComponent, Rarity rarity) { public static final Item AMADRYS_BREAD_GLAZED = add("amadrys_bread_glazed", new Item(food(ParadiseLostFoodComponent.AMADRYS_BREAD_GLAZED))); public static final AliasedBlockItem SWEDROOT = add("swedroot", new AliasedBlockItem(ParadiseLostBlocks.SWEDROOT, food(ParadiseLostFoodComponent.SWEDROOT)), compostable30); public static final AliasedBlockItem FLAXSEED = add("flaxseed", new AliasedBlockItem(ParadiseLostBlocks.FLAX, food()), compostable30); - public static final MysteryMilkItem MYSTERY_MILK = add("mystery_milk", new MysteryMilkItem(food(ParadiseLostFoodComponent.MYSTERY_MILK, EPIC).maxCount(1))); public static final Item GINGERBREAD_MAN = add("gingerbread_man", new Item(food(ParadiseLostFoodComponent.SWEDROOT)), compostable30); public static final Item MOA_MEAT = add("moa_meat", new Item(food(ParadiseLostFoodComponent.MOA_MEAT))); public static final Item COOKED_MOA_MEAT = add("moa_meat_cooked", new Item(food(ParadiseLostFoodComponent.COOKED_MOA_MEAT))); @@ -183,14 +179,6 @@ private static Settings misc() { public static final AurelBucketItem AUREL_WATER_BUCKET = add("aurel_water_bucket", new AurelBucketItem(Fluids.WATER, aurelBucket), emptiableBucketBehavior); public static final AurelBucketItem AUREL_MILK_BUCKET = add("aurel_milk_bucket", new AurelBucketItem(aurelBucket)); - public static final VialItem VIAL = add("vial", new VialItem(Fluids.EMPTY, misc().maxCount(32))); - public static final VialItem CLOUD_VIAL = add("cloud_vial", new VialItem(ParadiseLostFluids.DENSE_CLOUD, misc().maxCount(32))); - /* TODO: Implement dungeon keys - public static final Item BRONZE_KEY = add("bronze_key", new Item(misc().rarity(ParadiseLostRarity.PARADISE_LOST_LOOT))); - public static final Item SILVER_KEY = add("silver_key", new Item(misc().rarity(ParadiseLostRarity.PARADISE_LOST_LOOT))); - public static final Item GOLDEN_KEY = add("golden_key", new Item(misc().rarity(ParadiseLostRarity.PARADISE_LOST_LOOT))); - */ - public static final SpawnEggItem HELLENROSE_SPAWN_EGG = add("hellenrose_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.HELLENROSE, 0x97DED4, 0x31897D, misc), spawnEggBehavior); public static final SpawnEggItem PARADISE_HARE_SPAWN_EGG = add("corsican_hare_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.PARADISE_HARE, 0xC5D6ED, 0x82A6D9, misc), spawnEggBehavior); public static final SpawnEggItem MOA_SPAWN_EGG = add("moa_spawn_egg", new SpawnEggItem(ParadiseLostEntityTypes.MOA, 0xC55C2E4, 0xB3A8BB, misc), spawnEggBehavior); @@ -320,7 +308,6 @@ private static FabricItemSettings decoration() { public static final BlockItem ROSE_WISTERIA_SAPLING = add("rose_wisteria_sapling", ParadiseLostBlocks.ROSE_WISTERIA_SAPLING, decoration, compostable30); public static final BlockItem FROST_WISTERIA_SAPLING = add("frost_wisteria_sapling", ParadiseLostBlocks.FROST_WISTERIA_SAPLING, decoration, compostable30); public static final BlockItem LAVENDER_WISTERIA_SAPLING = add("lavender_wisteria_sapling", ParadiseLostBlocks.LAVENDER_WISTERIA_SAPLING, decoration, compostable30); - public static final BlockItem BOREAL_WISTERIA_SAPLING = add("boreal_wisteria_sapling", ParadiseLostBlocks.BOREAL_WISTERIA_SAPLING, decoration, compostable30); // leaves public static final BlockItem AUREL_LEAVES = add("aurel_leaves", ParadiseLostBlocks.AUREL_LEAVES, decoration, compostable30); public static final BlockItem MOTHER_AUREL_LEAVES = add("mother_aurel_leaves", ParadiseLostBlocks.MOTHER_AUREL_LEAVES, decoration, compostable30); @@ -328,7 +315,6 @@ private static FabricItemSettings decoration() { public static final BlockItem ROSE_WISTERIA_LEAVES = add("rose_wisteria_leaves", ParadiseLostBlocks.ROSE_WISTERIA_LEAVES, decoration, compostable30); public static final BlockItem FROST_WISTERIA_LEAVES = add("frost_wisteria_leaves", ParadiseLostBlocks.FROST_WISTERIA_LEAVES, decoration, compostable30); public static final BlockItem LAVENDER_WISTERIA_LEAVES = add("lavender_wisteria_leaves", ParadiseLostBlocks.LAVENDER_WISTERIA_LEAVES, decoration, compostable30); - public static final BlockItem BOREAL_WISTERIA_LEAVES = add("boreal_wisteria_leaves", ParadiseLostBlocks.BOREAL_WISTERIA_LEAVES, decoration, compostable30); // plants public static final BlockItem GRASS = add("grass_plant", ParadiseLostBlocks.GRASS, decoration, compostable30); public static final BlockItem GRASS_FLOWERING = add("grass_flowering", ParadiseLostBlocks.GRASS_FLOWERING, decoration, compostable30); @@ -354,7 +340,6 @@ private static FabricItemSettings decoration() { public static final BlockItem ROSE_WISTERIA_HANGER = add("rose_wisteria_hanger", ParadiseLostBlocks.ROSE_WISTERIA_HANGER, decoration, compostable30); public static final BlockItem FROST_WISTERIA_HANGER = add("frost_wisteria_hanger", ParadiseLostBlocks.FROST_WISTERIA_HANGER, decoration, compostable30); public static final BlockItem LAVENDER_WISTERIA_HANGER = add("lavender_wisteria_hanger", ParadiseLostBlocks.LAVENDER_WISTERIA_HANGER, decoration, compostable30); - public static final BlockItem BOREAL_WISTERIA_HANGER = add("boreal_wisteria_hanger", ParadiseLostBlocks.BOREAL_WISTERIA_HANGER, decoration, compostable30); public static final BlockItem AUREL_LEAF_PILE = add("aurel_leaf_pile", ParadiseLostBlocks.AUREL_LEAF_PILE, decoration, compostable30); public static final BlockItem ROSE_WISTERIA_LEAF_PILE = add("rose_wisteria_leaf_pile", ParadiseLostBlocks.ROSE_WISTERIA_LEAF_PILE, decoration, compostable30); diff --git a/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java b/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java deleted file mode 100644 index ee5c701a9..000000000 --- a/src/main/java/net/id/paradiselost/items/food/MysteryMilkItem.java +++ /dev/null @@ -1,25 +0,0 @@ -package net.id.paradiselost.items.food; - -import net.id.paradiselost.items.ParadiseLostItems; -import net.minecraft.entity.LivingEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.UseAction; -import net.minecraft.world.World; - -public class MysteryMilkItem extends Item { - public MysteryMilkItem(Settings settings) { - super(settings); - } - - @Override - public UseAction getUseAction(ItemStack stack) { - return UseAction.DRINK; - } - - @Override - public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user) { - super.finishUsing(stack, world, user); - return stack.isEmpty() ? new ItemStack(ParadiseLostItems.VIAL) : stack; - } -} diff --git a/src/main/java/net/id/paradiselost/items/food/ParadiseLostFoodComponent.java b/src/main/java/net/id/paradiselost/items/food/ParadiseLostFoodComponent.java index 48901b6c1..6e05077f0 100644 --- a/src/main/java/net/id/paradiselost/items/food/ParadiseLostFoodComponent.java +++ b/src/main/java/net/id/paradiselost/items/food/ParadiseLostFoodComponent.java @@ -13,10 +13,6 @@ public class ParadiseLostFoodComponent { public static final FoodComponent SWEDROOT = new FoodComponent.Builder().hunger(2).saturationModifier(1.5F).build(); public static final FoodComponent GENERIC_WORSE = new FoodComponent.Builder().hunger(1).saturationModifier(0.25F) .statusEffect(new StatusEffectInstance(StatusEffects.NAUSEA, 100, 0), 0.075F).build(); - public static final FoodComponent MYSTERY_MILK = new FoodComponent.Builder().hunger(12).saturationModifier(1F).snack().alwaysEdible() - .statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 1200, 2), 1F) - .statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 3600, 4), 1F) - .statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE, 3600, 1), 1F).build(); public static final FoodComponent AMADRYS_NOODLES = new FoodComponent.Builder().hunger(7).saturationModifier(0.5F).build(); public static final FoodComponent AMADRYS_BREAD = new FoodComponent.Builder().hunger(5).saturationModifier(1.2F).build(); public static final FoodComponent AMADRYS_BREAD_GLAZED = new FoodComponent.Builder().hunger(8).saturationModifier(1.4F).build(); diff --git a/src/main/java/net/id/paradiselost/items/tools/VialItem.java b/src/main/java/net/id/paradiselost/items/tools/VialItem.java deleted file mode 100644 index f7cfb5e8f..000000000 --- a/src/main/java/net/id/paradiselost/items/tools/VialItem.java +++ /dev/null @@ -1,116 +0,0 @@ -package net.id.paradiselost.items.tools; - -import net.id.paradiselost.fluids.ParadiseLostFluids; -import net.id.paradiselost.items.ParadiseLostItems; -import net.minecraft.block.*; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.fluid.FlowableFluid; -import net.minecraft.fluid.Fluid; -import net.minecraft.fluid.Fluids; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemUsage; -import net.minecraft.particle.ParticleTypes; -import net.minecraft.sound.SoundCategory; -import net.minecraft.sound.SoundEvents; -import net.minecraft.util.Hand; -import net.minecraft.util.TypedActionResult; -import net.minecraft.util.hit.BlockHitResult; -import net.minecraft.util.hit.HitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; -import net.minecraft.world.RaycastContext; -import net.minecraft.world.World; -import net.minecraft.world.event.GameEvent; - -public class VialItem extends Item { - - private final Fluid fluid; - - public VialItem(Fluid fluid, Settings settings) { - super(settings); - this.fluid = fluid; - } - - public static ItemStack getEmptiedStack(ItemStack stack, PlayerEntity player) { - return !player.getAbilities().creativeMode ? new ItemStack(ParadiseLostItems.VIAL) : stack; - } - - @Override - public TypedActionResult use(World world, PlayerEntity user, Hand hand) { - ItemStack itemStack = user.getStackInHand(hand); - BlockHitResult hitResult = raycast(world, user, this.fluid == Fluids.EMPTY ? RaycastContext.FluidHandling.SOURCE_ONLY : RaycastContext.FluidHandling.NONE); - if (hitResult.getType() == HitResult.Type.BLOCK) { - BlockPos blockPos = hitResult.getBlockPos(); - Direction direction = hitResult.getSide(); - BlockPos blockPos2 = blockPos.offset(direction); - if (world.canPlayerModifyAt(user, blockPos) && user.canPlaceOn(blockPos2, direction, itemStack)) { - BlockState blockState; - // Originally, vials couldn't pick up dense cloud. If this was intended, remove this if statement - if (this.fluid == Fluids.EMPTY) { - blockState = world.getBlockState(blockPos); - if (blockState.getBlock() instanceof FluidDrainable && blockState.getFluidState().getFluid().equals(ParadiseLostFluids.DENSE_CLOUD)) { - FluidDrainable fluidDrainable = (FluidDrainable) blockState.getBlock(); - ItemStack itemStack2 = fluidDrainable.tryDrainFluid(world, blockPos, blockState); - if (!itemStack2.isEmpty()) { - world.emitGameEvent(user, GameEvent.FLUID_PICKUP, blockPos); - ItemStack itemStack3 = ItemUsage.exchangeStack(itemStack, user, new ItemStack(ParadiseLostItems.CLOUD_VIAL)); - - return TypedActionResult.success(itemStack3, world.isClient()); - } - } - - return TypedActionResult.fail(itemStack); - } else { - blockState = world.getBlockState(blockPos); - BlockPos blockPos3 = blockState.getBlock() instanceof FluidFillable && this.fluid == ParadiseLostFluids.DENSE_CLOUD ? blockPos : blockPos2; - if (placeFluid(user, world, blockPos3, hitResult)) { - return TypedActionResult.success(getEmptiedStack(itemStack, user), world.isClient()); - } else { - return TypedActionResult.fail(itemStack); - } - } - } else { - return TypedActionResult.fail(itemStack); - } - } - return TypedActionResult.fail(itemStack); - } - - private boolean placeFluid(PlayerEntity player, World world, BlockPos pos, BlockHitResult hitResult) { - if (!(this.fluid instanceof FlowableFluid)) { - return false; - } else { - BlockState blockState = world.getBlockState(pos); - Block block = blockState.getBlock(); - Material material = blockState.getMaterial(); - boolean bl = blockState.canBucketPlace(this.fluid); - boolean bl2 = blockState.isAir() || bl || block instanceof FluidFillable && ((FluidFillable) block).canFillWithFluid(world, pos, blockState, this.fluid); - if (!bl2) { - return hitResult != null && this.placeFluid(player, world, hitResult.getBlockPos().offset(hitResult.getSide()), null); - } else if (world.getDimension().ultrawarm() && this.fluid.equals(ParadiseLostFluids.DENSE_CLOUD)) { - int i = pos.getX(); - int j = pos.getY(); - int k = pos.getZ(); - world.playSound(player, pos, SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F); - - for (int l = 0; l < 8; ++l) { - world.addParticle(ParticleTypes.LARGE_SMOKE, (double) i + Math.random(), (double) j + Math.random(), (double) k + Math.random(), 0.0D, 0.0D, 0.0D); - } - - return true; - } else if (block instanceof FluidFillable && this.fluid == ParadiseLostFluids.DENSE_CLOUD) { - ((FluidFillable) block).tryFillWithFluid(world, pos, blockState, ((FlowableFluid) this.fluid).getStill(false)); -// this.playEmptyingSound(player, world, pos); - return true; - } else { - if (!world.isClient && bl && !material.isLiquid()) { - world.breakBlock(pos, true); - } - - // this.playEmptyingSound(player, world, pos); - return world.setBlockState(pos, this.fluid.getDefaultState().getBlockState(), Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD) || blockState.getFluidState().isStill(); - } - } - } -} diff --git a/src/main/java/net/id/paradiselost/recipe/TreeTapRecipe.java b/src/main/java/net/id/paradiselost/recipe/TreeTapRecipe.java index 043da045a..2f41e1bf7 100644 --- a/src/main/java/net/id/paradiselost/recipe/TreeTapRecipe.java +++ b/src/main/java/net/id/paradiselost/recipe/TreeTapRecipe.java @@ -17,14 +17,16 @@ public class TreeTapRecipe implements Recipe { protected final Ingredient ingredient; protected final ItemStack output; - protected final Block tappedBlock; + protected final Block tappedBlock; + protected final int chance; - public TreeTapRecipe(Identifier id, String group, Ingredient ingredient, ItemStack output, Block tappedBlock) { + public TreeTapRecipe(Identifier id, String group, Ingredient ingredient, ItemStack output, Block tappedBlock, int chance) { this.id = id; this.group = group; this.ingredient = ingredient; this.output = output; - this.tappedBlock = tappedBlock; + this.tappedBlock = tappedBlock; + this.chance = chance; } @Override @@ -46,10 +48,10 @@ public boolean fits(int width, int height) { return true; } - @Override - public ItemStack getOutput() { - return output; - } + @Override + public ItemStack getOutput() { + return output; + } @Override public String getGroup() { @@ -57,9 +59,13 @@ public String getGroup() { } @Override - public Identifier getId() { - return id; - } + public Identifier getId() { + return id; + } + + public int getChance() { + return chance; + } @Override public RecipeSerializer getSerializer() { diff --git a/src/main/java/net/id/paradiselost/recipe/TreeTapRecipeSerializer.java b/src/main/java/net/id/paradiselost/recipe/TreeTapRecipeSerializer.java index c40fbe7e4..fac13b652 100644 --- a/src/main/java/net/id/paradiselost/recipe/TreeTapRecipeSerializer.java +++ b/src/main/java/net/id/paradiselost/recipe/TreeTapRecipeSerializer.java @@ -14,7 +14,7 @@ public record TreeTapRecipeSerializer(TreeTapRecipeSerializer.RecipeFactory recipeFactory) implements RecipeSerializer { public interface RecipeFactory { - TreeTapRecipe create(Identifier id, String group, Ingredient ingredient, ItemStack output, Block tappedBlock); + TreeTapRecipe create(Identifier id, String group, Ingredient ingredient, ItemStack output, Block tappedBlock, int chance); } @Override @@ -22,9 +22,10 @@ public TreeTapRecipe read(Identifier identifier, JsonObject jsonObject) { String group = JsonHelper.getString(jsonObject, "group", ""); Ingredient ingredient = Ingredient.fromJson(JsonHelper.getObject(jsonObject, "ingredient")); Block tappedBlock = Registry.BLOCK.get(Identifier.tryParse(JsonHelper.getString(jsonObject, "tapped_block"))); - ItemStack output = RecipeParser.getItemStackWithNbtFromJson(JsonHelper.getObject(jsonObject, "result")); + ItemStack output = RecipeParser.getItemStackWithNbtFromJson(JsonHelper.getObject(jsonObject, "result")); + int chance = JsonHelper.getInt(jsonObject, "chance"); - return this.recipeFactory.create(identifier, group, ingredient, output, tappedBlock); + return this.recipeFactory.create(identifier, group, ingredient, output, tappedBlock, chance); } @Override @@ -33,6 +34,7 @@ public void write(PacketByteBuf packetByteBuf, TreeTapRecipe recipe) { recipe.ingredient.write(packetByteBuf); packetByteBuf.writeIdentifier(Registry.BLOCK.getId(recipe.tappedBlock)); packetByteBuf.writeItemStack(recipe.output); + packetByteBuf.writeInt(recipe.chance); } @Override @@ -41,8 +43,9 @@ public TreeTapRecipe read(Identifier identifier, PacketByteBuf packetByteBuf) { Ingredient ingredient = Ingredient.fromPacket(packetByteBuf); Block tappedBlock = Registry.BLOCK.get(packetByteBuf.readIdentifier()); ItemStack output = packetByteBuf.readItemStack(); + int chance = packetByteBuf.readInt(); - return this.recipeFactory.create(identifier, group, ingredient, output, tappedBlock); + return this.recipeFactory.create(identifier, group, ingredient, output, tappedBlock, chance); } } diff --git a/src/main/java/net/id/paradiselost/util/CompatConfig.java b/src/main/java/net/id/paradiselost/util/CompatConfig.java index 7ae20dca0..a5c0a42e5 100644 --- a/src/main/java/net/id/paradiselost/util/CompatConfig.java +++ b/src/main/java/net/id/paradiselost/util/CompatConfig.java @@ -7,8 +7,6 @@ public final class CompatConfig { private CompatConfig() { } - - // TODO: When sodium supports custom render layers, make this check the version - public static final boolean SODIUM_WORKAROUND = getBoolean(locate("sodium_workaround"), isLoaded("sodium")); + public static final boolean SPECTRUM_WORKAROUND = getBoolean(locate("spectrum_workaround"), isLoaded("spectrum")); } diff --git a/src/main/java/net/id/paradiselost/util/RenderUtils.java b/src/main/java/net/id/paradiselost/util/RenderUtils.java index 3a566c94c..af08deb0c 100644 --- a/src/main/java/net/id/paradiselost/util/RenderUtils.java +++ b/src/main/java/net/id/paradiselost/util/RenderUtils.java @@ -1,7 +1,6 @@ package net.id.paradiselost.util; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; -import net.id.paradiselost.client.rendering.shader.ParadiseLostRenderLayers; import net.minecraft.block.Block; import net.minecraft.client.render.RenderLayer; import net.minecraft.fluid.Fluid; @@ -47,14 +46,6 @@ public static void transparentRenderLayer(Fluid fluid) { public static void cutoutRenderLayer(Block block) { blockRenderLayer(block, RenderLayer.getCutout()); } - - public static void auralRenderLayer(Block block) { - blockRenderLayer(block, ParadiseLostRenderLayers.AURAL); - } - - public static void auralCutoutMippedRenderLayer(Block block) { - blockRenderLayer(block, ParadiseLostRenderLayers.AURAL_CUTOUT_MIPPED); - } public static void cutoutMippedRenderLayer(Block block) { blockRenderLayer(block, RenderLayer.getCutoutMipped()); diff --git a/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostTreeConfiguredFeatures.java b/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostTreeConfiguredFeatures.java index e42e2d902..137aef5cb 100644 --- a/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostTreeConfiguredFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/configured_features/ParadiseLostTreeConfiguredFeatures.java @@ -40,7 +40,6 @@ public class ParadiseLostTreeConfiguredFeatures extends ParadiseLostConfiguredFe public static final RegistryEntry> ROSE_WISTERIA_TREE = register("rose_wisteria_tree", Feature.TREE, Configs.ROSE_WISTERIA_CONFIG); public static final RegistryEntry> LAVENDER_WISTERIA_TREE = register("lavender_wisteria_tree", Feature.TREE, Configs.LAVENDER_WISTERIA_CONFIG); public static final RegistryEntry> FROST_WISTERIA_TREE = register("frost_wisteria_tree", Feature.TREE, Configs.FROST_WISTERIA_CONFIG); - public static final RegistryEntry> BOREAL_WISTERIA_TREE = register("boreal_wisteria_tree", Feature.TREE, Configs.BOREAL_WISTERIA_CONFIG); // Variants public static final RegistryEntry> WILD_ORANGE_TREE = register("wild_orange_tree", Feature.TREE, Configs.ORANGE_TREE_WILD_CONFIG); public static final RegistryEntry> AUREL_SHRUB = register("aurel_shrub", Feature.TREE, Configs.AUREL_SHRUB_CONFIG); @@ -50,7 +49,6 @@ public class ParadiseLostTreeConfiguredFeatures extends ParadiseLostConfiguredFe public static final RegistryEntry> FANCY_ROSE_WISTERIA_TREE = register("fancy_rose_wisteria_tree", Feature.TREE, Configs.FANCY_ROSE_WISTERIA_CONFIG); public static final RegistryEntry> FANCY_LAVENDER_WISTERIA_TREE = register("fancy_lavender_wisteria_tree", Feature.TREE, Configs.FANCY_LAVENDER_WISTERIA_CONFIG); public static final RegistryEntry> FANCY_FROST_WISTERIA_TREE = register("fancy_frost_wisteria_tree", Feature.TREE, Configs.FANCY_FROST_WISTERIA_CONFIG); - public static final RegistryEntry> FANCY_BOREAL_WISTERIA_TREE = register("fancy_boreal_wisteria_tree", Feature.TREE, Configs.FANCY_BOREAL_WISTERIA_CONFIG); public static final RegistryEntry> FANCY_AUREL_TREE = register("fancy_aurel_tree", Feature.TREE, Configs.FANCY_AUREL_CONFIG); public static final RegistryEntry> THICKET_AUREL_TREE = register("thicket_aurel_tree", Feature.TREE, Configs.THICKET_AUREL_CONFIG); // Fallen leaves @@ -236,19 +234,6 @@ private static TreeFeatureConfig generateTree(BlockStateProvider logProvider, Bl new TwoLayersFeatureSize(3, 0, 3), true, false ); - private static final TreeFeatureConfig BOREAL_WISTERIA_CONFIG = generateTree( - WISTERIA_LOG.getDefaultState(), BOREAL_WISTERIA_LEAVES.getDefaultState(), DIRT.getDefaultState(), - new WisteriaTrunkPlacer( - UniformIntProvider.create(3, 4), - UniformIntProvider.create(3, 4), // branch count - UniformFloatProvider.create(1.5F, 3F), // branch height - UniformFloatProvider.create(6F, 10F), // branch width - 4, 3, 2 - ), - new WisteriaFoliagePlacer(UniformIntProvider.create(2, 3), ConstantIntProvider.create(0)), - new TwoLayersFeatureSize(3, 0, 3), - true, false - ); private static final TreeFeatureConfig FANCY_ROSE_WISTERIA_CONFIG = generateTree( WISTERIA_LOG.getDefaultState(), ROSE_WISTERIA_LEAVES.getDefaultState(), DIRT.getDefaultState(), new WisteriaTrunkPlacer( @@ -288,19 +273,6 @@ private static TreeFeatureConfig generateTree(BlockStateProvider logProvider, Bl new TwoLayersFeatureSize(3, 0, 3), true, false ); - private static final TreeFeatureConfig FANCY_BOREAL_WISTERIA_CONFIG = generateTree( - WISTERIA_LOG.getDefaultState(), BOREAL_WISTERIA_LEAVES.getDefaultState(), DIRT.getDefaultState(), - new WisteriaTrunkPlacer( - UniformIntProvider.create(3, 4), - UniformIntProvider.create(3, 4), // branch count - UniformFloatProvider.create(1.5F, 3F), // branch height - UniformFloatProvider.create(6F, 10F), // branch width - 4, 3, 2 - ), - new WisteriaFoliagePlacer(UniformIntProvider.create(3, 6), ConstantIntProvider.create(0)), - new TwoLayersFeatureSize(3, 0, 3), - true, false - ); //Special trees private static final TreeFeatureConfig MOTHER_AUREL_CONFIG = generateTree( diff --git a/src/main/java/net/id/paradiselost/world/feature/features/ParadiseLostLakeFeature.java b/src/main/java/net/id/paradiselost/world/feature/features/ParadiseLostLakeFeature.java index 165b1892a..aa80aea10 100644 --- a/src/main/java/net/id/paradiselost/world/feature/features/ParadiseLostLakeFeature.java +++ b/src/main/java/net/id/paradiselost/world/feature/features/ParadiseLostLakeFeature.java @@ -78,9 +78,6 @@ public boolean generate(FeatureContext context) { if (lakeEdge) { var state = context.getWorld().getBlockState(blockPos.add(xOff, yOff, zOff)); - if (state.isOf(ParadiseLostBlocks.AUREL_LEAF_PILE)) { - System.out.flush(); - } Material material = state.getMaterial(); // There is a liquid above the lake, abort diff --git a/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java b/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java index d7bf26997..37d4535e0 100644 --- a/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostMiscPlacedFeatures.java @@ -24,7 +24,7 @@ public class ParadiseLostMiscPlacedFeatures extends ParadiseLostPlacedFeatures { public static final RegistryEntry ORE_CHERINE = register("ore_cherine", ParadiseLostMiscConfiguredFeatures.ORE_CHERINE, CountPlacementModifier.of(20), SquarePlacementModifier.of(), HeightRangePlacementModifier.trapezoid(YOffset.aboveBottom(0), YOffset.aboveBottom(320)), BiomePlacementModifier.of()); public static final RegistryEntry ORE_OLVITE = register("ore_olvite", ParadiseLostMiscConfiguredFeatures.ORE_OLVITE, CountPlacementModifier.of(16), SquarePlacementModifier.of(), HeightRangePlacementModifier.trapezoid(YOffset.aboveBottom(0), YOffset.aboveBottom(384)), BiomePlacementModifier.of()); - public static final RegistryEntry SURTRUM_METEORITE = register("surtrum_meteorite", ParadiseLostMiscConfiguredFeatures.SURTRUM_METEORITE, SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.fixed(65), YOffset.fixed(85)), ChancePlacementModifier.of(150)); + public static final RegistryEntry SURTRUM_METEORITE = register("surtrum_meteorite", ParadiseLostMiscConfiguredFeatures.SURTRUM_METEORITE, SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.fixed(65), YOffset.fixed(85)), ChancePlacementModifier.of(255)); // Plato // Shield public static final RegistryEntry SHIELD_ROCKS = register("shield_rocks", ParadiseLostMiscConfiguredFeatures.SHIELD_ROCKS, PlacedFeatures.BOTTOM_TO_TOP_RANGE, CountMultilayerPlacementModifier.of(1), CountPlacementModifier.of(UniformIntProvider.create(0, 2))); diff --git a/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostTreePlacedFeatures.java b/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostTreePlacedFeatures.java index bc607c6dc..9b1bb2f4c 100644 --- a/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostTreePlacedFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/placed_features/ParadiseLostTreePlacedFeatures.java @@ -34,12 +34,10 @@ public class ParadiseLostTreePlacedFeatures extends ParadiseLostPlacedFeatures { public static final RegistryEntry ROSE_WISTERIA_TREE = register("rose_wisteria_tree", ParadiseLostTreeConfiguredFeatures.ROSE_WISTERIA_TREE, placed(ROSE_WISTERIA_SAPLING)); public static final RegistryEntry LAVENDER_WISTERIA_TREE = register("lavender_wisteria_tree", ParadiseLostTreeConfiguredFeatures.LAVENDER_WISTERIA_TREE, placed(LAVENDER_WISTERIA_SAPLING)); public static final RegistryEntry FROST_WISTERIA_TREE = register("frost_wisteria_tree", ParadiseLostTreeConfiguredFeatures.FROST_WISTERIA_TREE, placed(FROST_WISTERIA_SAPLING)); - public static final RegistryEntry BOREAL_WISTERIA_TREE = register("boreal_wisteria_tree", ParadiseLostTreeConfiguredFeatures.BOREAL_WISTERIA_TREE, placed(BOREAL_WISTERIA_SAPLING)); // Fancy public static final RegistryEntry FANCY_ROSE_WISTERIA_TREE = register("fancy_rose_wisteria_tree", ParadiseLostTreeConfiguredFeatures.FANCY_ROSE_WISTERIA_TREE, placed(ROSE_WISTERIA_SAPLING)); public static final RegistryEntry FANCY_LAVENDER_WISTERIA_TREE = register("fancy_lavender_wisteria_tree", ParadiseLostTreeConfiguredFeatures.FANCY_LAVENDER_WISTERIA_TREE, placed(LAVENDER_WISTERIA_SAPLING)); public static final RegistryEntry FANCY_FROST_WISTERIA_TREE = register("fancy_frost_wisteria_tree", ParadiseLostTreeConfiguredFeatures.FANCY_FROST_WISTERIA_TREE, placed(FROST_WISTERIA_SAPLING)); - public static final RegistryEntry FANCY_BOREAL_WISTERIA_TREE = register("fancy_boreal_wisteria_tree", ParadiseLostTreeConfiguredFeatures.FANCY_BOREAL_WISTERIA_TREE, placed(BOREAL_WISTERIA_SAPLING)); public static final RegistryEntry FANCY_AUREL_TREE = register("fancy_aurel_tree", ParadiseLostTreeConfiguredFeatures.FANCY_AUREL_TREE, placed(AUREL_SAPLING)); // Tree Assortments public static final RegistryEntry SCATTERED_TREES = register("scattered_trees", ParadiseLostTreeConfiguredFeatures.SCATTERED_TREES, CountMultilayerPlacementModifier.of(6), CountPlacementModifier.of(UniformIntProvider.create(0, 6))); diff --git a/src/main/java/net/id/paradiselost/world/feature/tree/generator/BorealWisteriaSaplingGenerator.java b/src/main/java/net/id/paradiselost/world/feature/tree/generator/BorealWisteriaSaplingGenerator.java deleted file mode 100644 index 33e895022..000000000 --- a/src/main/java/net/id/paradiselost/world/feature/tree/generator/BorealWisteriaSaplingGenerator.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.id.paradiselost.world.feature.tree.generator; - -import net.id.paradiselost.world.feature.configured_features.ParadiseLostTreeConfiguredFeatures; -import net.minecraft.block.sapling.SaplingGenerator; -import net.minecraft.util.math.random.Random; -import net.minecraft.util.registry.RegistryEntry; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import org.jetbrains.annotations.Nullable; - -public class BorealWisteriaSaplingGenerator extends SaplingGenerator { - @Override - protected @Nullable RegistryEntry> getTreeFeature(Random random, boolean bl) { - return ParadiseLostTreeConfiguredFeatures.BOREAL_WISTERIA_TREE; - } -} diff --git a/src/main/java/net/id/paradiselost/world/feature/tree/placers/WisteriaFoliagePlacer.java b/src/main/java/net/id/paradiselost/world/feature/tree/placers/WisteriaFoliagePlacer.java index 9350e3631..0643f63e1 100644 --- a/src/main/java/net/id/paradiselost/world/feature/tree/placers/WisteriaFoliagePlacer.java +++ b/src/main/java/net/id/paradiselost/world/feature/tree/placers/WisteriaFoliagePlacer.java @@ -5,7 +5,6 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import net.id.paradiselost.blocks.natural.tree.ParadiseLostHangerBlock; import net.id.paradiselost.blocks.natural.tree.ParadiseLostLeavesBlock; -import net.id.paradiselost.blocks.natural.tree.AuralLeavesBlock; import net.id.paradiselost.world.feature.tree.ParadiseLostTreeHell; import net.minecraft.block.AbstractBlock; import net.minecraft.block.BlockState; @@ -54,7 +53,7 @@ protected void generate(TestableWorld world, BiConsumer re BlockState leafBlock = config.foliageProvider.getBlockState(random, nodePos); BlockState hanger = Blocks.AIR.getDefaultState(); - if (leafBlock.getBlock() instanceof ParadiseLostLeavesBlock || leafBlock.getBlock() instanceof AuralLeavesBlock) { + if (leafBlock.getBlock() instanceof ParadiseLostLeavesBlock) { hanger = ParadiseLostLeavesBlock.getHanger(leafBlock); } diff --git a/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_1.png b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_1.png index 4c3927fd9..0faf49aa0 100644 Binary files a/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_1.png and b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_1.png differ diff --git a/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_2.png b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_2.png index 85292c6bb..8cac01125 100644 Binary files a/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_2.png and b/src/main/resources/assets/minecraft/textures/models/armor/paradise_lost_olvite_layer_2.png differ diff --git a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_hanger.json b/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_hanger.json deleted file mode 100644 index 6fd5f07d6..000000000 --- a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_hanger.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "tip=false": { - "model": "paradise_lost:block/boreal_wisteria_hanger" - }, - "tip=true": { - "model": "paradise_lost:block/boreal_wisteria_hanger_plant" - } - } -} diff --git a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_leaf_pile.json b/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_leaf_pile.json deleted file mode 100644 index 4b8a68f53..000000000 --- a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_leaf_pile.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "paradise_lost:block/frost_wisteria_leaf_pile" - } - } -} diff --git a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_leaves.json b/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_leaves.json deleted file mode 100644 index 8d92ca4e2..000000000 --- a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_leaves.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "paradise_lost:block/boreal_wisteria_leaves" - } - } -} diff --git a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_sapling.json b/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_sapling.json deleted file mode 100644 index fb097e1aa..000000000 --- a/src/main/resources/assets/paradise_lost/blockstates/boreal_wisteria_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "paradise_lost:block/boreal_wisteria_sapling" - } - } -} diff --git a/src/main/resources/assets/paradise_lost/blockstates/potted_boreal_wisteria_sapling.json b/src/main/resources/assets/paradise_lost/blockstates/potted_boreal_wisteria_sapling.json deleted file mode 100644 index 29843589b..000000000 --- a/src/main/resources/assets/paradise_lost/blockstates/potted_boreal_wisteria_sapling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "paradise_lost:block/potted_boreal_wisteria_sapling" - } - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_hanger.json b/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_hanger.json deleted file mode 100644 index 500a2c3b2..000000000 --- a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_hanger.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "paradise_lost:block/wisteria_hanger", - "textures": { - "leaves": "paradise_lost:block/boreal_wisteria_leaves" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_hanger_plant.json b/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_hanger_plant.json deleted file mode 100644 index 8c5b19245..000000000 --- a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_hanger_plant.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "paradise_lost:block/wisteria_hanger", - "textures": { - "leaves": "paradise_lost:block/boreal_wisteria_hanger_tip" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_leaf_pile.json b/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_leaf_pile.json deleted file mode 100644 index 930e41760..000000000 --- a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_leaf_pile.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "paradise_lost:block/leaf_pile", - "textures": { - "leaves": "paradise_lost:block/boreal_wisteria_leaves" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_leaves.json b/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_leaves.json deleted file mode 100644 index 085ab559b..000000000 --- a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_leaves.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/leaves", - "textures": { - "all": "paradise_lost:block/boreal_wisteria_leaves" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_sapling.json b/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_sapling.json deleted file mode 100644 index b5b78eec4..000000000 --- a/src/main/resources/assets/paradise_lost/models/block/boreal_wisteria_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cross", - "textures": { - "cross": "paradise_lost:block/boreal_wisteria_sapling" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/potted_boreal_wisteria_sapling.json b/src/main/resources/assets/paradise_lost/models/block/potted_boreal_wisteria_sapling.json deleted file mode 100644 index 31529edf9..000000000 --- a/src/main/resources/assets/paradise_lost/models/block/potted_boreal_wisteria_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/flower_pot_cross", - "textures": { - "plant": "paradise_lost:block/boreal_wisteria_sapling" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_hanger.json b/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_hanger.json deleted file mode 100644 index 843d93005..000000000 --- a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_hanger.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "paradise_lost:block/boreal_wisteria_leaves" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_hanger_plant.json b/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_hanger_plant.json deleted file mode 100644 index d09ce643a..000000000 --- a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_hanger_plant.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "paradise_lost:block/boreal_wisteria_hanger_tip" - } -} diff --git a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_leaf_pile.json b/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_leaf_pile.json deleted file mode 100644 index 37acc9ce7..000000000 --- a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_leaf_pile.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "paradise_lost:block/boreal_wisteria_leaf_pile" -} diff --git a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_leaves.json b/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_leaves.json deleted file mode 100644 index 93cb04f04..000000000 --- a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_leaves.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "paradise_lost:block/boreal_wisteria_leaves" -} diff --git a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_sapling.json b/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_sapling.json deleted file mode 100644 index c34ea5e49..000000000 --- a/src/main/resources/assets/paradise_lost/models/item/boreal_wisteria_sapling.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "item/generated", - "textures": { - "layer0": "paradise_lost:block/boreal_wisteria_sapling" - } -} diff --git a/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_hanger_tip.png b/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_hanger_tip.png deleted file mode 100644 index 77af28fd3..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_hanger_tip.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_leaves.png b/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_leaves.png deleted file mode 100644 index 00823bd21..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_leaves.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_sapling.png b/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_sapling.png deleted file mode 100644 index effef9341..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/block/boreal_wisteria_sapling.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/cherine_lantern.png b/src/main/resources/assets/paradise_lost/textures/block/cherine_lantern.png index 7277a9ab2..836c61ac7 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/block/cherine_lantern.png and b/src/main/resources/assets/paradise_lost/textures/block/cherine_lantern.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/olvite_block.png b/src/main/resources/assets/paradise_lost/textures/block/olvite_block.png index de08bb0a2..e4512c166 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/block/olvite_block.png and b/src/main/resources/assets/paradise_lost/textures/block/olvite_block.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/block/olvite_chain.png b/src/main/resources/assets/paradise_lost/textures/block/olvite_chain.png index eb10e4bda..232b1d604 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/block/olvite_chain.png and b/src/main/resources/assets/paradise_lost/textures/block/olvite_chain.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/cherine_lantern.png b/src/main/resources/assets/paradise_lost/textures/item/cherine_lantern.png index 98526f73c..3434387e5 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/cherine_lantern.png and b/src/main/resources/assets/paradise_lost/textures/item/cherine_lantern.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/cloud_vial.png b/src/main/resources/assets/paradise_lost/textures/item/cloud_vial.png deleted file mode 100644 index 75b906b3b..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/item/cloud_vial.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/mystery_milk.png b/src/main/resources/assets/paradise_lost/textures/item/mystery_milk.png deleted file mode 100644 index ea6c63e3b..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/item/mystery_milk.png and /dev/null differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite.png b/src/main/resources/assets/paradise_lost/textures/item/olvite.png index f1f186cc0..82add8780 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_axe.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_axe.png index cc926ed38..d5be32aa4 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_axe.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_axe.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_bloodstone.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_bloodstone.png index 71186b590..6a22356a1 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_bloodstone.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_bloodstone.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_boots.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_boots.png index f3030ed14..8dbd45820 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_boots.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_boots.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_chain.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_chain.png index 3d73350dc..af17f971c 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_chain.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_chain.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_chestplate.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_chestplate.png index f23af0bac..7bb7cad66 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_chestplate.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_chestplate.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_helmet.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_helmet.png index ac8e03f59..4f6bdca88 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_helmet.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_helmet.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_hoe.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_hoe.png index 84b3cdcc5..93249e6f0 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_hoe.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_hoe.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_leggings.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_leggings.png index 0998f2a16..13f11252e 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_leggings.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_leggings.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_nugget.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_nugget.png index f3f0dd894..e8825634b 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_nugget.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_nugget.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_pickaxe.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_pickaxe.png index 8f5503ce1..43127eb99 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_pickaxe.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_pickaxe.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_shovel.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_shovel.png index 84c068514..5b2932815 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_shovel.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_shovel.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/olvite_sword.png b/src/main/resources/assets/paradise_lost/textures/item/olvite_sword.png index 26b891041..6271a10c2 100644 Binary files a/src/main/resources/assets/paradise_lost/textures/item/olvite_sword.png and b/src/main/resources/assets/paradise_lost/textures/item/olvite_sword.png differ diff --git a/src/main/resources/assets/paradise_lost/textures/item/vial.png b/src/main/resources/assets/paradise_lost/textures/item/vial.png deleted file mode 100644 index 45a2f05c1..000000000 Binary files a/src/main/resources/assets/paradise_lost/textures/item/vial.png and /dev/null differ diff --git a/src/main/resources/data/paradise_lost/advancements/consume_food.json b/src/main/resources/data/paradise_lost/advancements/consume_food.json index c63856278..e169c793b 100644 --- a/src/main/resources/data/paradise_lost/advancements/consume_food.json +++ b/src/main/resources/data/paradise_lost/advancements/consume_food.json @@ -79,14 +79,6 @@ } } }, - "malk": { - "trigger": "minecraft:consume_item", - "conditions": { - "item": { - "items": ["paradise_lost:mystery_milk"] - } - } - }, "mert": { "trigger": "minecraft:consume_item", "conditions": { diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_hanger.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_hanger.json deleted file mode 100644 index 107a0d7fa..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_hanger.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "paradise_lost:boreal_wisteria_hanger" - } - ], - "conditions": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "items": [ - "minecraft:shears" - ] - } - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_leaves.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_leaves.json deleted file mode 100644 index 70fdacc83..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_leaves.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:alternatives", - "children": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:alternative", - "terms": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "items": [ - "minecraft:shears" - ] - } - }, - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - } - ], - "name": "paradise_lost:boreal_wisteria_leaves" - }, - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:survives_explosion" - }, - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.05, - 0.0625, - 0.083333336, - 0.1 - ] - } - ], - "name": "paradise_lost:boreal_wisteria_sapling" - } - ] - } - ] - }, - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "conditions": [ - { - "condition": "minecraft:table_bonus", - "enchantment": "minecraft:fortune", - "chances": [ - 0.02, - 0.022222223, - 0.025, - 0.033333335, - 0.1 - ] - } - ], - "functions": [ - { - "function": "minecraft:set_count", - "count": { - "type": "minecraft:uniform", - "min": 1.0, - "max": 2.0 - }, - "add": false - }, - { - "function": "minecraft:explosion_decay" - } - ], - "name": "minecraft:stick" - } - ], - "conditions": [ - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:alternative", - "terms": [ - { - "condition": "minecraft:match_tool", - "predicate": { - "items": [ - "minecraft:shears" - ] - } - }, - { - "condition": "minecraft:match_tool", - "predicate": { - "enchantments": [ - { - "enchantment": "minecraft:silk_touch", - "levels": { - "min": 1 - } - } - ] - } - } - ] - } - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_sapling.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_sapling.json deleted file mode 100644 index a78594ef1..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/boreal_wisteria_sapling.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:boreal_wisteria_sapling" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/potted_boreal_wisteria_sapling.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/potted_boreal_wisteria_sapling.json deleted file mode 100644 index c927cd7b0..000000000 --- a/src/main/resources/data/paradise_lost/loot_tables/blocks/potted_boreal_wisteria_sapling.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "minecraft:flower_pot" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - }, - { - "rolls": 1.0, - "bonus_rolls": 0.0, - "entries": [ - { - "type": "minecraft:item", - "name": "paradise_lost:boreal_wisteria_sapling" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} diff --git a/src/main/resources/data/paradise_lost/recipes/tree_tap/honey.json b/src/main/resources/data/paradise_lost/recipes/tree_tap/honey.json new file mode 100644 index 000000000..ea7e01407 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/tree_tap/honey.json @@ -0,0 +1,11 @@ +{ + "type": "paradise_lost:tree_tap", + "ingredient": { + "item": "minecraft:glass_bottle" + }, + "tapped_block": "minecraft:bee_nest", + "result": { + "item": "minecraft:honey_bottle" + }, + "chance": 4 +} diff --git a/src/main/resources/data/paradise_lost/recipes/tree_tap/stew.json b/src/main/resources/data/paradise_lost/recipes/tree_tap/stew.json new file mode 100644 index 000000000..0b346c819 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/tree_tap/stew.json @@ -0,0 +1,11 @@ +{ + "type": "paradise_lost:tree_tap", + "ingredient": { + "item": "minecraft:bowl" + }, + "tapped_block": "minecraft:mushroom_stem", + "result": { + "item": "minecraft:mushroom_stew" + }, + "chance": 3 +} diff --git a/src/main/resources/data/paradise_lost/recipes/tree_tap/water.json b/src/main/resources/data/paradise_lost/recipes/tree_tap/water.json index 469055eaf..d845b0935 100644 --- a/src/main/resources/data/paradise_lost/recipes/tree_tap/water.json +++ b/src/main/resources/data/paradise_lost/recipes/tree_tap/water.json @@ -3,9 +3,10 @@ "ingredient": { "item": "minecraft:glass_bottle" }, - "tapped_block": "paradise_lost:aurel_log", + "tapped_block": "paradise_lost:wisteria_log", "result": { "item": "minecraft:potion", "nbt": "{Potion: \"minecraft:water\"}" - } + }, + "chance": 1 } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/flower_pots.json b/src/main/resources/data/paradise_lost/tags/blocks/flower_pots.json index 1604487d0..c1f68452b 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/flower_pots.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/flower_pots.json @@ -6,7 +6,6 @@ "paradise_lost:potted_mother_aurel_sapling", "paradise_lost:potted_rose_wisteria_sapling", "paradise_lost:potted_frost_wisteria_sapling", - "paradise_lost:potted_lavender_wisteria_sapling", - "paradise_lost:potted_boreal_wisteria_sapling" + "paradise_lost:potted_lavender_wisteria_sapling" ] } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/hangers.json b/src/main/resources/data/paradise_lost/tags/blocks/hangers.json index 19238bb31..12edc10fc 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/hangers.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/hangers.json @@ -3,7 +3,6 @@ "values": [ "paradise_lost:frost_wisteria_hanger", "paradise_lost:rose_wisteria_hanger", - "paradise_lost:lavender_wisteria_hanger", - "paradise_lost:boreal_wisteria_hanger" + "paradise_lost:lavender_wisteria_hanger" ] } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/leaves.json b/src/main/resources/data/paradise_lost/tags/blocks/leaves.json index 79c1ea52a..a3db75fe2 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/leaves.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/leaves.json @@ -6,7 +6,6 @@ "paradise_lost:rose_wisteria_leaves", "paradise_lost:frost_wisteria_leaves", "paradise_lost:lavender_wisteria_leaves", - "paradise_lost:boreal_wisteria_leaves", "paradise_lost:orange_leaves" ] } diff --git a/src/main/resources/data/paradise_lost/tags/blocks/saplings.json b/src/main/resources/data/paradise_lost/tags/blocks/saplings.json index 61e9e0fc1..ddf49f4b4 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/saplings.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/saplings.json @@ -6,7 +6,6 @@ "paradise_lost:rose_wisteria_sapling", "paradise_lost:frost_wisteria_sapling", "paradise_lost:lavender_wisteria_sapling", - "paradise_lost:boreal_wisteria_sapling", "paradise_lost:orange_sapling" ] } diff --git a/src/main/resources/data/paradise_lost/tags/items/hangers.json b/src/main/resources/data/paradise_lost/tags/items/hangers.json index 19238bb31..12edc10fc 100644 --- a/src/main/resources/data/paradise_lost/tags/items/hangers.json +++ b/src/main/resources/data/paradise_lost/tags/items/hangers.json @@ -3,7 +3,6 @@ "values": [ "paradise_lost:frost_wisteria_hanger", "paradise_lost:rose_wisteria_hanger", - "paradise_lost:lavender_wisteria_hanger", - "paradise_lost:boreal_wisteria_hanger" + "paradise_lost:lavender_wisteria_hanger" ] } diff --git a/src/main/resources/data/paradise_lost/tags/items/leaves.json b/src/main/resources/data/paradise_lost/tags/items/leaves.json index 79c1ea52a..a3db75fe2 100644 --- a/src/main/resources/data/paradise_lost/tags/items/leaves.json +++ b/src/main/resources/data/paradise_lost/tags/items/leaves.json @@ -6,7 +6,6 @@ "paradise_lost:rose_wisteria_leaves", "paradise_lost:frost_wisteria_leaves", "paradise_lost:lavender_wisteria_leaves", - "paradise_lost:boreal_wisteria_leaves", "paradise_lost:orange_leaves" ] } diff --git a/src/main/resources/data/paradise_lost/tags/items/saplings.json b/src/main/resources/data/paradise_lost/tags/items/saplings.json index 61e9e0fc1..ddf49f4b4 100644 --- a/src/main/resources/data/paradise_lost/tags/items/saplings.json +++ b/src/main/resources/data/paradise_lost/tags/items/saplings.json @@ -6,7 +6,6 @@ "paradise_lost:rose_wisteria_sapling", "paradise_lost:frost_wisteria_sapling", "paradise_lost:lavender_wisteria_sapling", - "paradise_lost:boreal_wisteria_sapling", "paradise_lost:orange_sapling" ] } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ac06dfe94..b7f28dc23 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -8,7 +8,7 @@ "authors": [ "Immortal Devs - parent organization", "kalucky0 - head of project", - "Azazelthedemonlord - lead designer / local nsfw artist", + "Azazelthedemonlord - lead designer", "24Chrome - lead artist", "Jack Papel - lead developer", "sunsette - lead sound designer", @@ -33,7 +33,6 @@ "fabric-api-base": "*", "fabric-registry-sync-v0": "*", "trinkets": "*", - "satin": "*", "cloth-config": "*" }, "mixins": [