diff --git a/src/main/java/gregtech/common/ConfigHolder.java b/src/main/java/gregtech/common/ConfigHolder.java index 3bbb9b14429..faf33d6c53d 100644 --- a/src/main/java/gregtech/common/ConfigHolder.java +++ b/src/main/java/gregtech/common/ConfigHolder.java @@ -251,6 +251,10 @@ public static class GT5U { @Config.Comment("Whether to enable maintenance or not. Default: false") @Config.RequiresMcRestart public boolean enableMaintenance = true; + + @Config.Comment("Enable High-Tier solar panels (IV-UV). They will not have recipes. Default: false") + @Config.RequiresMcRestart + public boolean enableHighTierSolars = false; } public static class GT6 { diff --git a/src/main/java/gregtech/common/covers/CoverBehaviors.java b/src/main/java/gregtech/common/covers/CoverBehaviors.java index 23aa96ddc38..19ed677ef81 100644 --- a/src/main/java/gregtech/common/covers/CoverBehaviors.java +++ b/src/main/java/gregtech/common/covers/CoverBehaviors.java @@ -52,12 +52,19 @@ public static void init() { registerBehavior(33, new ResourceLocation(GTValues.MODID, "shutter"), MetaItems.COVER_SHUTTER, CoverShutter::new); registerBehavior(34, new ResourceLocation(GTValues.MODID, "solar_panel.basic"), MetaItems.COVER_SOLAR_PANEL, (tile, side) -> new CoverSolarPanel(tile, side, 1)); - registerBehavior(35, new ResourceLocation(GTValues.MODID, "solar_panel.ulv"), MetaItems.COVER_SOLAR_PANEL_ULV, (tile, side) -> new CoverSolarPanel(tile, side, 8)); - registerBehavior(36, new ResourceLocation(GTValues.MODID, "solar_panel.lv"), MetaItems.COVER_SOLAR_PANEL_LV, (tile, side) -> new CoverSolarPanel(tile, side, 32)); + registerBehavior(35, new ResourceLocation(GTValues.MODID, "solar_panel.ulv"), MetaItems.COVER_SOLAR_PANEL_ULV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[0])); + registerBehavior(36, new ResourceLocation(GTValues.MODID, "solar_panel.lv"), MetaItems.COVER_SOLAR_PANEL_LV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[1])); + registerBehavior(37, new ResourceLocation(GTValues.MODID, "solar_panel.mv"), MetaItems.COVER_SOLAR_PANEL_MV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[2])); + registerBehavior(38, new ResourceLocation(GTValues.MODID, "solar_panel.hv"), MetaItems.COVER_SOLAR_PANEL_HV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[3])); + registerBehavior(39, new ResourceLocation(GTValues.MODID, "solar_panel.ev"), MetaItems.COVER_SOLAR_PANEL_EV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[4])); + registerBehavior(40, new ResourceLocation(GTValues.MODID, "solar_panel.iv"), MetaItems.COVER_SOLAR_PANEL_IV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[5])); + registerBehavior(41, new ResourceLocation(GTValues.MODID, "solar_panel.luv"), MetaItems.COVER_SOLAR_PANEL_LUV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[6])); + registerBehavior(42, new ResourceLocation(GTValues.MODID, "solar_panel.zpm"), MetaItems.COVER_SOLAR_PANEL_ZPM, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[7])); + registerBehavior(43, new ResourceLocation(GTValues.MODID, "solar_panel.uv"), MetaItems.COVER_SOLAR_PANEL_UV, (tile, side) -> new CoverSolarPanel(tile, side, GTValues.V[8])); - registerBehavior(37, new ResourceLocation(GTValues.MODID, "machine_controller"), MetaItems.COVER_MACHINE_CONTROLLER, CoverMachineController::new); - registerBehavior(38, new ResourceLocation(GTValues.MODID, "smart_filter"), MetaItems.SMART_FILTER, (tile, side) -> new CoverItemFilter(tile, side, "cover.smart_item_filter.title", Textures.SMART_FILTER_FILTER_OVERLAY, new SmartItemFilter())); - registerBehavior(39, new ResourceLocation(GTValues.MODID, "facade"), MetaItems.COVER_FACADE, CoverFacade::new); + registerBehavior(45, new ResourceLocation(GTValues.MODID, "machine_controller"), MetaItems.COVER_MACHINE_CONTROLLER, CoverMachineController::new); + registerBehavior(46, new ResourceLocation(GTValues.MODID, "smart_filter"), MetaItems.SMART_FILTER, (tile, side) -> new CoverItemFilter(tile, side, "cover.smart_item_filter.title", Textures.SMART_FILTER_FILTER_OVERLAY, new SmartItemFilter())); + registerBehavior(47, new ResourceLocation(GTValues.MODID, "facade"), MetaItems.COVER_FACADE, CoverFacade::new); registerBehavior(49, new ResourceLocation(GTValues.MODID, "screen"), MetaItems.COVER_SCREEN, CoverScreen::new); registerBehavior(50, new ResourceLocation(GTValues.MODID, "energy_detector"), MetaItems.COVER_ENERGY_DETECTOR, CoverDetectorEnergy::new); @@ -72,8 +79,11 @@ public static void init() { String tierShortName = GTValues.VN[coverTier].toLowerCase(Locale.ROOT); registerBehavior(20 + i, new ResourceLocation(GTValues.MODID, "pump." + tierShortName), MetaItems.PUMPS[i], (tile, side) -> new CoverPump(tile, side, coverTier, throughput)); - registerBehavior(40 + i, new ResourceLocation(GTValues.MODID, "fluid.regulator." + tierShortName), MetaItems.FLUID_REGULATORS[i], (tile, side) -> new CoverFluidRegulator(tile, side, coverTier, throughput)); + registerBehavior(60 + i, new ResourceLocation(GTValues.MODID, "fluid.regulator." + tierShortName), MetaItems.FLUID_REGULATORS[i], (tile, side) -> new CoverFluidRegulator(tile, side, coverTier, throughput)); } + + + } public static void registerBehavior(int coverNetworkId, ResourceLocation coverId, MetaValueItem placerItem, BiFunction behaviorCreator) { diff --git a/src/main/java/gregtech/common/covers/CoverSolarPanel.java b/src/main/java/gregtech/common/covers/CoverSolarPanel.java index 24fa942c689..129a7f3ce38 100644 --- a/src/main/java/gregtech/common/covers/CoverSolarPanel.java +++ b/src/main/java/gregtech/common/covers/CoverSolarPanel.java @@ -23,9 +23,9 @@ public class CoverSolarPanel extends CoverBehavior implements ITickable { - private final int EUt; + private final long EUt; - public CoverSolarPanel(ICoverable coverHolder, EnumFacing attachedSide, int EUt) { + public CoverSolarPanel(ICoverable coverHolder, EnumFacing attachedSide, long EUt) { super(coverHolder, attachedSide); this.EUt = EUt; } diff --git a/src/main/java/gregtech/common/items/MetaItem1.java b/src/main/java/gregtech/common/items/MetaItem1.java index 8dd0968a2d7..4c362660d02 100644 --- a/src/main/java/gregtech/common/items/MetaItem1.java +++ b/src/main/java/gregtech/common/items/MetaItem1.java @@ -16,6 +16,7 @@ import gregtech.api.unification.stack.ItemMaterialInfo; import gregtech.api.unification.stack.MaterialStack; import gregtech.api.util.RandomPotionEffect; +import gregtech.common.ConfigHolder; import gregtech.common.items.behaviors.*; import net.minecraft.init.Items; import net.minecraft.init.MobEffects; @@ -312,6 +313,21 @@ public void registerSubItems() { COVER_SOLAR_PANEL = addItem(331, "cover.solar.panel"); COVER_SOLAR_PANEL_ULV = addItem(332, "cover.solar.panel.ulv"); COVER_SOLAR_PANEL_LV = addItem(333, "cover.solar.panel.lv"); + COVER_SOLAR_PANEL_MV = addItem(334, "cover.solar.panel.mv"); + COVER_SOLAR_PANEL_HV = addItem(335, "cover.solar.panel.hv"); + COVER_SOLAR_PANEL_EV = addItem(336, "cover.solar.panel.ev"); + COVER_SOLAR_PANEL_IV = addItem(337, "cover.solar.panel.iv"); + COVER_SOLAR_PANEL_LUV = addItem(338, "cover.solar.panel.luv"); + COVER_SOLAR_PANEL_ZPM = addItem(339, "cover.solar.panel.zpm"); + COVER_SOLAR_PANEL_UV = addItem(340, "cover.solar.panel.uv"); + // MAX-tier solar panel? + + if (!ConfigHolder.U.GT5u.enableHighTierSolars) { + COVER_SOLAR_PANEL_IV.setInvisible(); + COVER_SOLAR_PANEL_LUV.setInvisible(); + COVER_SOLAR_PANEL_ZPM.setInvisible(); + COVER_SOLAR_PANEL_UV.setInvisible(); + } // Early Game Brick Related: ID 347-360 IItemContainerItemProvider selfContainerItemProvider = itemStack -> itemStack; diff --git a/src/main/java/gregtech/common/items/MetaItems.java b/src/main/java/gregtech/common/items/MetaItems.java index 8cc815b92f7..674612a9d37 100644 --- a/src/main/java/gregtech/common/items/MetaItems.java +++ b/src/main/java/gregtech/common/items/MetaItems.java @@ -408,6 +408,13 @@ private MetaItems() { public static MetaItem.MetaValueItem COVER_SOLAR_PANEL; public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_ULV; public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_LV; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_MV; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_HV; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_EV; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_IV; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_LUV; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_ZPM; + public static MetaItem.MetaValueItem COVER_SOLAR_PANEL_UV; public static MetaItem.MetaValueItem INTEGRATED_CIRCUIT; diff --git a/src/main/resources/assets/gregtech/lang/en_us.lang b/src/main/resources/assets/gregtech/lang/en_us.lang index 181a744983e..cca18473db4 100644 --- a/src/main/resources/assets/gregtech/lang/en_us.lang +++ b/src/main/resources/assets/gregtech/lang/en_us.lang @@ -740,6 +740,20 @@ metaitem.cover.solar.panel.ulv.name=Solar Panel (8V) metaitem.cover.solar.panel.ulv.tooltip=8 Volt Solar Panel metaitem.cover.solar.panel.lv.name=Solar Panel (LV) metaitem.cover.solar.panel.lv.tooltip=Low Voltage Solar Panel +metaitem.cover.solar.panel.mv.name=Solar Panel (MV) +metaitem.cover.solar.panel.mv.tooltip=Medium Voltage Solar Panel +metaitem.cover.solar.panel.hv.name=Solar Panel (HV) +metaitem.cover.solar.panel.hv.tooltip=High Voltage Solar Panel +metaitem.cover.solar.panel.ev.name=Solar Panel (EV) +metaitem.cover.solar.panel.ev.tooltip=Extreme Voltage Solar Panel +metaitem.cover.solar.panel.iv.name=Solar Panel (IV) +metaitem.cover.solar.panel.iv.tooltip=Insane Voltage Solar Panel +metaitem.cover.solar.panel.luv.name=Solar Panel (LuV) +metaitem.cover.solar.panel.luv.tooltip=Ludicrous Voltage Solar Panel +metaitem.cover.solar.panel.zpm.name=Solar Panel (ZPM) +metaitem.cover.solar.panel.zpm.tooltip=Zero Point Module Solar Panel +metaitem.cover.solar.panel.uv.name=Solar Panel (UV) +metaitem.cover.solar.panel.uv.tooltip=Ultimate Voltage Solar Panel metaitem.cover.infinite_water.name=Infinite Water Cover metaitem.cover.infinite_water.tooltip=Creates 16 Buckets of Water every second (as Cover) diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.ev.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.ev.png new file mode 100644 index 00000000000..2f40322a850 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.ev.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.hv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.hv.png new file mode 100644 index 00000000000..962b36d38d9 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.hv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.iv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.iv.png new file mode 100644 index 00000000000..86a7c1e9a9e Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.iv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.luv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.luv.png new file mode 100644 index 00000000000..5d225eb9e7f Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.luv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.mv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.mv.png new file mode 100644 index 00000000000..09b43bdbb24 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.mv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.uv.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.uv.png new file mode 100644 index 00000000000..d666fd55626 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.uv.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.zpm.png b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.zpm.png new file mode 100644 index 00000000000..726fccb4ec2 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/metaitems/cover.solar.panel.zpm.png differ