mirror of
https://github.com/GTNewHorizons/Binnie.git
synced 2026-11-15 01:35:08 +00:00
88 lines
2.9 KiB
Java
88 lines
2.9 KiB
Java
package binnie.extratrees.machines;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.world.World;
|
|
|
|
import binnie.Binnie;
|
|
import binnie.core.machines.IMachineType;
|
|
import binnie.core.machines.Machine;
|
|
import binnie.core.machines.MachineComponent;
|
|
import binnie.core.machines.MachinePackage;
|
|
import binnie.core.machines.TileEntityMachine;
|
|
import binnie.core.machines.component.IInteraction;
|
|
import binnie.core.resource.BinnieResource;
|
|
import binnie.core.resource.ResourceType;
|
|
import binnie.extratrees.ExtraTrees;
|
|
import binnie.extratrees.core.ExtraTreesGUID;
|
|
import binnie.extratrees.machines.designer.GlassworkerPackage;
|
|
import binnie.extratrees.machines.designer.PanelworkerPackage;
|
|
import binnie.extratrees.machines.designer.TileworkerPackage;
|
|
import binnie.extratrees.machines.designer.WoodworkerPackage;
|
|
import binnie.extratrees.machines.lumbermill.LumbermillPackage;
|
|
|
|
public enum ExtraTreeMachine implements IMachineType {
|
|
|
|
Lumbermill(LumbermillPackage.class),
|
|
Woodworker(WoodworkerPackage.class),
|
|
Panelworker(PanelworkerPackage.class),
|
|
Glassworker(GlassworkerPackage.class),
|
|
Tileworker(TileworkerPackage.class);
|
|
|
|
protected Class<? extends MachinePackage> cls;
|
|
|
|
ExtraTreeMachine(Class<? extends MachinePackage> cls) {
|
|
this.cls = cls;
|
|
}
|
|
|
|
@Override
|
|
public Class<? extends MachinePackage> getPackageClass() {
|
|
return cls;
|
|
}
|
|
|
|
public ItemStack get(int i) {
|
|
return new ItemStack(ExtraTrees.blockMachine, i, ordinal());
|
|
}
|
|
|
|
public static class ComponentExtraTreeGUI extends MachineComponent implements IInteraction.RightClick {
|
|
|
|
protected ExtraTreesGUID id;
|
|
|
|
public ComponentExtraTreeGUI(Machine machine, ExtraTreesGUID id) {
|
|
super(machine);
|
|
this.id = id;
|
|
}
|
|
|
|
@Override
|
|
public void onRightClick(World world, EntityPlayer player, int x, int y, int z) {
|
|
ExtraTrees.proxy.openGui(id, player, x, y, z);
|
|
}
|
|
}
|
|
|
|
public abstract static class PackageExtraTreeMachine extends MachinePackage {
|
|
|
|
protected BinnieResource textureName;
|
|
|
|
protected PackageExtraTreeMachine(String uid, String textureName, boolean powered) {
|
|
super(uid, powered);
|
|
this.textureName = Binnie.Resource.getFile(ExtraTrees.instance, ResourceType.Tile, textureName);
|
|
}
|
|
|
|
protected PackageExtraTreeMachine(String uid, BinnieResource textureName, boolean powered) {
|
|
super(uid, powered);
|
|
this.textureName = textureName;
|
|
}
|
|
|
|
@Override
|
|
public TileEntity createTileEntity() {
|
|
return new TileEntityMachine(this);
|
|
}
|
|
|
|
@Override
|
|
public void renderMachine(Machine machine, double x, double y, double z, float partialTick) {
|
|
MachineRendererForestry.renderMachine(textureName.getShortPath(), x, y, z);
|
|
}
|
|
}
|
|
}
|