Merge pull request #1568 from BallOfEnergy1/OC_bugfix

sowwy bob
This commit is contained in:
HbmMods 2024-07-02 14:31:58 +02:00 committed by GitHub
commit f3e354174a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 170 additions and 7 deletions

View File

@ -143,6 +143,7 @@ public class BlockCableGauge extends BlockContainer implements IBlockMultiPass,
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_power_gauge";
}

View File

@ -153,6 +153,7 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL
this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0);
}
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_fluid_gauge";
}

View File

@ -36,6 +36,7 @@ public class GeneralConfig {
public static boolean enableSteamParticles = true;
public static boolean enableSoundExtension = true;
public static boolean enableMekanismChanges = true;
public static int normalSoundChannels = 200;
public static int hintPos = 0;
public static boolean enableExpensiveMode = false;
@ -105,6 +106,9 @@ public class GeneralConfig {
enableSteamParticles = config.get(CATEGORY_GENERAL, "1.38_enableSteamParticles", true, "If disabled, auxiliary cooling towers and large cooling towers will not emit steam particles when in use.").getBoolean(true);
enableSoundExtension = config.get(CATEGORY_GENERAL, "1.39_enableSoundExtension", true, "If enabled, will change the limit for how many sounds can play at once.").getBoolean(true);
enableMekanismChanges = config.get(CATEGORY_GENERAL, "1.40_enableMekanismChanges", true, "If enabled, will change some of Mekanism's recipes.").getBoolean(true);
normalSoundChannels = CommonConfig.createConfigInt(config, CATEGORY_GENERAL, "1.41_normalSoundChannels",
"The amount of channels to create while 1.39_enableSoundExtension is enabled.\n" +
"Note that a value below 28 or above 200 can cause buggy sounds and issues with other mods running out of sound memory.", 100);
enableExpensiveMode = config.get(CATEGORY_GENERAL, "1.99_enableExpensiveMode", false, "It does what the name implies.").getBoolean(false);

View File

@ -67,6 +67,7 @@ public class CompatHandler {
* @return String
*/
@Override
@Optional.Method(modid = "OpenComputers")
default String getComponentName() {
return "ntm_null";
}
@ -77,6 +78,7 @@ public class CompatHandler {
* @return If the side should be able to connect.
*/
@Override
@Optional.Method(modid = "OpenComputers")
default boolean canConnectNode(ForgeDirection side) {
return true;
}
@ -85,9 +87,11 @@ public class CompatHandler {
* Function to give more information when analyzing the block. Multiple entries in the array will be sent to the user in the order of the array.
* @return Additional text to add in the form of lang entries (ex: "analyze.basic2").
*/
@Optional.Method(modid = "OpenComputers")
default String[] getExtraInfo() {return new String[] {"analyze.noInfo"};}
@Override
@Optional.Method(modid = "OpenComputers")
default Node[] onAnalyze(EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
player.addChatComponentMessage(new ChatComponentTranslation("analyze.basic1").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GOLD)));
player.addChatComponentMessage(new ChatComponentTranslation("analyze.basic2").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
@ -99,7 +103,7 @@ public class CompatHandler {
player.addChatComponentMessage(new ChatComponentTranslation(info).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)));
}
TileEntity te = (TileEntity) this;
if(Array.getLength(this.methods()) == 0 && te instanceof TileEntityProxyCombo || this.getComponentName().equals("ntm_null"))
if((Array.getLength(this.methods()) == 0 && te instanceof TileEntityProxyCombo) || this.getComponentName().equals("ntm_null"))
player.addChatComponentMessage(new ChatComponentTranslation("analyze.error").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED)));
return null;
}
@ -109,6 +113,7 @@ public class CompatHandler {
* @return Array of methods to expose to the computer.
*/
@Override
@Optional.Method(modid = "OpenComputers")
default String[] methods() {return new String[0];}
/**
@ -116,6 +121,7 @@ public class CompatHandler {
* @return Data to the computer as a return from the function.
*/
@Override
@Optional.Method(modid = "OpenComputers")
default Object[] invoke(String method, Context context, Arguments args) throws Exception {return null;}
}
}

View File

