Skip to content
This repository was archived by the owner on Apr 20, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

12 changes: 12 additions & 0 deletions src/main/java/com/muxiu1997/mxrandom/client/MXUITextures.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.muxiu1997.mxrandom.client;

import com.gtnewhorizons.modularui.api.drawable.UITexture;
import com.muxiu1997.mxrandom.MXRandom;

public class MXUITextures {

public static final UITexture OVERLAY_BUTTON_LMA_ANIMATION_ON = UITexture
.fullImage(MXRandom.MODID, "gui/overlay_button/lma_animation_on");
public static final UITexture OVERLAY_BUTTON_LMA_ANIMATION_OFF = UITexture
.fullImage(MXRandom.MODID, "gui/overlay_button/lma_animation_off");
}

This file was deleted.

15 changes: 0 additions & 15 deletions src/main/java/com/muxiu1997/mxrandom/loader/NetworkLoader.java
Original file line number Diff line number Diff line change
@@ -1,28 +1,13 @@
package com.muxiu1997.mxrandom.loader;

import com.muxiu1997.mxrandom.MXRandom;
import com.muxiu1997.mxrandom.network.GuiHandler;
import com.muxiu1997.mxrandom.network.message.MessageCraftingFX;
import com.muxiu1997.mxrandom.network.message.MessageSyncMetaTileEntityConfig;

import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.relauncher.Side;

