diff --git a/build.gradle b/build.gradle index b18dbc5b..dd5b730e 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { id 'org.spongepowered.mixin' version '0.7.+' } -version = '1.14' +version = '1.15' group = 'thedarkcolour.exdeorum' base { archivesName = 'exdeorum' @@ -139,6 +139,12 @@ repositories { includeModule("maven.modrinth", "embeddium") } } + maven { + url "https://cursemaven.com" + content { + includeGroup "curse.maven" + } + } } dependencies { @@ -169,6 +175,7 @@ dependencies { // testing //implementation fg.deobf("curse.maven:allthecompressed-514045:4938351") + //implementation fg.deobf("curse.maven:inventorysorter-240633:4655091") testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2' diff --git a/changelog.md b/changelog.md index d2345ab9..f22746af 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,12 @@ +## Ex Deorum 1.16 +- Added Mechanical Hammer, a machine that uses FE to hammer blocks automatically. Uses 20 FE a tick by default and takes 200 ticks (10 seconds) to hammer an item with a hammer that has no efficiency. + +## Ex Deorum 1.15 +- Fixed not being able to enchant sieve meshes in the Enchanting Table. +- Fixed Barrels not rendering their contents properly +- Fixed Inventory Sorter by voxcpw voiding items when middle clicking slots in the Mechanical Sieve GUI. +- Improved appearance of witch water to better match water so that the transformation animation looks smoother. + ## Ex Deorum 1.14 - Added Mechanical Sieve, a machine that uses FE to sift blocks automatically. Uses 40 FE a tick by default and takes 100 ticks to sift an item with no efficiency enchantment. - Added `by_hand_only` boolean field to Sieve recipes, which allows modpack makers to add sieve drops that don't drop from the Mechanical Sieve. diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java index d3f2b37f..a121bdba 100644 --- a/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java +++ b/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java @@ -22,6 +22,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.FriendlyByteBuf; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.tags.FluidTags; @@ -129,6 +130,28 @@ public class BarrelBlockEntity extends EBlockEntity { this.b = nbt.getShort("b"); } + @Override + public void writeVisualData(FriendlyByteBuf buffer) { + buffer.writeItem(this.item.getStackInSlot(0)); + buffer.writeFluidStack(this.tank.getFluid()); + buffer.writeShort(this.compost); + buffer.writeFloat(this.progress); + buffer.writeShort(this.r); + buffer.writeShort(this.g); + buffer.writeShort(this.b); + } + + @Override + public void readVisualData(FriendlyByteBuf buffer) { + this.item.setStackInSlot(0, buffer.readItem()); + this.tank.setFluid(buffer.readFluidStack()); + this.compost = buffer.readShort(); + this.progress = buffer.readFloat(); + this.r = buffer.readShort(); + this.g = buffer.readShort(); + this.b = buffer.readShort(); + } + public boolean isBrewing() { return this.tank.getFluidAmount() == 1000 && this.progress != 0.0f && !isBurning(); } diff --git a/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java b/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java index a3113fe5..8313740e 100644 --- a/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java +++ b/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java @@ -81,10 +81,10 @@ public class BarrelRenderer implements BlockEntityRenderer { if (barrel.isBrewing()) { float progress = barrel.progress; - // Transition between water color and witch water color (1F0C4C) - r = (int) Mth.lerp(progress, r, 31); - g = (int) Mth.lerp(progress, g, 12); - b = (int) Mth.lerp(progress, b, 76); + // Transition between water color and witch water color (200B41) + r = (int) Mth.lerp(progress, r, 32); + g = (int) Mth.lerp(progress, g, 11); + b = (int) Mth.lerp(progress, b, 65); } RenderUtil.renderFlatFluidSprite(buffers, stack, level, pos, y, 2.0f, light, r, g, b, fluid); diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java index 912f9135..7b040515 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java @@ -18,6 +18,7 @@ package thedarkcolour.exdeorum.compat; +@SuppressWarnings("SpellCheckingInspection") public class ModIds { public static final String MINECRAFT = "minecraft"; public static final String THE_ONE_PROBE = "theoneprobe"; @@ -41,4 +42,5 @@ public class ModIds { public static final String PAMS_HARVESTCRAFT_CROPS = "pamhc2crops"; public static final String NUCLEARCRAFT_NEOTERIC = "nuclearcraft"; public static final String JEI = "jei"; + public static final String INVENTORY_SORTER = "inventorysorter"; } diff --git a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java index c730d672..b702e76b 100644 --- a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java +++ b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java @@ -57,6 +57,7 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.fml.loading.FMLEnvironment; import thedarkcolour.exdeorum.ExDeorum; import thedarkcolour.exdeorum.blockentity.LavaCrucibleBlockEntity; +import thedarkcolour.exdeorum.blockentity.helper.ItemHelper; import thedarkcolour.exdeorum.client.CompostColors; import thedarkcolour.exdeorum.compat.ModIds; import thedarkcolour.exdeorum.compat.top.ExDeorumTopCompat; @@ -230,6 +231,10 @@ public final class EventHandler { if (ModList.get().isLoaded(ModIds.THE_ONE_PROBE)) { InterModComms.sendTo(ModIds.THE_ONE_PROBE, "getTheOneProbe", ExDeorumTopCompat::new); } + // todo instead of doing this, figure out the real reason sorting voids items + if (ModList.get().isLoaded(ModIds.INVENTORY_SORTER)) { + InterModComms.sendTo(ModIds.INVENTORY_SORTER, "slotblacklist", ItemHelper.Slot.class::getName); + } } private static void addReloadListeners(AddReloadListenerEvent event) { diff --git a/src/main/java/thedarkcolour/exdeorum/item/MeshItem.java b/src/main/java/thedarkcolour/exdeorum/item/MeshItem.java index 0e528428..794bdfd3 100644 --- a/src/main/java/thedarkcolour/exdeorum/item/MeshItem.java +++ b/src/main/java/thedarkcolour/exdeorum/item/MeshItem.java @@ -32,4 +32,14 @@ public class MeshItem extends Item { public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { return enchantment == Enchantments.BLOCK_EFFICIENCY || enchantment == Enchantments.BLOCK_FORTUNE; } + + @Override + public boolean isEnchantable(ItemStack pStack) { + return true; + } + + @Override + public int getEnchantmentValue() { + return 10; + } } diff --git a/src/main/resources/assets/exdeorum/textures/block/compost_dirt.png b/src/main/resources/assets/exdeorum/textures/block/compost_dirt.png index 94a8e294..0a52a21d 100644 Binary files a/src/main/resources/assets/exdeorum/textures/block/compost_dirt.png and b/src/main/resources/assets/exdeorum/textures/block/compost_dirt.png differ diff --git a/src/main/resources/assets/exdeorum/textures/block/witch_water_flowing.png b/src/main/resources/assets/exdeorum/textures/block/witch_water_flowing.png index 0f2c4f08..61281c73 100644 Binary files a/src/main/resources/assets/exdeorum/textures/block/witch_water_flowing.png and b/src/main/resources/assets/exdeorum/textures/block/witch_water_flowing.png differ diff --git a/src/main/resources/assets/exdeorum/textures/block/witch_water_still.png b/src/main/resources/assets/exdeorum/textures/block/witch_water_still.png index 1fc70ed8..f209b319 100644 Binary files a/src/main/resources/assets/exdeorum/textures/block/witch_water_still.png and b/src/main/resources/assets/exdeorum/textures/block/witch_water_still.png differ