@ -152,7 +152,7 @@ public class ClientProxy extends ServerProxy {
Jars.initJars();
if(GeneralConfig.enableSoundExtension) {
SoundSystemConfig.setNumberNormalChannels(1000);
SoundSystemConfig.setNumberNormalChannels(GeneralConfig.normalSoundChannels);
SoundSystemConfig.setNumberStreamingChannels(50);
}
}

View File

@ -548,6 +548,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
}
@Override // please work
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
if(this.getTile() instanceof OCComponent)
return ((OCComponent) this.getTile()).getComponentName();
@ -555,6 +556,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
}
@Override
@Optional.Method(modid = "OpenComputers")
public boolean canConnectNode(ForgeDirection side) { //thank you vaer
if(this.getTile() instanceof OCComponent)
return (this.getTile().getBlockMetadata() & 6) == 6 && ((OCComponent) this.getTile()).canConnectNode(side);
@ -562,6 +564,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] getExtraInfo() {
if(this.getTile() instanceof OCComponent)
return new String[] {"analyze.dummy"};
@ -569,6 +572,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
if(this.getTile() instanceof OCComponent)
return ((OCComponent) this.getTile()).methods();
@ -576,6 +580,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
if(this.getTile() instanceof OCComponent)
return ((OCComponent) this.getTile()).invoke(method, context, args);

View File

@ -472,6 +472,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_launch_pad";
}
@ -526,6 +527,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getEnergyInfo",
@ -536,6 +538,8 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getEnergyInfo"):
@ -548,8 +552,7 @@ public abstract class TileEntityLaunchPadBase extends TileEntityMachineBase impl
return getTier(context, args);
case ("launch"):
return launch(context, args);
}
}
throw new NoSuchMethodException();
}
}
}

View File

@ -649,6 +649,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_custom_launch_pad";
}
@ -714,6 +715,8 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
return new Object[] {false};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getEnergyInfo",
@ -725,6 +728,8 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getEnergyInfo"):

View File

@ -318,6 +318,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_turbine";
}
@ -367,6 +368,8 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getFluid",
@ -376,6 +379,8 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getFluid"):

View File

@ -275,6 +275,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "dfc_emitter";
}

View File

@ -197,6 +197,7 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "dfc_injector";
}

View File

@ -190,6 +190,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "dfc_receiver";
}

View File

@ -172,6 +172,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "dfc_stabilizer";
}

View File

@ -70,6 +70,7 @@ public class TileEntityGeiger extends TileEntity implements SimpleComponent, IIn
return rads;
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_geiger";
}

View File

@ -295,6 +295,7 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider
//OC stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_icf_reactor";
}
@ -345,6 +346,8 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getHeat",
@ -356,6 +359,8 @@ public class TileEntityICF extends TileEntityMachineBase implements IGUIProvider
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch (method) {
case ("getHeat"):

View File

@ -669,6 +669,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_fusion";
}
@ -724,6 +725,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
return new Object[] {"N/A", "N/A"};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getEnergyInfo",
@ -736,6 +739,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch (method) {
case ("getEnergyInfo"):

View File

@ -325,6 +325,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_turbine";
}
@ -374,6 +375,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[1].getFill(), tanks[1].getMaxFill(), CompatHandler.steamTypeToInt(tanks[0].getTankType())};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getFluid",
@ -383,6 +386,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getFluid"):

View File

@ -603,6 +603,7 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
//OC compat!
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_radar";
}
@ -684,6 +685,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
return new Object[]{false, e.posX, e.posY, e.posZ, type};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getSettings",
@ -698,6 +701,8 @@ public class TileEntityMachineRadarNT extends TileEntityMachineBase implements I
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getSettings"):

View File

@ -217,6 +217,7 @@ public class TileEntityMachineReactorBreeding extends TileEntityMachineBase impl
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "breeding_reactor";
}

View File

@ -340,6 +340,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_turbine";
}

View File

@ -557,6 +557,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_gas_turbine";
}
@ -641,6 +642,8 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement
tanks[3].getFill(), tanks[3].getMaxFill()};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getFluid",
@ -657,6 +660,8 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getFluid"):

View File

@ -220,6 +220,7 @@ public class TileEntityMicrowave extends TileEntityMachineBase implements IEnerg
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "microwave";
}

View File

@ -547,6 +547,7 @@ public class TileEntityPWRController extends TileEntityMachineBase implements IG
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_pwr_control";
}

View File

