Skip to content

Commit

Permalink
Merge pull request #392 from Nxer/temp
Browse files Browse the repository at this point in the history
sync from main
  • Loading branch information
Nxer committed Apr 13, 2024
2 parents 96e7d12 + 753c77f commit e42e171
Show file tree
Hide file tree
Showing 75 changed files with 23,433 additions and 354 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ plugins {
}

minecraft {
extraRunJvmArguments.add("-Xmx8G")
extraRunJvmArguments.add("-Xms8G")
extraRunJvmArguments.add("-Xmx4G")
extraRunJvmArguments.add("-Xms2G")
}
5 changes: 5 additions & 0 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ dependencies {
implementation('curse.maven:automagy-222153:2285272')
implementation('com.github.GTNewHorizons:ThaumicHorizons:1.5.1:dev')
implementation('com.github.GTNewHorizons:Gadomancy:1.3.2:dev')
// implementation('com.github.GTNewHorizons:Botania:1.10.12-GTNH:dev')
// implementation('com.github.GTNewHorizons:twilightforest:2.5.19:dev')
implementation('com.github.GTNewHorizons:supersolarpanels:1.1.3:dev')
implementation('curse.maven:advsolar-362768:2885953')
implementation('com.github.GTNewHorizons:Electro-Magic-Tools:1.4.6:dev')
implementation('com.github.GTNewHorizons:twilightforest:2.5.1:dev')
implementation('com.github.GTNewHorizons:Botania:1.10.3-GTNH:dev')
//These 2 deps have conflicts with Amun-Ra by default, see Twist-Space-Technology-Mod#150
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/Nxer/TwistSpaceTechnology/ClientProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
import net.minecraftforge.common.MinecraftForge;

import com.Nxer.TwistSpaceTechnology.client.render.ArtificialStarRender;
import com.Nxer.TwistSpaceTechnology.common.machine.TST_BigBroArray;
import com.Nxer.TwistSpaceTechnology.loader.RendereLoader;
import com.Nxer.TwistSpaceTechnology.system.ItemCooldown.CooldownEventHandler;

import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;

public class ClientProxy extends CommonProxy {

Expand All @@ -16,5 +19,13 @@ public void init(FMLInitializationEvent event) {
super.init(event);
new ArtificialStarRender();
MinecraftForge.EVENT_BUS.register(new CooldownEventHandler());// load cooldown HUD
TST_BigBroArray.initializeDefaultTextures();
}

@Override
public void postInit(FMLPostInitializationEvent event) {
super.postInit(event);
new RendereLoader();
}

}
120 changes: 119 additions & 1 deletion src/main/java/com/Nxer/TwistSpaceTechnology/CommonProxy.java
Original file line number Diff line number Diff line change
@@ -1,23 +1,45 @@
package com.Nxer.TwistSpaceTechnology;

import java.util.ArrayList;
import java.util.List;

import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fluids.FluidStack;

import com.Nxer.TwistSpaceTechnology.combat.DamageEventHandler;
import com.Nxer.TwistSpaceTechnology.combat.PlayerEventHandler;
import com.Nxer.TwistSpaceTechnology.command.CombatRework_Command;
import com.Nxer.TwistSpaceTechnology.command.TST_AdminCommand;
import com.Nxer.TwistSpaceTechnology.command.TST_Command;
import com.Nxer.TwistSpaceTechnology.common.machine.TST_BigBroArray;
import com.Nxer.TwistSpaceTechnology.config.Config;
import com.Nxer.TwistSpaceTechnology.event.StartServerEvent;
import com.Nxer.TwistSpaceTechnology.event.TickingEvent;
import com.Nxer.TwistSpaceTechnology.network.TST_Network;
import com.Nxer.TwistSpaceTechnology.system.DysonSphereProgram.logic.DSP_WorldSavedData;
import com.supsolpans.MainSSP;

import advsolar.common.AdvancedSolarPanel;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartedEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import emt.EMT;
import emt.block.BlockSolars;
import emt.tile.solar.Solars;
import goodgenerator.loader.Loaders;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Utility;
import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_Massfabricator;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;

public class CommonProxy {

Expand All @@ -44,7 +66,103 @@ public void init(FMLInitializationEvent event) {
}

// postInit "Handle interaction with other mods, complete your setup based on this." (Remove if not needed)
public void postInit(FMLPostInitializationEvent event) {}
public void postInit(FMLPostInitializationEvent event) {
TST_Network.tst.registerMessage(
TST_BigBroArray.PackRequestMachineType.class,
TST_BigBroArray.PackRequestMachineType.class,
0,
Side.SERVER);
TST_Network.tst.registerMessage(
TST_BigBroArray.PackSyncMachineType.class,
TST_BigBroArray.PackSyncMachineType.class,
1,
Side.CLIENT);
registerUUForArray();
getGeneratorsForArray();
TST_BigBroArray.initializeMaterials();
TST_BigBroArray.initializeStructure();
TST_BigBroArray.addRecipes();
}

private void registerUUForArray() {
// some workaround on UU
RecipeMaps.massFabFakeRecipes.addRecipe(
false,
new ItemStack[] { GT_Utility.getIntegratedCircuit(24) },
null,
null,
null,
new FluidStack[] { Materials.UUMatter.getFluid(1) },
GT_MetaTileEntity_Massfabricator.sDurationMultiplier,
GT_MetaTileEntity_Massfabricator.BASE_EUT,
0);
RecipeMaps.massFabFakeRecipes.addRecipe(
false,
new ItemStack[] { GT_Utility.getIntegratedCircuit(23) },
null,
null,
new FluidStack[] { Materials.UUAmplifier.getFluid(GT_MetaTileEntity_Massfabricator.sUUAperUUM) },
new FluidStack[] { Materials.UUMatter.getFluid(1L) },
GT_MetaTileEntity_Massfabricator.sDurationMultiplier / GT_MetaTileEntity_Massfabricator.sUUASpeedBonus,
GT_MetaTileEntity_Massfabricator.BASE_EUT,
0);
}

private void getGeneratorsForArray() {
TST_BigBroArray.GENERATORS.put(
"Diesel",
new ItemStack[] { ItemList.Generator_Diesel_LV.get(1), ItemList.Generator_Diesel_MV.get(1),
ItemList.Generator_Diesel_HV.get(1), Loaders.Generator_Diesel[0], Loaders.Generator_Diesel[1] });
TST_BigBroArray.GENERATORS.put(
"Steam_Turbine",
new ItemStack[] { ItemList.Generator_Steam_Turbine_LV.get(1), ItemList.Generator_Steam_Turbine_MV.get(1),
ItemList.Generator_Steam_Turbine_HV.get(1), });
TST_BigBroArray.GENERATORS.put(
"Gas_Turbine",
new ItemStack[] { ItemList.Generator_Gas_Turbine_LV.get(1), ItemList.Generator_Gas_Turbine_MV.get(1),
ItemList.Generator_Gas_Turbine_HV.get(1), ItemList.Generator_Gas_Turbine_EV.get(1),
ItemList.Generator_Gas_Turbine_IV.get(1), });

TST_BigBroArray.GENERATORS.put(
"SemiFluid",
new ItemStack[] { GregtechItemList.Generator_SemiFluid_LV.get(1),
GregtechItemList.Generator_SemiFluid_MV.get(1), GregtechItemList.Generator_SemiFluid_HV.get(1),
GregtechItemList.Generator_SemiFluid_EV.get(1), GregtechItemList.Generator_SemiFluid_IV.get(1) });

TST_BigBroArray.GENERATORS.put(
"Naquadah",
new ItemStack[] { ItemList.Generator_Naquadah_Mark_I.get(1), ItemList.Generator_Naquadah_Mark_II.get(1),
ItemList.Generator_Naquadah_Mark_III.get(1), ItemList.Generator_Naquadah_Mark_IV.get(1),
ItemList.Generator_Naquadah_Mark_V.get(1), });

TST_BigBroArray.GENERATORS.put(
"ASP_Solar",
new ItemStack[] { new ItemStack(ItemBlock.getItemFromBlock(AdvancedSolarPanel.blockAdvSolarPanel), 1), // LV
new ItemStack(ItemBlock.getItemFromBlock(AdvancedSolarPanel.blockAdvSolarPanel), 1, 1), // MV
new ItemStack(ItemBlock.getItemFromBlock(AdvancedSolarPanel.blockAdvSolarPanel), 1, 2), // HV
new ItemStack(ItemBlock.getItemFromBlock(AdvancedSolarPanel.blockAdvSolarPanel), 1, 3), // EV
new ItemStack(MainSSP.BlockSpectralSP, 1), // IV
new ItemStack(MainSSP.BlockSingularSP, 1), // LuV
new ItemStack(MainSSP.BlockAdminSP, 1), // ZPM
new ItemStack(MainSSP.BlockPhotonSP, 1) // UV
});

List<ItemStack> EMTSolars = new ArrayList<>();
for (int i = 0; i < Solars.getCountOfInstances(); i++) {
BlockSolars emtSolars;
if (i == 0) {
emtSolars = (BlockSolars) GameRegistry.findBlock(EMT.MOD_ID, "EMTSolars");

} else {
emtSolars = (BlockSolars) GameRegistry.findBlock(EMT.MOD_ID, "EMTSolars" + (i + 1));
}
for (int meta = 0; meta < emtSolars.countOfMetas; meta++) {
EMTSolars.add(new ItemStack(emtSolars, 1, meta));
}
}
TST_BigBroArray.GENERATORS.put("EMT_Solar", EMTSolars.toArray(new ItemStack[0]));

}

// register server commands in this event handler (Remove if not needed)
public void serverStarting(FMLServerStartingEvent event) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.apache.logging.log4j.Logger;

import com.Nxer.TwistSpaceTechnology.combat.items.ItemRegister;
import com.Nxer.TwistSpaceTechnology.common.Entity.EntityMountableBlock;
import com.Nxer.TwistSpaceTechnology.common.crop.CropLoader;
import com.Nxer.TwistSpaceTechnology.common.machine.singleBlock.hatch.GT_Hatch_RackComputationMonitor;
import com.Nxer.TwistSpaceTechnology.config.Config;
Expand All @@ -27,6 +28,7 @@
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartedEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import gregtech.api.util.GT_Recipe;

@Mod(
Expand Down Expand Up @@ -105,6 +107,8 @@ public void init(FMLInitializationEvent event) {
MachineLoader.loadMachines();// Load Machines
GT_Hatch_RackComputationMonitor.run();
NEIHandler.IMCSender();// NEI reg
EntityRegistry
.registerModEntity(EntityMountableBlock.class, "TST:EntityMountableBlock", 1, this, 256, 20, false);
// dimension provider
// *unfinished */ DimensionManager.registerProviderType(WorldStats.dimensionProviderID,
// WorldProviderAlfheim.class, false);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.Nxer.TwistSpaceTechnology.client.Audio;

import net.minecraft.client.audio.PositionedSoundRecord;
import net.minecraft.util.ResourceLocation;

public class Sound extends PositionedSoundRecord {

public Sound(ResourceLocation soundResource, float volume, float pitch, boolean repeat, float xPosition,
float yPosition, float zPosition) {
super(soundResource, volume, pitch, xPosition, yPosition, zPosition);
this.repeat = repeat;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package com.Nxer.TwistSpaceTechnology.client.render;

import static com.Nxer.TwistSpaceTechnology.common.block.BasicBlocks.BlockPowerChair;

import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.model.IModelCustom;

import org.lwjgl.opengl.GL11;

import com.Nxer.TwistSpaceTechnology.common.block.blockClass.ItemBlockPowerChair;

public class ItemRenderer implements IItemRenderer {

protected IModelCustom models;
protected ResourceLocation textures;

public ItemRenderer(final IModelCustom models, final ResourceLocation textures) {
this.models = models;
this.textures = textures;
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
if (item.getItem() != ItemBlockPowerChair.getItemFromBlock(BlockPowerChair)) {
return false;
}
return switch (type) {
case ENTITY, EQUIPPED, EQUIPPED_FIRST_PERSON, INVENTORY -> true;
default -> false;
};
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return true;
}

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
if (item.getItem() == ItemBlockPowerChair.getItemFromBlock(BlockPowerChair)) {
final ResourceLocation texture = this.textures;
final IModelCustom model = this.models;
switch (type) {
case ENTITY -> {
GL11.glScaled(0.05, 0.05, 0.05);
GL11.glTranslated(0.0, 1.0, 1.0);
}
case EQUIPPED -> {
GL11.glScaled(0.05, 0.05, 0.05);
GL11.glTranslated(1.0, 0.8, 1.5);
GL11.glRotated(90, 0, 1, 0);
}
case EQUIPPED_FIRST_PERSON -> {
GL11.glScaled(0.05, 0.05, 0.05);
GL11.glTranslated(-8.0, 8.0, 8.0);
GL11.glRotated(90, 0, 1, 0);
}
case INVENTORY -> {
GL11.glTranslated(-0.1, -0.8, 0);
GL11.glScaled(0.05, 0.05, 0.05);
GL11.glRotated(180, 0, 1, 0);
}
default -> {}
}
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
model.renderAll();
GL11.glPopMatrix();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package com.Nxer.TwistSpaceTechnology.client.render;

import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.IModelCustom;

import org.lwjgl.opengl.GL11;

import com.Nxer.TwistSpaceTechnology.common.tile.TilePowerChair;

import cpw.mods.fml.client.registry.ClientRegistry;

public class TileEntityRenderer extends TileEntitySpecialRenderer {

private final IModelCustom Renderer;
private final ResourceLocation textures;

public TileEntityRenderer(final IModelCustom Renderer, final ResourceLocation textures) {
this.Renderer = Renderer;
this.textures = textures;
ClientRegistry.bindTileEntitySpecialRenderer(TilePowerChair.class, this);
}

private void getTileEntityFacing(TilePowerChair tile, double x, double y, double z) {
switch (tile.getMeta()) {
case 1 -> {
GL11.glTranslated(x + 0.8, y, z + 0.5);
GL11.glRotated(-90, 0, 1, 0);
}
case 2 -> {
GL11.glTranslated(x + 0.5, y, z + 0.2);
GL11.glRotated(0, 0, 1, 0);
}
case 3 -> {
GL11.glTranslated(x + 0.5, y, z + 0.8);
GL11.glRotated(180, 0, 1, 0);
}
case 0 -> {
GL11.glTranslated(x + 0.2, y, z + 0.5);
GL11.glRotated(90, 0, 1, 0);
}
}

}

@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float timeSinceLastTick) {
if (!(tile instanceof TilePowerChair)) return;
GL11.glPushMatrix();
getTileEntityFacing((TilePowerChair) tile, x, y, z);
GL11.glDisable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
this.bindTexture(textures);
GL11.glScaled(0.07, 0.07, 0.07);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240f, 240f);
Renderer.renderAll();
GL11.glDisable(GL11.GL_BLEND);
GL11.glDepthMask(true);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glPopMatrix();
}
}
Loading

0 comments on commit e42e171

Please sign in to comment.