public class NetworkLoader {

public static void load() {
MXRandom.network.registerMessage(new MessageCraftingFX.Handler(), MessageCraftingFX.class, 0, Side.CLIENT);
MXRandom.network.registerMessage(
new MessageSyncMetaTileEntityConfig.Handler(),
MessageSyncMetaTileEntityConfig.class,
1,
Side.SERVER);
MXRandom.network.registerMessage(
new MessageSyncMetaTileEntityConfig.Handler(),
MessageSyncMetaTileEntityConfig.class,
2,
Side.CLIENT);

NetworkRegistry.INSTANCE.registerGuiHandler(MXRandom.MODID, new GuiHandler());
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.muxiu1997.mxrandom.metatileentity;

import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static gregtech.api.util.GTStructureUtility.ofHatchAdder;

import java.util.ArrayList;
Expand All @@ -15,13 +16,13 @@
import java.util.stream.IntStream;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.common.util.Constants;
Expand All @@ -32,13 +33,16 @@
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.IStructureElementCheckOnly;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
import com.gtnewhorizons.modularui.api.drawable.UITexture;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
import com.gtnewhorizons.modularui.common.widget.ButtonWidget;
import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
import com.mojang.authlib.GameProfile;
import com.muxiu1997.mxrandom.MXRandom;
import com.muxiu1997.mxrandom.api.IConfigurableMetaTileEntity;
import com.muxiu1997.mxrandom.client.gui.GuiConfigLargeMolecularAssembler;
import com.muxiu1997.mxrandom.network.container.ContainerConfigLargeMolecularAssembler;
import com.muxiu1997.mxrandom.client.MXUITextures;
import com.muxiu1997.mxrandom.network.message.MessageCraftingFX;
import com.muxiu1997.mxrandom.network.message.MessageSyncMetaTileEntityConfig;

import appeng.api.AEApi;
import appeng.api.networking.GridFlags;
Expand All @@ -63,11 +67,10 @@
import appeng.util.Platform;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTechAPI;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
import gregtech.api.gui.modularui.GTUITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
Expand All @@ -78,10 +81,9 @@
import gregtech.api.util.MultiblockTooltipBuilder;
import gregtech.common.items.behaviors.BehaviourDataOrb;
import gregtech.common.tileentities.machines.MTEHatchCraftingInputME;
import io.netty.buffer.ByteBuf;

public class MTELargeMolecularAssembler extends MTEExtendedPowerMultiBlockBase<MTELargeMolecularAssembler>
implements IConfigurableMetaTileEntity, ICraftingProvider, IActionHost, IGridProxyable {
implements ICraftingProvider, IActionHost, IGridProxyable {

private static final String DATA_ORB_JOBS_KEY = "MX-CraftingJobs";
private static final String DATA_ORB_JOBS_JOB_KEY = "Job";
Expand Down Expand Up @@ -302,7 +304,6 @@ protected MultiblockTooltipBuilder createTooltip() {
+ EnumChatFormatting.GRAY
+ "s")
.addInfo("Subsequent Overclocks:").addInfo("-Double the number of Jobs finished at once")
.addInfo("Use the screwdriver to right-click the Controller to open the config GUI")
.beginStructureBlock(5, 5, 5, true).addController("Front center")
.addCasingInfoMin("Robust Tungstensteel Machine Casing", MIN_CASING_COUNT, false)
.addInputBus("Any casing", 1).addEnergyHatch("Any casing", 1).addMaintenanceHatch("Any casing", 1)
Expand Down Expand Up @@ -361,16 +362,6 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
}
}

@Override
public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ,
ItemStack aTool) {
super.onScrewdriverRightClick(side, aPlayer, aX, aY, aZ, aTool);
if (getBaseMetaTileEntity().isClientSide() || !(aPlayer instanceof EntityPlayerMP playerMP)) return;
if (side == getBaseMetaTileEntity().getFrontFacing()) {
MXRandom.network.sendTo(new MessageSyncMetaTileEntityConfig(this, true), playerMP);
}
}

// dataOrb, aeJobs
private boolean withAeJobs(BiFunction<ItemStack, List<List<ItemStack>>, Boolean> action) {
if (mInventory[1] == cachedDataOrb && cachedDataOrb != null) {
Expand Down Expand Up @@ -574,27 +565,6 @@ private boolean addToLargeMolecularAssemblerList(IGregTechTileEntity tileEntity,
return addEnergyInputToMachineList(tileEntity, baseCasingIndex);
}

@Override
public void readConfigFromBytes(ByteBuf buf) {
hiddenCraftingFX = buf.readBoolean();
}

@Override
public void writeConfigToBytes(ByteBuf buf) {
buf.writeBoolean(hiddenCraftingFX);
}

@Override
public Object getServerGuiElement(int ID, EntityPlayer player) {
return new ContainerConfigLargeMolecularAssembler(this);
}

@SideOnly(Side.CLIENT)
@Override
public Object getClientGuiElement(int ID, EntityPlayer player) {
return new GuiConfigLargeMolecularAssembler(new ContainerConfigLargeMolecularAssembler(this));
}

@Override
public boolean pushPattern(ICraftingPatternDetails patternDetails, InventoryCrafting table) {
return withAeJobs(($, aeJobs) -> {
Expand Down Expand Up @@ -670,6 +640,29 @@ public IGridNode getActionableNode() {
return getProxy().getNode();
}

@Override
public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
super.addUIWidgets(builder, buildContext);
builder.widget(
new ButtonWidget().setOnClick((clickData, widget) -> hiddenCraftingFX = !hiddenCraftingFX)
.setPlayClickSound(true).setBackground(() -> {
List<UITexture> ret = new ArrayList<>();
if (hiddenCraftingFX) {
ret.add(GTUITextures.BUTTON_STANDARD);
ret.add(MXUITextures.OVERLAY_BUTTON_LMA_ANIMATION_OFF);
} else {
ret.add(GTUITextures.BUTTON_STANDARD_PRESSED);
ret.add(MXUITextures.OVERLAY_BUTTON_LMA_ANIMATION_ON);
}
return ret.toArray(new IDrawable[0]);
})
.attachSyncer(
new FakeSyncWidget.BooleanSyncer(() -> hiddenCraftingFX, val -> hiddenCraftingFX = val),
builder)
.addTooltip(StatCollector.translateToLocal("mxrandom.client.gui.craftingfx"))
.setTooltipShowUpDelay(TOOLTIP_DELAY).setPos(80, 91).setSize(16, 16));
}

@SuppressWarnings("all")
private static class CraftingDisplayPoint {

Expand Down
Loading
Loading