@ -255,6 +255,7 @@ public class TileEntityReactorControl extends TileEntityMachineBase implements I
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "reactor_control";
}

View File

@ -397,6 +397,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "research_reactor";
}
@ -431,6 +432,8 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements
return new Object[] {heat, level, targetLevel, totalFlux};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getTemp",
@ -441,6 +444,8 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getTemp"):

View File

@ -548,6 +548,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "zirnox_reactor";
}
@ -601,6 +602,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
return new Object[] {};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {
"getTemp",
@ -614,6 +617,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch(method) {
case ("getTemp"):

View File

@ -338,6 +338,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_crane";
}

View File

@ -345,6 +345,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_boiler";
}

View File

@ -521,6 +521,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_console";
}

View File

@ -125,6 +125,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_control_rod";
}

View File

@ -147,6 +147,7 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc
//do some opencomputers stuff
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_cooler";
}

View File

@ -279,6 +279,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
//opencomputers stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_heater";
}

View File

@ -224,6 +224,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement
//do some opencomputers stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_outgasser";
}

View File

@ -393,6 +393,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "rbmk_fuel_rod";
}

View File

@ -401,6 +401,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_fluid_tank";
}
@ -430,11 +431,18 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {"getFluidStored", "getMaxStored", "getTypeStored", "getInfo"};
return new String[] {
"getFluidStored",
"getMaxStored",
"getTypeStored",
"getInfo"
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch (method) {
case "getFluidStored":

View File

@ -290,6 +290,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
// do some opencomputer stuff
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_energy_storage"; //ok if someone else can figure out how to do this that'd be nice (change the component name based on the type of storage block)
}

View File

@ -488,6 +488,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_fluid_tank";
}
@ -517,11 +518,17 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() {
return new String[] {"getFluidStored", "getMaxStored", "getTypeStored", "getInfo"};
return new String[] {
"getFluidStored",
"getMaxStored",
"getTypeStored",
"getInfo"};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch (method) {
case "getFluidStored":

View File

@ -259,6 +259,7 @@ public class TileEntityRadioTelex extends TileEntity implements INBTPacketReceiv
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_telex";
}

View File

@ -477,4 +477,62 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen
targetQueue.add(Vec3.createVectorHelper(args.checkDouble(0), args.checkDouble(1), args.checkDouble(2)));
return new Object[] {true};
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() { // :vomit:
return new String[] {
"setActive",
"isActive",
"getEnergyInfo",
"getWhitelisted",
"addWhitelist",
"removeWhitelist",
"setTargeting",
"getTargeting",
"hasTarget",
"getAngle",
"isAligned",
"getCurrentTarget",
"getTargetDistance",
"addCoords"
};
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch (method) {
case "setActive":
return setActive(context, args);
case "isActive":
return isActive(context, args);
case "getEnergyInfo":
return getEnergyInfo(context, args);
case "getWhitelisted":
return getWhitelisted(context, args);
case "addWhitelist":
return addWhitelist(context, args);
case "removeWhitelist":
return removeWhitelist(context, args);
case "setTargeting":
return setTargeting(context, args);
case "getTargeting":
return getTargeting(context, args);
case "hasTarget":
return hasTarget(context, args);
case "getAngle":
return getAngle(context, args);
case "isAligned":
return isAligned(context, args);
case "getCurrentTarget":
return getCurrentTarget(context, args);
case "getTargetDistance":
return getTargetDistance(context, args);
case "addCoords":
return addCoords(context, args);
}
throw new NoSuchMethodException();
}
}

View File

@ -76,6 +76,7 @@ public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBase
}
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_artillery";
}

View File

@ -912,6 +912,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
// This is a large compat, so I have to leave comments to know what I'm doing
@Override
@Optional.Method(modid = "OpenComputers")
public String getComponentName() {
return "ntm_turret";
}
@ -1014,11 +1015,13 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
}
@Override
@Optional.Method(modid = "OpenComputers")
public boolean canConnectNode(ForgeDirection side) {
return side == ForgeDirection.DOWN;
}
@Override
@Optional.Method(modid = "OpenComputers")
public String[] methods() { // :vomit:
return new String[] {
"setActive",
@ -1036,6 +1039,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple
}
@Override
@Optional.Method(modid = "OpenComputers")
public Object[] invoke(String method, Context context, Arguments args) throws Exception {
switch (method) {
case "setActive":