diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java index f7805dd2..96a2093e 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java @@ -24,8 +24,12 @@ import net.minecraft.core.Direction; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.material.MapColor; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.fml.loading.FMLEnvironment; import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import javax.annotation.Nullable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -42,16 +46,21 @@ public class TFMGPipes { public static final Map PIPES = new HashMap<>(); + static { - PIPES.put(PipeMaterial.BRASS, createEntry(PipeMaterial.BRASS, TFMGPipeAttachmentModel::withAOBrass, TFMGSpriteShifts.BRASS_FLUID_CASING)); - PIPES.put(PipeMaterial.STEEL, createEntry(PipeMaterial.STEEL, TFMGPipeAttachmentModel::withAOSteel, TFMGSpriteShifts.STEEL_FLUID_CASING)); - PIPES.put(PipeMaterial.ALUMINUM, createEntry(PipeMaterial.ALUMINUM, TFMGPipeAttachmentModel::withAOAluminum, TFMGSpriteShifts.ALUMINUM_FLUID_CASING)); - PIPES.put(PipeMaterial.CAST_IRON, createEntry(PipeMaterial.CAST_IRON, TFMGPipeAttachmentModel::withAOCastIron, TFMGSpriteShifts.CAST_IRON_FLUID_CASING)); - PIPES.put(PipeMaterial.PLASTIC, createEntry(PipeMaterial.PLASTIC, TFMGPipeAttachmentModel::withAOPlastic, TFMGSpriteShifts.PLASTIC_FLUID_CASING)); + PIPES.put(PipeMaterial.BRASS, createEntry(PipeMaterial.BRASS, (FMLEnvironment.dist.isDedicatedServer()) ? null : TFMGPipeAttachmentModel::withAOBrass, TFMGSpriteShifts.BRASS_FLUID_CASING)); + PIPES.put(PipeMaterial.STEEL, createEntry(PipeMaterial.STEEL, (FMLEnvironment.dist.isDedicatedServer()) ? null : TFMGPipeAttachmentModel::withAOSteel, TFMGSpriteShifts.STEEL_FLUID_CASING)); + PIPES.put(PipeMaterial.ALUMINUM, createEntry(PipeMaterial.ALUMINUM, (FMLEnvironment.dist.isDedicatedServer()) ? null : TFMGPipeAttachmentModel::withAOAluminum, TFMGSpriteShifts.ALUMINUM_FLUID_CASING)); + PIPES.put(PipeMaterial.CAST_IRON, createEntry(PipeMaterial.CAST_IRON, (FMLEnvironment.dist.isDedicatedServer()) ? null : TFMGPipeAttachmentModel::withAOCastIron, TFMGSpriteShifts.CAST_IRON_FLUID_CASING)); + PIPES.put(PipeMaterial.PLASTIC, createEntry(PipeMaterial.PLASTIC, (FMLEnvironment.dist.isDedicatedServer()) ? null : TFMGPipeAttachmentModel::withAOPlastic, TFMGSpriteShifts.PLASTIC_FLUID_CASING)); } - private static TFMGPipeEntry createEntry(PipeMaterial material, NonNullFunction attachmentModel, CTSpriteShiftEntry spriteShiftEntry) { - return new TFMGPipeEntry(material, registrate).attachmentModel(attachmentModel).encasedSpriteShift(spriteShiftEntry); + + private static TFMGPipeEntry createEntry(PipeMaterial material, @Nullable NonNullFunction attachmentModel, CTSpriteShiftEntry spriteShiftEntry) { + if (FMLEnvironment.dist.isClient()) + return new TFMGPipeEntry(material, registrate).attachmentModel(attachmentModel).encasedSpriteShift(spriteShiftEntry); + else + return new TFMGPipeEntry(material, registrate).encasedSpriteShift(spriteShiftEntry); } public static void init() { diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java index aadc7c1a..c434c75b 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java @@ -72,11 +72,11 @@ public class SegmentedDisplayBlockEntity extends ElectricBlockEntity { customText = Optional.empty(); } public List getSegments(){ - List segments = SegmentedDisplayRenderer.SYMBOLS_TO_SEGMENTS.get(getDisplayedStrings().get(true).toLowerCase()); + List segments = SegmentedDisplaySegments.SYMBOLS_TO_SEGMENTS.get(getDisplayedStrings().get(true).toLowerCase()); - List segments2 = SegmentedDisplayRenderer.SYMBOLS_TO_SEGMENTS.get(getDisplayedStrings().get(false).toLowerCase()); + List segments2 = SegmentedDisplaySegments.SYMBOLS_TO_SEGMENTS.get(getDisplayedStrings().get(false).toLowerCase()); if(segments2 == null) segments2 = new ArrayList<>(); diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java index fb331a57..47c3fce9 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayRenderer.java @@ -60,74 +60,7 @@ public class SegmentedDisplayRenderer extends SafeBlockEntityRenderer> SYMBOLS_TO_SEGMENTS= new HashMap<>(); - static { - // - put(0,1,2,3,5,6,7); - put(1,1,2); - put(2,3,6,4,2,5); - put(3,3,4,5,6,7); - put(4,1,4,6,7); - put(5,1,3,4,5,7); - put(6,1,2,3,4,5,7); - put(7,7,6,3); - put(8,1,2,3,4,5,6,7); - put(9,1,3,4,6,7); - - put(":",0); - - put("a",1,2,3,4,6,7); - put("b",1,2,4,5,7); - put("c",1,2,3,5); - put("d",2,4,5,6,7); - put("e",1,2,3,4,5); - put("f",1,2,3,4); - put("g",1,2,3,5,7); - put("h",1,2,4,6,7); - put("i",1,2); - put("j",6,7,5,2); - put("k",1,2,9,10); - put("l",1,2,5); - put("m",1,2,6,7,8); - put("n",2,7,10); - put("o",1,2,6,7,3,5); - put("p",1,2,3,4,6); - put("q",1,3,4,6,7); - put("r",1,2,3,4,6,10); - put("s",1,3,4,5,7); - put("t",1,2,4,5); - put("u",2,5,7); - put("v",1,2,5,6,7); - put("w",1,2,4,5,6,7); - put("x",1,2,4,6,7); - put("y",1,4,6,7,5); - put("z",3,9,4); - - - } - public static void put(int number, Integer... segments){ - put(String.valueOf(number),segments); - } - private static void put(String string, Integer... segments){ - - SYMBOLS_TO_SEGMENTS.put(string, Arrays.asList(segments)); - - List segments2 = new ArrayList<>(); - - for (Integer segment : segments){ - - if(segment == 0) - break; - - segments2.add(10+segment); - } - - - SYMBOLS_TO_SEGMENTS.put(string, segments2); - - } - } diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplaySegments.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplaySegments.java new file mode 100644 index 00000000..15df3569 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplaySegments.java @@ -0,0 +1,74 @@ +package com.drmangotea.tfmg.content.electricity.utilities.segmented_display; + +import java.util.*; + +public class SegmentedDisplaySegments { + public static Map> SYMBOLS_TO_SEGMENTS= new HashMap<>(); + static { + + + // + put(0,1,2,3,5,6,7); + put(1,1,2); + put(2,3,6,4,2,5); + put(3,3,4,5,6,7); + put(4,1,4,6,7); + put(5,1,3,4,5,7); + put(6,1,2,3,4,5,7); + put(7,7,6,3); + put(8,1,2,3,4,5,6,7); + put(9,1,3,4,6,7); + + put(":",0); + + put("a",1,2,3,4,6,7); + put("b",1,2,4,5,7); + put("c",1,2,3,5); + put("d",2,4,5,6,7); + put("e",1,2,3,4,5); + put("f",1,2,3,4); + put("g",1,2,3,5,7); + put("h",1,2,4,6,7); + put("i",1,2); + put("j",6,7,5,2); + put("k",1,2,9,10); + put("l",1,2,5); + put("m",1,2,6,7,8); + put("n",2,7,10); + put("o",1,2,6,7,3,5); + put("p",1,2,3,4,6); + put("q",1,3,4,6,7); + put("r",1,2,3,4,6,10); + put("s",1,3,4,5,7); + put("t",1,2,4,5); + put("u",2,5,7); + put("v",1,2,5,6,7); + put("w",1,2,4,5,6,7); + put("x",1,2,4,6,7); + put("y",1,4,6,7,5); + put("z",3,9,4); + + + } + public static void put(int number, Integer... segments){ + put(String.valueOf(number),segments); + } + private static void put(String string, Integer... segments){ + + SYMBOLS_TO_SEGMENTS.put(string, Arrays.asList(segments)); + + List segments2 = new ArrayList<>(); + + for (Integer segment : segments){ + + if(segment == 0) + break; + + segments2.add(10+segment); + } + + + SYMBOLS_TO_SEGMENTS.put(string, segments2); + + } +}