From 458a4b8e4592bddc34a549d468ec45d6d3e0e012 Mon Sep 17 00:00:00 2001 From: drcrazy Date: Thu, 9 Apr 2020 14:50:53 +0300 Subject: [PATCH 1/6] Fix cloaking device texture. Closes #2067 --- ...king_layer_1.png => cloaking_device_layer_1.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/resources/assets/minecraft/textures/models/armor/{cloaking_layer_1.png => cloaking_device_layer_1.png} (100%) diff --git a/src/main/resources/assets/minecraft/textures/models/armor/cloaking_layer_1.png b/src/main/resources/assets/minecraft/textures/models/armor/cloaking_device_layer_1.png similarity index 100% rename from src/main/resources/assets/minecraft/textures/models/armor/cloaking_layer_1.png rename to src/main/resources/assets/minecraft/textures/models/armor/cloaking_device_layer_1.png From 1625920fefdc7f6c5a627da63a66e7da6d003c2b Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 11 Apr 2020 14:44:41 +0100 Subject: [PATCH 2/6] Add plant products to the Composter. Fixes #2075 --- src/main/java/techreborn/TechReborn.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/techreborn/TechReborn.java b/src/main/java/techreborn/TechReborn.java index 03c051fbc..04b5a1a75 100644 --- a/src/main/java/techreborn/TechReborn.java +++ b/src/main/java/techreborn/TechReborn.java @@ -26,6 +26,7 @@ package techreborn; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.minecraft.block.ComposterBlock; import net.minecraft.fluid.Fluids; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; @@ -96,6 +97,13 @@ public class TechReborn implements ModInitializer { RedstoneConfiguration.fluidStack = DynamicCellItem.getCellWithFluid(Fluids.LAVA); RedstoneConfiguration.powerStack = new ItemStack(TRContent.RED_CELL_BATTERY); + ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.RUBBER_SAPLING.asItem(), 0.3F); + ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.RUBBER_LEAVES.asItem(), 0.3F); + ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.Parts.PLANTBALL.asItem(), 1F); + ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.Parts.COMPRESSED_PLANTBALL.asItem(), 1F); + ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.Dusts.SAW.asItem(), 0.3F); + ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.SmallDusts.SAW.asItem(), 0.1F); + LOGGER.info("TechReborn setup done!"); } From 8b16fe191b9f7cded9d48e1f24a9dfa8013435b2 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 11 Apr 2020 14:51:02 +0100 Subject: [PATCH 3/6] Fix #2070 --- src/main/java/techreborn/utils/FluidUtils.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/techreborn/utils/FluidUtils.java b/src/main/java/techreborn/utils/FluidUtils.java index bc086d0e6..94dfe043d 100644 --- a/src/main/java/techreborn/utils/FluidUtils.java +++ b/src/main/java/techreborn/utils/FluidUtils.java @@ -71,7 +71,7 @@ public class FluidUtils { FluidValue freeSpace = target.getCapacity(null).subtract(targetFluidInstance.getAmount()); if(!outputStack.isEmpty()){ - if(outputStack.getCount() >= outputStack.getMaxCount()){ + if(outputStack.getCount() >= outputStack.getMaxCount() || !outputStack.isItemEqual(itemFluidInfo.getEmpty())){ return false; } } @@ -109,7 +109,9 @@ public class FluidUtils { if(!outputStack.isEmpty()){ if (outputStack.getCount() >= outputStack.getMaxCount()) return false; - if(!(outputStack.getItem() instanceof ItemFluidInfo)) return false; + if (!(outputStack.getItem() instanceof ItemFluidInfo)) return false; + + if (!outputStack.isItemEqual(itemFluidInfo.getEmpty())) return false; ItemFluidInfo outputFluidInfo = (ItemFluidInfo) outputStack.getItem(); From 9612c82cd36c6d89b6c76b956ba848066cae2ad5 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 11 Apr 2020 15:12:13 +0100 Subject: [PATCH 4/6] Display flying when an elytra is used with the trinkets mod. Closes #2074 --- build.gradle | 8 +++++++ src/main/java/techreborn/TechReborn.java | 11 +++++++++ .../techreborn/compat/trinkets/Trinkets.java | 23 +++++++++++++++++++ .../items/armor/QuantumSuitItem.java | 2 +- 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 src/main/java/techreborn/compat/trinkets/Trinkets.java diff --git a/build.gradle b/build.gradle index 33e93c117..17a508174 100644 --- a/build.gradle +++ b/build.gradle @@ -43,6 +43,13 @@ repositories { //Dev Mode url "https://maven.jamieswhiteshirt.com/libs-release/" } + maven { + //trinkets + url = "https://maven.abusedmaster.xyz/" + } + maven { + url = "https://jitpack.io" + } } version = "3.3.7" @@ -74,6 +81,7 @@ dependencies { optionalDependency ("me.shedaniel:RoughlyEnoughItems:3.6.0") optionalDependency ('io.github.cottonmc:LibCD:2.0.1+1.15') + optionalDependency ('com.github.emilyploszaj:trinkets:2.4.2') def rcVersion = 'RebornCore:RebornCore-1.15:+' modApi (rcVersion) { diff --git a/src/main/java/techreborn/TechReborn.java b/src/main/java/techreborn/TechReborn.java index 04b5a1a75..fca18f401 100644 --- a/src/main/java/techreborn/TechReborn.java +++ b/src/main/java/techreborn/TechReborn.java @@ -26,7 +26,9 @@ package techreborn; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder; +import net.fabricmc.loader.api.FabricLoader; import net.minecraft.block.ComposterBlock; +import net.minecraft.entity.player.PlayerEntity; import net.minecraft.fluid.Fluids; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; @@ -40,6 +42,7 @@ import reborncore.common.util.Torus; import reborncore.common.world.DataAttachment; import techreborn.blockentity.storage.energy.idsu.IDSUManager; import techreborn.client.GuiType; +import techreborn.compat.trinkets.Trinkets; import techreborn.config.TechRebornConfig; import techreborn.events.ModRegistry; import techreborn.init.FluidGeneratorRecipes; @@ -55,6 +58,8 @@ import techreborn.packets.ServerboundPackets; import techreborn.utils.PoweredCraftingHandler; import techreborn.world.WorldGenerator; +import java.util.function.Predicate; + public class TechReborn implements ModInitializer { public static final String MOD_ID = "techreborn"; @@ -65,6 +70,8 @@ public class TechReborn implements ModInitializer { new Identifier("techreborn", "item_group"), () -> new ItemStack(TRContent.NUKE)); + public static Predicate elytraPredicate = playerEntity -> false; + @Override public void onInitialize() { INSTANCE = this; @@ -104,6 +111,10 @@ public class TechReborn implements ModInitializer { ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.Dusts.SAW.asItem(), 0.3F); ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.SmallDusts.SAW.asItem(), 0.1F); + if (FabricLoader.getInstance().isModLoaded("trinkets")) { + elytraPredicate = Trinkets.isElytraEquipped(); + } + LOGGER.info("TechReborn setup done!"); } diff --git a/src/main/java/techreborn/compat/trinkets/Trinkets.java b/src/main/java/techreborn/compat/trinkets/Trinkets.java new file mode 100644 index 000000000..728cb48c5 --- /dev/null +++ b/src/main/java/techreborn/compat/trinkets/Trinkets.java @@ -0,0 +1,23 @@ +package techreborn.compat.trinkets; + +import dev.emi.trinkets.api.TrinketComponent; +import dev.emi.trinkets.api.TrinketsApi; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Items; + +import java.util.function.Predicate; + +public class Trinkets { + + public static Predicate isElytraEquipped() { + return playerEntity -> { + TrinketComponent component = TrinketsApi.getTrinketComponent(playerEntity); + for (int i = 0; i < component.getInventory().getInvSize(); i++) { + if (component.getInventory().getInvStack(i).getItem() == Items.ELYTRA) { + return true; + } + } + return false; + }; + } +} diff --git a/src/main/java/techreborn/items/armor/QuantumSuitItem.java b/src/main/java/techreborn/items/armor/QuantumSuitItem.java index a38cc9ec2..e7558e5dc 100644 --- a/src/main/java/techreborn/items/armor/QuantumSuitItem.java +++ b/src/main/java/techreborn/items/armor/QuantumSuitItem.java @@ -91,7 +91,7 @@ public class QuantumSuitItem extends TRArmourItem implements ItemStackModifiers, } break; case CHEST: - if (Energy.of(stack).getEnergy() > flyCost) { + if (Energy.of(stack).getEnergy() > flyCost && !TechReborn.elytraPredicate.test(playerEntity)) { playerEntity.abilities.allowFlying = true; if (playerEntity.abilities.flying) { Energy.of(stack).use(flyCost); From e6533f0a970e675b3a00ed85b5b22b211a4335f5 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 11 Apr 2020 15:27:24 +0100 Subject: [PATCH 5/6] Fix #2084 --- .../java/techreborn/compat/rei/ReiPlugin.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/main/java/techreborn/compat/rei/ReiPlugin.java b/src/main/java/techreborn/compat/rei/ReiPlugin.java index 3cc20cacb..bb7c449e3 100644 --- a/src/main/java/techreborn/compat/rei/ReiPlugin.java +++ b/src/main/java/techreborn/compat/rei/ReiPlugin.java @@ -24,6 +24,9 @@ package techreborn.compat.rei; +import me.shedaniel.math.api.Rectangle; +import me.shedaniel.rei.api.BaseBoundsHandler; +import me.shedaniel.rei.api.DisplayHelper; import me.shedaniel.rei.api.EntryRegistry; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; @@ -31,9 +34,14 @@ import me.shedaniel.rei.api.RecipeHelper; import me.shedaniel.rei.api.plugins.REIPluginV0; import net.fabricmc.loader.api.SemanticVersion; import net.fabricmc.loader.util.version.VersionParsingException; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.item.ItemConvertible; import net.minecraft.recipe.Recipe; import net.minecraft.util.Identifier; +import reborncore.api.blockentity.IUpgradeable; +import reborncore.client.gui.builder.GuiBase; +import reborncore.client.gui.builder.slot.GuiTab; import reborncore.common.crafting.RebornRecipe; import reborncore.common.crafting.RebornRecipeType; import reborncore.common.crafting.RecipeManager; @@ -52,6 +60,7 @@ import techreborn.init.ModRecipes; import techreborn.init.TRContent; import techreborn.init.TRContent.Machine; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.function.Function; @@ -211,4 +220,32 @@ public class ReiPlugin implements REIPluginV0 { return false; }, recipeDisplay); } + + @Override + public void registerBounds(DisplayHelper displayHelper) { + BaseBoundsHandler baseBoundsHandler = BaseBoundsHandler.getInstance(); + baseBoundsHandler.registerExclusionZones(GuiBase.class, () -> { + Screen currentScreen = MinecraftClient.getInstance().currentScreen; + if (currentScreen instanceof GuiBase) { + GuiBase guiBase = (GuiBase) currentScreen; + int height = 0; + if (guiBase.tryAddUpgrades() && guiBase.be instanceof IUpgradeable) { + IUpgradeable upgradeable = (IUpgradeable) guiBase.be; + if (upgradeable.canBeUpgraded()) { + height = 80; + } + } + for (GuiTab slot : guiBase.getTabs()) { + if (slot.enabled()) { + height += 24; + } + } + if (height > 0) { + int width = 20; + return Collections.singletonList(new Rectangle(guiBase.getGuiLeft() - width, guiBase.getGuiTop() + 8, width , height)); + } + } + return Collections.emptyList(); + }); + } } From c034ed09421bceeada28c1a4192bbc8ed24c4d95 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 11 Apr 2020 15:38:16 +0100 Subject: [PATCH 6/6] #releaseBuild --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 17a508174..b1e3cbe89 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,7 @@ repositories { } } -version = "3.3.7" +version = "3.3.8" configurations { shade