From b4a9485c30ffb27657555defb2f9f29da44e4cf2 Mon Sep 17 00:00:00 2001 From: Insane96 Date: Sun, 31 Jul 2022 10:30:24 +0200 Subject: [PATCH] Fixed server not launching --- .../shieldsplus/item/SPShieldItem.java | 16 ++++++ .../shieldsplus/item/SPShieldMaterial.java | 16 +++--- .../item/crafting/CopyDamageRecipe.java | 50 ------------------- ...ShieldBlockEntityWithoutLevelRenderer.java | 2 +- .../insane96mcp/shieldsplus/setup/Client.java | 5 +- .../shieldsplus/setup/SPItems.java | 2 +- .../shieldsplus/setup/SPShieldMaterials.java | 2 +- 7 files changed, 29 insertions(+), 64 deletions(-) delete mode 100644 src/main/java/com/insane96mcp/shieldsplus/item/crafting/CopyDamageRecipe.java diff --git a/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldItem.java b/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldItem.java index 55b6f30..8d91a39 100644 --- a/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldItem.java +++ b/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldItem.java @@ -1,16 +1,21 @@ package com.insane96mcp.shieldsplus.item; +import com.insane96mcp.shieldsplus.ShieldsPlus; import com.insane96mcp.shieldsplus.render.ShieldBlockEntityWithoutLevelRenderer; import com.insane96mcp.shieldsplus.setup.Strings; import net.minecraft.ChatFormatting; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; +import net.minecraft.client.resources.model.Material; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ShieldItem; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.IItemRenderProperties; import org.jetbrains.annotations.Nullable; @@ -23,6 +28,11 @@ public class SPShieldItem extends ShieldItem { public static final ResourceLocation BLOCKING = new ResourceLocation("minecraft:blocking"); public final SPShieldMaterial material; + @OnlyIn(Dist.CLIENT) + public Material clientMaterial; + @OnlyIn(Dist.CLIENT) + public Material clientMaterialNoPattern; + public SPShieldItem(SPShieldMaterial material, Properties p_43089_) { super(p_43089_); this.material = material; @@ -52,4 +62,10 @@ public void appendHoverText(ItemStack itemStack, @Nullable Level level, List components, double blockedDamage) { components.add(new TranslatableComponent(Strings.Translatable.DAMAGE_BLOCKED, new DecimalFormat("#.#").format(blockedDamage)).withStyle(ChatFormatting.BLUE)); } + + @OnlyIn(Dist.CLIENT) + public void initClientMaterial() { + this.clientMaterial = new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ShieldsPlus.MOD_ID, "entity/%s_shield".formatted(this.material.materialName))); + this.clientMaterialNoPattern = new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ShieldsPlus.MOD_ID, "entity/%s_shield_nopattern".formatted(this.material.materialName))); + } } diff --git a/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldMaterial.java b/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldMaterial.java index 6276b87..13d2b20 100644 --- a/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldMaterial.java +++ b/src/main/java/com/insane96mcp/shieldsplus/item/SPShieldMaterial.java @@ -1,21 +1,19 @@ package com.insane96mcp.shieldsplus.item; -import com.insane96mcp.shieldsplus.ShieldsPlus; -import net.minecraft.client.resources.model.Material; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.item.Rarity; public class SPShieldMaterial { - public Material material; - public Material noPatternMaterial; + //public Material material; + //public Material noPatternMaterial; + public String materialName; public double damageBlocked; public int durability; public Rarity rarity; - public SPShieldMaterial(String material, double damageBlocked, int durability, Rarity rarity) { - this.material = new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ShieldsPlus.MOD_ID, "entity/%s_shield".formatted(material))); - this.noPatternMaterial = new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ShieldsPlus.MOD_ID, "entity/%s_shield_nopattern".formatted(material))); + public SPShieldMaterial(String materialName, double damageBlocked, int durability, Rarity rarity) { + //this.material = new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ShieldsPlus.MOD_ID, "entity/%s_shield".formatted(material))); + //this.noPatternMaterial = new Material(InventoryMenu.BLOCK_ATLAS, new ResourceLocation(ShieldsPlus.MOD_ID, "entity/%s_shield_nopattern".formatted(material))); + this.materialName = materialName; this.damageBlocked = damageBlocked; this.durability = durability; this.rarity = rarity; diff --git a/src/main/java/com/insane96mcp/shieldsplus/item/crafting/CopyDamageRecipe.java b/src/main/java/com/insane96mcp/shieldsplus/item/crafting/CopyDamageRecipe.java deleted file mode 100644 index a2c659a..0000000 --- a/src/main/java/com/insane96mcp/shieldsplus/item/crafting/CopyDamageRecipe.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.insane96mcp.shieldsplus.item.crafting; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.CraftingContainer; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.crafting.CustomRecipe; -import net.minecraft.world.item.crafting.RecipeSerializer; -import net.minecraft.world.level.Level; - -public class CopyDamageRecipe extends CustomRecipe { - public CopyDamageRecipe(ResourceLocation id) { - super(id); - } - - @Override - public boolean matches(CraftingContainer craftingContainer, Level level) { - /*List list = Lists.newArrayList(); - - for(int i = 0; i < p_44138_.getContainerSize(); ++i) { - ItemStack itemstack = p_44138_.getItem(i); - if (!itemstack.isEmpty()) { - list.add(itemstack); - if (list.size() > 1) { - ItemStack itemstack1 = list.get(0); - if (itemstack.getItem() != itemstack1.getItem() || itemstack1.getCount() != 1 || itemstack.getCount() != 1 || !itemstack1.isRepairable()) { - return false; - } - } - } - } - - return list.size() == 2;*/ - return false; - } - - @Override - public ItemStack assemble(CraftingContainer p_44001_) { - return null; - } - - @Override - public boolean canCraftInDimensions(int p_43999_, int p_44000_) { - return false; - } - - @Override - public RecipeSerializer getSerializer() { - return null; - } -} diff --git a/src/main/java/com/insane96mcp/shieldsplus/render/ShieldBlockEntityWithoutLevelRenderer.java b/src/main/java/com/insane96mcp/shieldsplus/render/ShieldBlockEntityWithoutLevelRenderer.java index f9f61fa..f7038b9 100644 --- a/src/main/java/com/insane96mcp/shieldsplus/render/ShieldBlockEntityWithoutLevelRenderer.java +++ b/src/main/java/com/insane96mcp/shieldsplus/render/ShieldBlockEntityWithoutLevelRenderer.java @@ -50,7 +50,7 @@ public void renderByItem(ItemStack itemStack, ItemTransforms.TransformType trans poseStack.scale(1.0F, -1.0F, -1.0F); Material material = hasBanner ? ModelBakery.SHIELD_BASE : ModelBakery.NO_PATTERN_SHIELD; if (itemStack.getItem() instanceof SPShieldItem spShieldItem) { - material = hasBanner ? spShieldItem.material.material : spShieldItem.material.noPatternMaterial; + material = hasBanner ? spShieldItem.clientMaterial : spShieldItem.clientMaterialNoPattern; } VertexConsumer vertexconsumer = material.sprite().wrap(ItemRenderer.getFoilBufferDirect(multiBufferSource, this.shieldModel.renderType(material.atlasLocation()), true, itemStack.hasFoil())); this.shieldModel.handle().render(poseStack, vertexconsumer, p_108834_, p_108835_, 1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/com/insane96mcp/shieldsplus/setup/Client.java b/src/main/java/com/insane96mcp/shieldsplus/setup/Client.java index b116f9c..227a350 100644 --- a/src/main/java/com/insane96mcp/shieldsplus/setup/Client.java +++ b/src/main/java/com/insane96mcp/shieldsplus/setup/Client.java @@ -21,8 +21,9 @@ public static void setup(final FMLClientSetupEvent event) { @SubscribeEvent public static void onStitch(TextureStitchEvent.Pre event) { for (RegistryObject shieldItem : SPItems.SHIELDS) { - event.addSprite(shieldItem.get().material.material.texture()); - event.addSprite(shieldItem.get().material.noPatternMaterial.texture()); + shieldItem.get().initClientMaterial(); + event.addSprite(shieldItem.get().clientMaterial.texture()); + event.addSprite(shieldItem.get().clientMaterialNoPattern.texture()); } } diff --git a/src/main/java/com/insane96mcp/shieldsplus/setup/SPItems.java b/src/main/java/com/insane96mcp/shieldsplus/setup/SPItems.java index 88ec6e3..f86f848 100644 --- a/src/main/java/com/insane96mcp/shieldsplus/setup/SPItems.java +++ b/src/main/java/com/insane96mcp/shieldsplus/setup/SPItems.java @@ -25,7 +25,7 @@ public class SPItems { public static RegistryObject registerShield(String id, SPShieldMaterial material) { RegistryObject shield = ITEMS.register(id, () -> new SPShieldItem(material, new Item.Properties().durability(material.durability).tab(CreativeModeTab.TAB_COMBAT).rarity(material.rarity))); - SHIELDS.add(shield); // Will surely not work + SHIELDS.add(shield); return shield; } } \ No newline at end of file diff --git a/src/main/java/com/insane96mcp/shieldsplus/setup/SPShieldMaterials.java b/src/main/java/com/insane96mcp/shieldsplus/setup/SPShieldMaterials.java index e0207f3..6a1db4a 100644 --- a/src/main/java/com/insane96mcp/shieldsplus/setup/SPShieldMaterials.java +++ b/src/main/java/com/insane96mcp/shieldsplus/setup/SPShieldMaterials.java @@ -9,5 +9,5 @@ public class SPShieldMaterials { public static final SPShieldMaterial GOLDEN = new SPShieldMaterial("golden", 1, 42, Rarity.COMMON); public static final SPShieldMaterial IRON = new SPShieldMaterial("iron", 5, 332, Rarity.COMMON); public static final SPShieldMaterial DIAMOND = new SPShieldMaterial("diamond", 7, 588, Rarity.COMMON); - public static final SPShieldMaterial NETHERITE = new SPShieldMaterial("netherite", 8, 672, Rarity.RARE); + public static final SPShieldMaterial NETHERITE = new SPShieldMaterial("netherite", 8, 672, Rarity.COMMON); }