diff --git a/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.java b/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.java index 73568c8..41535b2 100644 --- a/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.java +++ b/src/main/scala/net/machinemuse/general/gui/frame/PartManipSubFrame.java @@ -1,49 +1,436 @@ +////package net.machinemuse.general.gui.frame; +//// +////import net.machinemuse.general.gui.clickable.ClickableItem; +////import net.machinemuse.numina.general.MuseLogger; +////import net.machinemuse.numina.general.MuseMathUtils; +////import net.machinemuse.numina.geometry.Colour; +////import net.machinemuse.numina.geometry.MuseRect; +////import net.machinemuse.numina.geometry.MuseRelativeRect; +////import net.machinemuse.numina.network.PacketSender; +////import net.machinemuse.numina.render.RenderState; +////import net.machinemuse.powersuits.client.render.modelspec.ModelPartSpec; +////import net.machinemuse.powersuits.client.render.modelspec.ModelRegistry; +////import net.machinemuse.powersuits.client.render.modelspec.ModelSpec; +////import net.machinemuse.powersuits.network.packets.MusePacketCosmeticInfo; +////import net.machinemuse.utils.MuseItemUtils; +////import net.machinemuse.utils.render.GuiIcons; +////import net.machinemuse.utils.render.MuseRenderer; +////import net.minecraft.client.Minecraft; +////import net.minecraft.client.entity.EntityClientPlayerMP; +////import net.minecraft.entity.Entity; +////import net.minecraft.entity.player.EntityPlayer; +////import net.minecraft.item.ItemArmor; +////import net.minecraft.nbt.NBTBase; +////import net.minecraft.nbt.NBTTagCompound; +////import org.lwjgl.opengl.GL11; +////import scala.*; +////import scala.collection.Iterable; +////import scala.collection.Iterator; +////import scala.collection.TraversableOnce; +////import scala.reflect.ClassTag$; +//// +////import java.io.Serializable; +////import java.util.ArrayList; +////import java.util.List; +//// +/////** +//// * Author: MachineMuse (Claire Semple) +//// * Created: 1:46 AM, 30/04/13 +//// * +//// * Ported to Java by lehjr on 11/2/16. +//// */ +////public class PartManipSubFrame { +//// private ModelSpec model; +//// private ColourPickerFrame colourframe; +//// private ItemSelectionFrame itemSelector; +//// private MuseRelativeRect border; +//// private ModelPartSpec[] specs; +//// private boolean open; +//// private double mousex; +//// private double mousey; +//// +//// public PartManipSubFrame(ModelSpec model, ColourPickerFrame colourframe, ItemSelectionFrame itemSelector, MuseRelativeRect border) { +//// this.model = model; +//// this.colourframe = colourframe; +//// this.itemSelector = itemSelector; +//// this.border = border; +//// +//// /* TODO: cleanup and simplify in 1.10.2 +//// * Scala method of filtering the list and building a new array based on boolean values. +//// +//// var specs: Array[ModelPartSpec] = model.apply.values.filter(spec => isValidArmor(getSelectedItem, spec.slot)).toArray +//// model.apply().values().filter(Function1 p) */ +//// this.specs = getSpecs(); +//// +//// this.open = true; +//// this.mousex = 0.0; +//// this.mousey = 0.0; +//// } +//// +//// private ModelPartSpec[] getSpecs() { +//// List specsArray = new ArrayList<>(); +//// Iterator specIt = model.apply().values().iterator(); +//// ModelPartSpec spec; +//// while (specIt.hasNext()) { +//// spec = specIt.next(); +//// if (isValidArmor(getSelectedItem(), spec.slot())) +//// specsArray.add(spec); +//// } +//// return (ModelPartSpec[]) specsArray.toArray(); +//// } +//// +//// public int getArmorSlot() { +//// return ((ItemArmor)this.getSelectedItem().getItem().getItem()).armorType; +//// } +//// +//// public ClickableItem getSelectedItem() { +//// return this.itemSelector.getSelectedItem(); +//// } +//// +//// public NBTTagCompound getRenderTag() { +//// return MuseItemUtils.getMuseRenderTag(this.getSelectedItem().getItem(), this.getArmorSlot()); +//// } +//// +//// public NBTTagCompound getItemTag() { +//// return MuseItemUtils.getMuseItemTag(this.getSelectedItem().getItem()); +//// } +//// +//// public boolean isValidArmor(ClickableItem clickie, int slot) { +//// return clickie != null && clickie.getItem().getItem().isValidArmor(clickie.getItem(), slot, (Entity) Minecraft.getMinecraft().thePlayer); +//// } +//// +//// public NBTTagCompound getSpecTag(ModelPartSpec spec) { +//// return this.getRenderTag().getCompoundTag(ModelRegistry.makeName(spec)); +//// } +//// +//// public NBTTagCompound getOrDontGetSpecTag(ModelPartSpec spec) { +//// String name = ModelRegistry.makeName(spec); +//// return this.getRenderTag().hasKey(name) ? this.getRenderTag().getCompoundTag(name) : null; +//// } +//// +//// public NBTTagCompound getOrMakeSpecTag(ModelPartSpec spec) { +//// String name = ModelRegistry.makeName(spec); +//// NBTTagCompound compoundTag; +//// if (this.getRenderTag().hasKey(name)) { +//// compoundTag = this.getRenderTag().getCompoundTag(name); +//// } +//// else { +//// NBTTagCompound k = new NBTTagCompound(); +//// spec.multiSet(k, null, None$.MODULE$, None$.MODULE$); // FIXME!! null will probably fail +//// this.getRenderTag().setTag(name, (NBTBase)k); +//// compoundTag = k; +//// } +//// return compoundTag; +//// } +//// +//// public void updateItems() { +//// this.specs = getSpecs(); +//// this.border.setHeight((specs.length > 0) ? (specs.length * 8 + 10) : 0); +//// } +//// +//// +//// // def drawPartial(min: Double, max: Double) { +////// if (specs.size > 0) { +////// ModelRegistry.getName(model).foreach(s => MuseRenderer.drawString(s, border.left + 8, border.top)) +////// drawOpenArrow(min, max) +////// if (open) { +////// ((border.top + 8) /: specs) { +////// case (y, spec) => { +////// drawSpecPartial(border.left, y, spec, min, max) +////// y + 8 +////// } +////// } +////// } +////// } +////// } +//// +//// public void drawPartial(double min, double max) { +////// if (specs.length > 0) { +////// +////// +////// ((MuseBiMap)ModelRegistry.getName((T)this.model()) +////// ModelRegistry.getName(model); +////// +////// +////// +////// +////// .foreach(s => MuseRenderer.drawString(/* STRING */s, border.left() + 8, border.top())) +////// drawOpenArrow(min, max); +////// if (open) { +////// ((border.top + 8) /: specs) { +////// case (y, spec) => { +////// drawSpecPartial(border.left, y, spec, min, max); +////// y + 8 +////// } +////// } +////// } +////// } +////// } +//// +//// +//// +//// +//// if (specs.length > 0) { +//// ((MuseBiMap)ModelRegistry.getName((T)this.model()).foreach((Function1)new PartManipSubFrame$$anonfun$drawPartial.PartManipSubFrame$$anonfun$drawPartial$1(this)); +//// this.drawOpenArrow(min, max); +//// if (this.open()) { +//// Predef$.MODULE$.refArrayOps((Object[])this.specs()).$div$colon((Object)BoxesRunTime.boxToDouble(this.border().top() + 8), (Function2)new PartManipSubFrame$$anonfun$drawPartial.PartManipSubFrame$$anonfun$drawPartial$2(this, min, max)); +//// } +//// } +//// } +//// +//// public void decrAbove(int index) { +//// for (ModelPartSpec spec : specs) { +//// String tagname = ModelRegistry.makeName(spec); +//// EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; +//// NBTTagCompound tagdata = getOrDontGetSpecTag(spec); +//// +//// if (tagdata != null) { +//// int oldindex = spec.getColourIndex(tagdata); +//// if (oldindex >= index && oldindex > 0) { +//// spec.setColourIndex(tagdata, oldindex - 1); +//// if (player.worldObj.isRemote) +//// PacketSender.sendToServer(new MusePacketCosmeticInfo(player, getSelectedItem().inventorySlot, tagname, tagdata).getPacket131()); +//// } +//// } +//// } +//// } +//// +//// +//// +//// +//// +//// +//// +////// def drawSpecPartial(x: Double, y: Double, spec: ModelPartSpec, ymino: Double, ymaxo: Double) = { +////// val tag = getSpecTag(spec) +////// val selcomp = if (tag.hasNoTags) 0 else if (spec.getGlow(tag)) 2 else 1 +////// val selcolour = spec.getColourIndex(tag) +////// new GuiIcons.TransparentArmor(x, y, null, null, ymino, null, ymaxo) +////// new GuiIcons.NormalArmor(x + 8, y, null, null, ymino, null, ymaxo) +////// new GuiIcons.GlowArmor(x + 16, y, null, null, ymino, null, ymaxo) +////// new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, ymino, null, ymaxo) +//// +//// /* /: fold left operator */ +//// +////// val textstartx = ((x + 28) /: colourframe.colours) { +////// case (acc, colour) => +////// new GuiIcons.ArmourColourPatch(acc, y, new Colour(colour), null, ymino, null, ymaxo) +////// acc + 8 +////// } +////// if (selcomp > 0) { +////// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo) +////// } +////// MuseRenderer.drawString(spec.displayName, textstartx + 4, y) +////// } +//// +//// public void drawSpecPartial(double x, double y, ModelPartSpec spec, double ymino, double ymaxo) { +//// NBTTagCompound tag = this.getSpecTag(spec); +//// int selcomp = tag.hasNoTags() ? 0 : (spec.getGlow(tag) ? 2 : 1); +//// int selcolour = spec.getColourIndex(tag); +//// new GuiIcons.TransparentArmor(x, y, null, null, ymino, null, ymaxo); +//// new GuiIcons.NormalArmor(x + 8, y, null, null, ymino, null, ymaxo); +//// new GuiIcons.GlowArmor(x + 16, y, null, null, ymino, null, ymaxo); +//// new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, ymino, null, ymaxo); +//// +//// double textstartx = Predef.Double2double((Predef.intArrayOps(colourframe.colours())./:(scala.runtime.BoxesRunTime.boxToDouble((x.+(28))))) ({ +//// case (acc, colour) => +//// new GuiIcons.ArmourColourPatch(Predef.Double2double(acc), y, new Colour(colour), null, Predef.double2Double(ymino), null, Predef.double2Double(ymaxo)); +//// Predef.double2Double(Predef.Double2double(acc).+(8)) +//// })); +//// if (selcomp > 0) { +//// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo) +//// } +//// MuseRenderer.drawString(spec.displayName, textstartx + 4, y) +//// +//// +//// +//// +//// +//// double textstartx = BoxesRunTime.unboxToDouble(Predef$.MODULE$.intArrayOps(this.colourframe.colours()).$div$colon((Object)BoxesRunTime.boxToDouble(x + 28), (Function2)new PartManipSubFrame$$anonfun.PartManipSubFrame$$anonfun$1(this, y, ymino, ymaxo))); +//// +//// +//// +//// +//// if (selcomp > 0) { +//// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo); +//// } +//// MuseRenderer.drawString(spec.displayName(), textstartx + 4, y); +//// } +//// +//// +//// +//// +//// +//// public void drawOpenArrow(double min, double max) { +//// RenderState.texturelessOn(); +//// Colour.LIGHTBLUE.doGL(); +//// GL11.glBegin(4); +//// if (this.open) { +//// GL11.glVertex2d(this.border.left() + 3, MuseMathUtils.clampDouble(this.border.top() + 3, min, max)); +//// GL11.glVertex2d(this.border.left() + 5, MuseMathUtils.clampDouble(this.border.top() + 7, min, max)); +//// GL11.glVertex2d(this.border.left() + 7, MuseMathUtils.clampDouble(this.border.top() + 3, min, max)); +//// } +//// else { +//// GL11.glVertex2d(this.border.left() + 3, MuseMathUtils.clampDouble(this.border.top() + 3, min, max)); +//// GL11.glVertex2d(this.border.left() + 3, MuseMathUtils.clampDouble(this.border.top() + 7, min, max)); +//// GL11.glVertex2d(this.border.left() + 7, MuseMathUtils.clampDouble(this.border.top() + 5, min, max)); +//// } +//// GL11.glEnd(); +//// Colour.WHITE.doGL(); +//// RenderState.texturelessOff(); +//// } +//// +//// public MuseRect getBorder() { +//// if (this.open) { +//// this.border.setHeight(9 + 9 * this.specs.length); +//// } +//// else { +//// this.border.setHeight(9.0); +//// } +//// return this.border; +//// } +//// +//// public boolean tryMouseClick(double x, double y) { +//// boolean b; +//// if (x < this.border.left() || x > this.border.right() || y < this.border.top() || y > this.border.bottom()) { +//// b = false; +//// } +//// else if (x > this.border.left() + 2 && x < this.border.left() + 8 && y > this.border.top() + 2 && y < this.border.top() + 8) { +//// this.open =(!this.open); +//// this.getBorder(); +//// b = true; +//// } +//// else if (x < this.border.left() + 24 && y > this.border.top() + 8) { +//// int lineNumber = (int)((y - this.border.top() - 8) / 8); +//// int columnNumber = (int)((x - this.border.left()) / 8); +//// +//// +//// //TODO: check this, it seems backwards; ie min should be 0 and max should be size -1 +////// val spec = specs(lineNumber.min(specs.size - 1).max(0)) +//// ModelPartSpec spec = specs[Math.max(Math.min(lineNumber, specs.length - 1), 0)]; +//// MuseLogger.logDebug("Line " + lineNumber + " Column " + columnNumber); +//// switch (columnNumber) { +//// default: { +//// b = false; +//// break; +//// } +//// case 2: { +//// String tagname = ModelRegistry.makeName(spec); +//// EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; +//// NBTTagCompound tagdata = this.getOrMakeSpecTag(spec); +//// spec.setGlow(tagdata, true); +//// if (player.worldObj.isRemote) { +//// PacketSender.sendToServer(new MusePacketCosmeticInfo(player, this.getSelectedItem().inventorySlot, tagname, tagdata).getPacket131()); +//// } +//// this.updateItems(); +//// b = true; +//// break; +//// } +//// case 1: { +//// String tagname2 = ModelRegistry.makeName(spec); +//// EntityClientPlayerMP player2 = Minecraft.getMinecraft().thePlayer; +//// NBTTagCompound tagdata2 = this.getOrMakeSpecTag(spec); +//// spec.setGlow(tagdata2, false); +//// if (player2.worldObj.isRemote) { +//// PacketSender.sendToServer(new MusePacketCosmeticInfo(player2, this.getSelectedItem().inventorySlot, tagname2, tagdata2).getPacket131()); +//// } +//// this.updateItems(); +//// b = true; +//// break; +//// } +//// case 0: { +//// NBTTagCompound renderTag = this.getRenderTag(); +//// String tagname3 = ModelRegistry.makeName(spec); +//// EntityClientPlayerMP player3 = Minecraft.getMinecraft().thePlayer; +//// renderTag.removeTag(ModelRegistry.makeName(spec)); +//// if (player3.worldObj.isRemote) { +//// PacketSender.sendToServer(new MusePacketCosmeticInfo(player3, this.getSelectedItem().inventorySlot, tagname3, new NBTTagCompound()).getPacket131()); +//// } +//// this.updateItems(); +//// b = true; +//// break; +//// } +//// } +//// } +//// else if (x > this.border.left() + 28 && x < this.border.left() + 28 + Predef$.MODULE$.intArrayOps(this.colourframe.colours()).size() * 8) { +//// int lineNumber2 = (int)((y - this.border.top() - 8) / 8); +//// int columnNumber2 = (int)((x - this.border.left() - 28) / 8); +//// ModelPartSpec spec2 = specs[Math.max(Math.min(lineNumber2, specs.length - 1), 0)]; +//// String tagname4 = ModelRegistry.makeName(spec2); +//// EntityClientPlayerMP player4 = Minecraft.getMinecraft().thePlayer; +//// NBTTagCompound tagdata3 = this.getOrMakeSpecTag(spec2); +//// spec2.setColourIndex(tagdata3, columnNumber2); +//// if (player4.worldObj.isRemote) { +//// PacketSender.sendToServer(new MusePacketCosmeticInfo((EntityPlayer)player4, this.getSelectedItem().inventorySlot, tagname4, tagdata3).getPacket131()); +//// } +//// b = true; +//// } +//// else { +//// b = false; +//// } +//// return b; +//// } +////} +// +// +//// +//// Decompiled by Procyon v0.5.30 +//// +// //package net.machinemuse.general.gui.frame; // -//import net.machinemuse.general.gui.clickable.ClickableItem; -//import net.machinemuse.numina.general.MuseLogger; -//import net.machinemuse.numina.general.MuseMathUtils; -//import net.machinemuse.numina.geometry.Colour; -//import net.machinemuse.numina.geometry.MuseRect; -//import net.machinemuse.numina.geometry.MuseRelativeRect; -//import net.machinemuse.numina.network.PacketSender; -//import net.machinemuse.numina.render.RenderState; -//import net.machinemuse.powersuits.client.render.modelspec.ModelPartSpec; +//import net.machinemuse.numina.scala.MuseBiMap; //import net.machinemuse.powersuits.client.render.modelspec.ModelRegistry; -//import net.machinemuse.powersuits.client.render.modelspec.ModelSpec; -//import net.machinemuse.powersuits.network.packets.MusePacketCosmeticInfo; -//import net.machinemuse.utils.MuseItemUtils; -//import net.machinemuse.utils.render.GuiIcons; -//import net.machinemuse.utils.render.MuseRenderer; -//import net.minecraft.client.Minecraft; -//import net.minecraft.client.entity.EntityClientPlayerMP; -//import net.minecraft.entity.Entity; -//import net.minecraft.entity.player.EntityPlayer; -//import net.minecraft.item.ItemArmor; -//import net.minecraft.nbt.NBTBase; -//import net.minecraft.nbt.NBTTagCompound; -//import org.lwjgl.opengl.GL11; -//import scala.*; -//import scala.collection.Iterable; //import scala.collection.Iterator; -//import scala.collection.TraversableOnce; +//import scala.runtime.AbstractFunction1; +//import scala.Serializable; +//import net.minecraft.client.entity.EntityClientPlayerMP; +//import net.machinemuse.numina.network.PacketSender; +//import net.minecraft.entity.player.EntityPlayer; +//import net.machinemuse.powersuits.network.packets.MusePacketCosmeticInfo; +//import net.machinemuse.numina.general.MuseLogger; +//import scala.collection.mutable.StringBuilder; +//import net.machinemuse.numina.geometry.MuseRect; +//import net.machinemuse.numina.general.MuseMathUtils; +//import org.lwjgl.opengl.GL11; +//import net.machinemuse.numina.render.RenderState; +//import net.machinemuse.utils.render.MuseRenderer; +//import scala.runtime.BoxedUnit; +//import net.machinemuse.numina.geometry.Colour; +//import net.machinemuse.utils.render.GuiIcons; +//import scala.Function2; +//import scala.runtime.BoxesRunTime; +//import scala.Predef$; //import scala.reflect.ClassTag$; +//import scala.Function1; +//import scala.collection.TraversableOnce; +//import net.minecraft.nbt.NBTBase; +//import scala.None$; +//import scala.Some; +//import scala.Option; +//import net.machinemuse.powersuits.client.render.modelspec.ModelRegistry$; +//import net.minecraft.entity.Entity; +//import net.minecraft.client.Minecraft; +//import net.machinemuse.utils.MuseItemUtils; +//import net.minecraft.nbt.NBTTagCompound; +//import net.machinemuse.general.gui.clickable.ClickableItem; +//import net.minecraft.item.ItemArmor; +//import net.machinemuse.powersuits.client.render.modelspec.ModelPartSpec; +//import net.machinemuse.numina.geometry.MuseRelativeRect; +//import net.machinemuse.powersuits.client.render.modelspec.ModelSpec; +//import scala.reflect.ScalaSignature; // -//import java.io.Serializable; //import java.util.ArrayList; //import java.util.List; // -///** -// * Author: MachineMuse (Claire Semple) -// * Created: 1:46 AM, 30/04/13 -// * -// * Ported to Java by lehjr on 11/2/16. -// */ -//public class PartManipSubFrame { -// private ModelSpec model; -// private ColourPickerFrame colourframe; -// private ItemSelectionFrame itemSelector; -// private MuseRelativeRect border; +// +//public class PartManipSubFrame +//{ +// private final ModelSpec model; +// private final ColourPickerFrame colourframe; +// private final ItemSelectionFrame itemSelector; +// private final MuseRelativeRect border; // private ModelPartSpec[] specs; // private boolean open; // private double mousex; @@ -79,12 +466,60 @@ // return (ModelPartSpec[]) specsArray.toArray(); // } // +// public ModelSpec model() { +// return this.model; +// } +// +// public ColourPickerFrame colourframe() { +// return this.colourframe; +// } +// +// public ItemSelectionFrame itemSelector() { +// return this.itemSelector; +// } +// +// public MuseRelativeRect border() { +// return this.border; +// } +// +// public ModelPartSpec[] specs() { +// return this.specs; +// } +// +// public void specs_$eq(final ModelPartSpec[] x$1) { +// this.specs = x$1; +// } +// +// public boolean open() { +// return this.open; +// } +// +// public void open_$eq(final boolean x$1) { +// this.open = x$1; +// } +// +// public double mousex() { +// return this.mousex; +// } +// +// public void mousex_$eq(final double x$1) { +// this.mousex = x$1; +// } +// +// public double mousey() { +// return this.mousey; +// } +// +// public void mousey_$eq(final double x$1) { +// this.mousey = x$1; +// } +// // public int getArmorSlot() { // return ((ItemArmor)this.getSelectedItem().getItem().getItem()).armorType; // } // // public ClickableItem getSelectedItem() { -// return this.itemSelector.getSelectedItem(); +// return this.itemSelector().getSelectedItem(); // } // // public NBTTagCompound getRenderTag() { @@ -95,27 +530,27 @@ // return MuseItemUtils.getMuseItemTag(this.getSelectedItem().getItem()); // } // -// public boolean isValidArmor(ClickableItem clickie, int slot) { -// return clickie != null && clickie.getItem().getItem().isValidArmor(clickie.getItem(), slot, (Entity) Minecraft.getMinecraft().thePlayer); +// public boolean isValidArmor(final ClickableItem clickie, final int slot) { +// return clickie != null && clickie.getItem().getItem().isValidArmor(clickie.getItem(), slot, (Entity)Minecraft.getMinecraft().thePlayer); // } // -// public NBTTagCompound getSpecTag(ModelPartSpec spec) { -// return this.getRenderTag().getCompoundTag(ModelRegistry.makeName(spec)); +// public NBTTagCompound getSpecTag(final ModelPartSpec spec) { +// return this.getRenderTag().getCompoundTag(ModelRegistry$.MODULE$.makeName(spec)); // } // -// public NBTTagCompound getOrDontGetSpecTag(ModelPartSpec spec) { -// String name = ModelRegistry.makeName(spec); +// public NBTTagCompound getOrDontGetSpecTag(final ModelPartSpec spec) { +// final String name = ModelRegistry$.MODULE$.makeName(spec); // return this.getRenderTag().hasKey(name) ? this.getRenderTag().getCompoundTag(name) : null; // } // -// public NBTTagCompound getOrMakeSpecTag(ModelPartSpec spec) { -// String name = ModelRegistry.makeName(spec); +// public NBTTagCompound getOrMakeSpecTag(final ModelPartSpec spec) { +// final String name = ModelRegistry$.MODULE$.makeName(spec); // NBTTagCompound compoundTag; // if (this.getRenderTag().hasKey(name)) { // compoundTag = this.getRenderTag().getCompoundTag(name); // } // else { -// NBTTagCompound k = new NBTTagCompound(); +// final NBTTagCompound k = new NBTTagCompound(); // spec.multiSet(k, null, None$.MODULE$, None$.MODULE$); // FIXME!! null will probably fail // this.getRenderTag().setTag(name, (NBTBase)k); // compoundTag = k; @@ -128,50 +563,9 @@ // this.border.setHeight((specs.length > 0) ? (specs.length * 8 + 10) : 0); // } // -// -// // def drawPartial(min: Double, max: Double) { -//// if (specs.size > 0) { -//// ModelRegistry.getName(model).foreach(s => MuseRenderer.drawString(s, border.left + 8, border.top)) -//// drawOpenArrow(min, max) -//// if (open) { -//// ((border.top + 8) /: specs) { -//// case (y, spec) => { -//// drawSpecPartial(border.left, y, spec, min, max) -//// y + 8 -//// } -//// } -//// } -//// } -//// } -// -// public void drawPartial(double min, double max) { -//// if (specs.length > 0) { -//// -//// -//// ((MuseBiMap)ModelRegistry.getName((T)this.model()) -//// ModelRegistry.getName(model); -//// -//// -//// -//// -//// .foreach(s => MuseRenderer.drawString(/* STRING */s, border.left() + 8, border.top())) -//// drawOpenArrow(min, max); -//// if (open) { -//// ((border.top + 8) /: specs) { -//// case (y, spec) => { -//// drawSpecPartial(border.left, y, spec, min, max); -//// y + 8 -//// } -//// } -//// } -//// } -//// } -// -// -// -// -// if (specs.length > 0) { -// ((MuseBiMap)ModelRegistry.getName((T)this.model()).foreach((Function1)new PartManipSubFrame$$anonfun$drawPartial.PartManipSubFrame$$anonfun$drawPartial$1(this)); +// public void drawPartial(final double min, final double max) { +// if (Predef$.MODULE$.refArrayOps((Object[])this.specs()).size() > 0) { +// ((MuseBiMap)ModelRegistry$.MODULE$).getName((T)this.model()).foreach((Function1)new PartManipSubFrame$$anonfun$drawPartial.PartManipSubFrame$$anonfun$drawPartial$1(this)); // this.drawOpenArrow(min, max); // if (this.open()) { // Predef$.MODULE$.refArrayOps((Object[])this.specs()).$div$colon((Object)BoxesRunTime.boxToDouble(this.border().top() + 8), (Function2)new PartManipSubFrame$$anonfun$drawPartial.PartManipSubFrame$$anonfun$drawPartial$2(this, min, max)); @@ -196,85 +590,37 @@ // } // } // -// -// -// -// -// -// -//// def drawSpecPartial(x: Double, y: Double, spec: ModelPartSpec, ymino: Double, ymaxo: Double) = { -//// val tag = getSpecTag(spec) -//// val selcomp = if (tag.hasNoTags) 0 else if (spec.getGlow(tag)) 2 else 1 -//// val selcolour = spec.getColourIndex(tag) -//// new GuiIcons.TransparentArmor(x, y, null, null, ymino, null, ymaxo) -//// new GuiIcons.NormalArmor(x + 8, y, null, null, ymino, null, ymaxo) -//// new GuiIcons.GlowArmor(x + 16, y, null, null, ymino, null, ymaxo) -//// new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, ymino, null, ymaxo) -// -// /* /: fold left operator */ -// -//// val textstartx = ((x + 28) /: colourframe.colours) { -//// case (acc, colour) => -//// new GuiIcons.ArmourColourPatch(acc, y, new Colour(colour), null, ymino, null, ymaxo) -//// acc + 8 -//// } -//// if (selcomp > 0) { -//// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo) -//// } -//// MuseRenderer.drawString(spec.displayName, textstartx + 4, y) -//// } -// -// public void drawSpecPartial(double x, double y, ModelPartSpec spec, double ymino, double ymaxo) { -// NBTTagCompound tag = this.getSpecTag(spec); -// int selcomp = tag.hasNoTags() ? 0 : (spec.getGlow(tag) ? 2 : 1); -// int selcolour = spec.getColourIndex(tag); -// new GuiIcons.TransparentArmor(x, y, null, null, ymino, null, ymaxo); -// new GuiIcons.NormalArmor(x + 8, y, null, null, ymino, null, ymaxo); -// new GuiIcons.GlowArmor(x + 16, y, null, null, ymino, null, ymaxo); -// new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, ymino, null, ymaxo); -// -// double textstartx = Predef.Double2double((Predef.intArrayOps(colourframe.colours())./:(scala.runtime.BoxesRunTime.boxToDouble((x.+(28))))) ({ -// case (acc, colour) => -// new GuiIcons.ArmourColourPatch(Predef.Double2double(acc), y, new Colour(colour), null, Predef.double2Double(ymino), null, Predef.double2Double(ymaxo)); -// Predef.double2Double(Predef.Double2double(acc).+(8)) -// })); +// public void drawSpecPartial(final double x, final double y, final ModelPartSpec spec, final double ymino, final double ymaxo) { +// final NBTTagCompound tag = this.getSpecTag(spec); +// final int selcomp = tag.hasNoTags() ? 0 : (spec.getGlow(tag) ? 2 : 1); +// final int selcolour = spec.getColourIndex(tag); +// new GuiIcons.TransparentArmor(x, y, null, null, Predef$.MODULE$.double2Double(ymino), null, Predef$.MODULE$.double2Double(ymaxo)); +// new GuiIcons.NormalArmor(x + 8, y, null, null, Predef$.MODULE$.double2Double(ymino), null, Predef$.MODULE$.double2Double(ymaxo)); +// new GuiIcons.GlowArmor(x + 16, y, null, null, Predef$.MODULE$.double2Double(ymino), null, Predef$.MODULE$.double2Double(ymaxo)); +// new GuiIcons.SelectedArmorOverlay(x + selcomp * 8, y, null, null, Predef$.MODULE$.double2Double(ymino), null, Predef$.MODULE$.double2Double(ymaxo)); +// final double textstartx = BoxesRunTime.unboxToDouble(Predef$.MODULE$.intArrayOps(this.colourframe().colours()).$div$colon((Object)BoxesRunTime.boxToDouble(x + 28), (Function2)new PartManipSubFrame$$anonfun.PartManipSubFrame$$anonfun$1(this, y, ymino, ymaxo))); // if (selcomp > 0) { -// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo) +// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, Predef$.MODULE$.double2Double(ymino), null, Predef$.MODULE$.double2Double(ymaxo)); // } -// MuseRenderer.drawString(spec.displayName, textstartx + 4, y) -// -// -// -// -// -// double textstartx = BoxesRunTime.unboxToDouble(Predef$.MODULE$.intArrayOps(this.colourframe.colours()).$div$colon((Object)BoxesRunTime.boxToDouble(x + 28), (Function2)new PartManipSubFrame$$anonfun.PartManipSubFrame$$anonfun$1(this, y, ymino, ymaxo))); -// -// -// -// -// if (selcomp > 0) { -// new GuiIcons.SelectedArmorOverlay(x + 28 + selcolour * 8, y, null, null, ymino, null, ymaxo); +// else { +// final BoxedUnit unit = BoxedUnit.UNIT; // } // MuseRenderer.drawString(spec.displayName(), textstartx + 4, y); // } // -// -// -// -// -// public void drawOpenArrow(double min, double max) { +// public void drawOpenArrow(final double min, final double max) { // RenderState.texturelessOn(); // Colour.LIGHTBLUE.doGL(); // GL11.glBegin(4); -// if (this.open) { -// GL11.glVertex2d(this.border.left() + 3, MuseMathUtils.clampDouble(this.border.top() + 3, min, max)); -// GL11.glVertex2d(this.border.left() + 5, MuseMathUtils.clampDouble(this.border.top() + 7, min, max)); -// GL11.glVertex2d(this.border.left() + 7, MuseMathUtils.clampDouble(this.border.top() + 3, min, max)); +// if (this.open()) { +// GL11.glVertex2d(this.border().left() + 3, MuseMathUtils.clampDouble(this.border().top() + 3, min, max)); +// GL11.glVertex2d(this.border().left() + 5, MuseMathUtils.clampDouble(this.border().top() + 7, min, max)); +// GL11.glVertex2d(this.border().left() + 7, MuseMathUtils.clampDouble(this.border().top() + 3, min, max)); // } // else { -// GL11.glVertex2d(this.border.left() + 3, MuseMathUtils.clampDouble(this.border.top() + 3, min, max)); -// GL11.glVertex2d(this.border.left() + 3, MuseMathUtils.clampDouble(this.border.top() + 7, min, max)); -// GL11.glVertex2d(this.border.left() + 7, MuseMathUtils.clampDouble(this.border.top() + 5, min, max)); +// GL11.glVertex2d(this.border().left() + 3, MuseMathUtils.clampDouble(this.border().top() + 3, min, max)); +// GL11.glVertex2d(this.border().left() + 3, MuseMathUtils.clampDouble(this.border().top() + 7, min, max)); +// GL11.glVertex2d(this.border().left() + 7, MuseMathUtils.clampDouble(this.border().top() + 5, min, max)); // } // GL11.glEnd(); // Colour.WHITE.doGL(); @@ -282,70 +628,66 @@ // } // // public MuseRect getBorder() { -// if (this.open) { -// this.border.setHeight(9 + 9 * this.specs.length); +// if (this.open()) { +// this.border().setHeight(9 + 9 * Predef$.MODULE$.refArrayOps((Object[])this.specs()).size()); // } // else { -// this.border.setHeight(9.0); +// this.border().setHeight(9.0); // } -// return this.border; +// return this.border(); // } // -// public boolean tryMouseClick(double x, double y) { +// public boolean tryMouseClick(final double x, final double y) { // boolean b; -// if (x < this.border.left() || x > this.border.right() || y < this.border.top() || y > this.border.bottom()) { +// if (x < this.border().left() || x > this.border().right() || y < this.border().top() || y > this.border().bottom()) { // b = false; // } -// else if (x > this.border.left() + 2 && x < this.border.left() + 8 && y > this.border.top() + 2 && y < this.border.top() + 8) { -// this.open =(!this.open); +// else if (x > this.border().left() + 2 && x < this.border().left() + 8 && y > this.border().top() + 2 && y < this.border().top() + 8) { +// this.open_$eq(!this.open()); // this.getBorder(); // b = true; // } -// else if (x < this.border.left() + 24 && y > this.border.top() + 8) { -// int lineNumber = (int)((y - this.border.top() - 8) / 8); -// int columnNumber = (int)((x - this.border.left()) / 8); -// -// -// //TODO: check this, it seems backwards; ie min should be 0 and max should be size -1 -//// val spec = specs(lineNumber.min(specs.size - 1).max(0)) -// ModelPartSpec spec = specs[Math.max(Math.min(lineNumber, specs.length - 1), 0)]; -// MuseLogger.logDebug("Line " + lineNumber + " Column " + columnNumber); +// else if (x < this.border().left() + 24 && y > this.border().top() + 8) { +// final int lineNumber = (int)((y - this.border().top() - 8) / 8); +// final int columnNumber = (int)((x - this.border().left()) / 8); +// final ModelPartSpec spec = specs[Math.max(Math.min(lineNumber, specs.length - 1), 0)]; +// MuseLogger.logDebug(new StringBuilder().append((Object)"Line ").append((Object)BoxesRunTime.boxToInteger(lineNumber)).append((Object)" Column ").append((Object)BoxesRunTime.boxToInteger(columnNumber)).toString()); // switch (columnNumber) { // default: { // b = false; // break; // } // case 2: { -// String tagname = ModelRegistry.makeName(spec); -// EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; -// NBTTagCompound tagdata = this.getOrMakeSpecTag(spec); +// final String tagname = ModelRegistry$.MODULE$.makeName(spec); +// final EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer; +// final NBTTagCompound tagdata = this.getOrMakeSpecTag(spec); // spec.setGlow(tagdata, true); // if (player.worldObj.isRemote) { -// PacketSender.sendToServer(new MusePacketCosmeticInfo(player, this.getSelectedItem().inventorySlot, tagname, tagdata).getPacket131()); +// PacketSender.sendToServer(new MusePacketCosmeticInfo((EntityPlayer)player, this.getSelectedItem().inventorySlot, tagname, tagdata).getPacket131()); // } // this.updateItems(); // b = true; // break; // } // case 1: { -// String tagname2 = ModelRegistry.makeName(spec); -// EntityClientPlayerMP player2 = Minecraft.getMinecraft().thePlayer; -// NBTTagCompound tagdata2 = this.getOrMakeSpecTag(spec); +// final String tagname2 = ModelRegistry$.MODULE$.makeName(spec); +// final EntityClientPlayerMP player2 = Minecraft.getMinecraft().thePlayer; +// final NBTTagCompound tagdata2 = this.getOrMakeSpecTag(spec); // spec.setGlow(tagdata2, false); // if (player2.worldObj.isRemote) { -// PacketSender.sendToServer(new MusePacketCosmeticInfo(player2, this.getSelectedItem().inventorySlot, tagname2, tagdata2).getPacket131()); +// PacketSender.sendToServer(new MusePacketCosmeticInfo((EntityPlayer)player2, this.getSelectedItem().inventorySlot, tagname2, tagdata2).getPacket131()); // } // this.updateItems(); // b = true; // break; // } // case 0: { -// NBTTagCompound renderTag = this.getRenderTag(); -// String tagname3 = ModelRegistry.makeName(spec); -// EntityClientPlayerMP player3 = Minecraft.getMinecraft().thePlayer; -// renderTag.removeTag(ModelRegistry.makeName(spec)); +// final NBTTagCompound renderTag = this.getRenderTag(); +// final String tagname3 = ModelRegistry$.MODULE$.makeName(spec); +// final EntityClientPlayerMP player3 = Minecraft.getMinecraft().thePlayer; +// renderTag.removeTag(ModelRegistry$.MODULE$.makeName(spec)); // if (player3.worldObj.isRemote) { -// PacketSender.sendToServer(new MusePacketCosmeticInfo(player3, this.getSelectedItem().inventorySlot, tagname3, new NBTTagCompound()).getPacket131()); +// PacketSender.sendToServer(new MusePacketCosmeticInfo((EntityPlayer)player3, this.getSelectedItem().inventorySlot, tagname3, new NBTTagCompound()).getPacket131()); // } // this.updateItems(); // b = true; @@ -353,13 +695,13 @@ // } // } // } -// else if (x > this.border.left() + 28 && x < this.border.left() + 28 + Predef$.MODULE$.intArrayOps(this.colourframe.colours()).size() * 8) { -// int lineNumber2 = (int)((y - this.border.top() - 8) / 8); -// int columnNumber2 = (int)((x - this.border.left() - 28) / 8); -// ModelPartSpec spec2 = specs[Math.max(Math.min(lineNumber2, specs.length - 1), 0)]; -// String tagname4 = ModelRegistry.makeName(spec2); -// EntityClientPlayerMP player4 = Minecraft.getMinecraft().thePlayer; -// NBTTagCompound tagdata3 = this.getOrMakeSpecTag(spec2); +// else if (x > this.border().left() + 28 && x < this.border().left() + 28 + Predef$.MODULE$.intArrayOps(this.colourframe().colours()).size() * 8) { +// final int lineNumber2 = (int)((y - this.border().top() - 8) / 8); +// final int columnNumber2 = (int)((x - this.border().left() - 28) / 8); +// final ModelPartSpec spec2 = specs[Math.max(Math.min(lineNumber2, specs.length - 1), 0)]; +// final String tagname4 = ModelRegistry$.MODULE$.makeName(spec2); +// final EntityClientPlayerMP player4 = Minecraft.getMinecraft().thePlayer; +// final NBTTagCompound tagdata3 = this.getOrMakeSpecTag(spec2); // spec2.setColourIndex(tagdata3, columnNumber2); // if (player4.worldObj.isRemote) { // PacketSender.sendToServer(new MusePacketCosmeticInfo((EntityPlayer)player4, this.getSelectedItem().inventorySlot, tagname4, tagdata3).getPacket131()); @@ -371,4 +713,6 @@ // } // return b; // } +// +// //} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/ArmorMorphTarget.java b/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/ArmorMorphTarget.java new file mode 100644 index 0000000..31a63d8 --- /dev/null +++ b/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/ArmorMorphTarget.java @@ -0,0 +1,72 @@ +//package net.machinemuse.powersuits.client.render.modelspec; +// +//import net.minecraft.client.model.ModelBiped; +//import net.minecraft.client.model.ModelRenderer; +// +///** +// * Ported to Java by lehjr on 11/5/16. +// */ +//public class ArmorMorphTarget { +// public interface MorphTarget { +// String name = null; +// float degrad = (float) (180F / Math.PI); +// +// ModelRenderer apply(ModelBiped m); +// } +// +// public static class Cloak implements MorphTarget { +// String name = "Cloak"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedCloak; +// } +// } +// +// public static class Head implements MorphTarget { +// String name = "Head"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedHead; +// } +// } +// +// public static class Body implements MorphTarget { +// String name = "Body"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedBody; +// } +// } +// +// public static class RightArm implements MorphTarget { +// String name = "RightArm"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedRightArm; +// } +// } +// +// public static class LeftArm implements MorphTarget { +// String name = "LeftArm"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedLeftArm; +// } +// } +// +// public static class RightLeg implements MorphTarget { +// String name = "RightLeg"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedRightLeg; +// } +// } +// +// public static class LeftLeg implements MorphTarget { +// String name = "LeftLeg"; +// +// public ModelRenderer apply(ModelBiped m) { +// return m.bipedLeftLeg; +// } +// } +//} \ No newline at end of file diff --git a/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/RenderPart.scala b/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/RenderPart.scala index 86dfc67..1d16ce1 100644 --- a/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/RenderPart.scala +++ b/src/main/scala/net/machinemuse/powersuits/client/render/modelspec/RenderPart.scala @@ -6,13 +6,14 @@ import net.machinemuse.numina.render.MuseTextureUtils import net.machinemuse.powersuits.client.render.item.ArmorModel import net.machinemuse.utils.render.Render import net.minecraft.client.model.{ModelBase, ModelRenderer} +import net.minecraft.client.renderer.{OpenGlHelper, RenderHelper} import net.minecraft.nbt.NBTTagCompound -import org.lwjgl.opengl.GL11._ +import org.lwjgl.opengl.GL11 /** - * Author: MachineMuse (Claire Semple) - * Created: 4:16 AM, 29/04/13 - */ + * Author: MachineMuse (Claire Semple) + * Created: 4:16 AM, 29/04/13 + */ class RenderPart(base: ModelBase, val parent: ModelRenderer) extends ModelRenderer(base) { override def render(scale: Float) { @@ -20,54 +21,61 @@ class RenderPart(base: ModelBase, val parent: ModelRenderer) extends ModelRender import scala.collection.JavaConverters._ val colours = renderSpec.getIntArray("colours") - for { - /* rember null checks when porting this section to Java */ + for (nbt <- NBTTagAccessor.getValues(renderSpec).asScala) { + val part = ModelRegistry.getPart(nbt) + if (part.isDefined) { + if (part.get.slot == ArmorModel.instance.visibleSection && part.get.morph.apply(ArmorModel.instance) == parent) { + var prevBrightX: Float = OpenGlHelper.lastBrightnessX; + var prevBrightY: Float = OpenGlHelper.lastBrightnessY; + // GLOW stuff on + if (part.get.getGlow(nbt)) { + GL11.glPushAttrib(GL11.GL_LIGHTING_BIT) + RenderHelper.disableStandardItemLighting() + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 240.0F) + } + GL11.glPushMatrix() + GL11.glScaled(scale, scale, scale) + MuseTextureUtils.bindTexture(part.get.getTexture(nbt)) + applyTransform() + val ix = part.get.getColourIndex(nbt) + if (ix < colours.size && ix >= 0) { + Colour.doGLByInt(colours(ix)) + } + part.get.modelSpec.applyOffsetAndRotation() // not yet implemented + part.get.modelSpec.model.renderPart(part.get.partName) + Colour.WHITE.doGL() + GL11.glPopMatrix() - nbt <- NBTTagAccessor.getValues(renderSpec).asScala - part <- ModelRegistry.getPart(nbt) - if part.slot == ArmorModel.instance.visibleSection - if part.morph.apply(ArmorModel.instance) == parent - } { - withMaybeGlow(part, nbt) { - Render.withPushedMatrix { - Render { - glScaled(scale, scale, scale) - MuseTextureUtils.bindTexture(part.getTexture(nbt)) - applyTransform() - val ix = part.getColourIndex(nbt) - if (ix < colours.size && ix >= 0) { - Colour.doGLByInt(colours(ix)) - } - part.modelSpec.applyOffsetAndRotation() // not yet implemented - part.modelSpec.model.renderPart(part.partName) - Colour.WHITE.doGL() + // GLOW stuff off + if (part.get.getGlow(nbt)) { + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevBrightX, prevBrightY) + GL11.glPopAttrib() } } - }.run() - + } } } val degrad = 180F / Math.PI.asInstanceOf[Float] - def withMaybeGlow[A](part: ModelPartSpec, nbt: NBTTagCompound)(r: Render[A]): Render[A] = { - if (part.getGlow(nbt)) { - Render withGlow r - } else { - r - } - } +// def withMaybeGlow[A](part: ModelPartSpec, nbt: NBTTagCompound)(r: Render[A]): Render[A] = { +// if (part.getGlow(nbt)) { +// Render withGlow r +// } else { +// r +// } +// } def applyTransform() { // glTranslatef(rotationPointX, rotationPointY, rotationPointZ) // glRotatef(rotateAngleZ * degrad, 0.0F, 0.0F, 1.0F) // glRotatef(rotateAngleY * degrad, 0.0F, 1.0F, 0.0F) // glRotatef(rotateAngleX * degrad, 1.0F, 0.0F, 0.0F) - glRotatef(180, 1.0F, 0.0F, 0.0F) + GL11.glRotatef(180, 1.0F, 0.0F, 0.0F) - glTranslated(offsetX, offsetY - 26, offsetZ) + GL11.glTranslated(offsetX, offsetY - 26, offsetZ) } } diff --git a/src/main/scala/net/machinemuse/powersuits/item/CustomRenderArmorBase.scala b/src/main/scala/net/machinemuse/powersuits/item/CustomRenderArmorBase.scala deleted file mode 100644 index d557a18..0000000 --- a/src/main/scala/net/machinemuse/powersuits/item/CustomRenderArmorBase.scala +++ /dev/null @@ -1,11 +0,0 @@ -//package net.machinemuse.powersuits.item -// -//import net.minecraft.item.ItemArmor -// -///** -// * Author: MachineMuse (Claire Semple) -// * Created: 8:09 PM, 4/23/13 -// */ -//trait CustomRenderArmorBase extends ItemArmor with IModularItemBase { -// -//} diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketColourInfo.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketColourInfo.scala index 60cff65..6421403 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketColourInfo.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketColourInfo.scala @@ -3,7 +3,7 @@ package net.machinemuse.powersuits.network.packets import java.io.DataInputStream import net.machinemuse.api.electricity.IModularItem -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.utils.MuseItemUtils import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} import net.minecraft.nbt.NBTTagCompound @@ -13,8 +13,8 @@ import net.minecraft.nbt.NBTTagCompound * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketColourInfo extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketColourInfo extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val itemSlot = readInt(d) val tagData = readIntArray(d) new MusePacketColourInfo(p, itemSlot, tagData) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketCosmeticInfo.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketCosmeticInfo.scala index cbb7ecd..4c23555 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketCosmeticInfo.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketCosmeticInfo.scala @@ -4,7 +4,7 @@ import java.io.DataInputStream import net.machinemuse.api.electricity.IModularItem import net.machinemuse.numina.general.MuseLogger -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.utils.MuseItemUtils import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} import net.minecraft.nbt.NBTTagCompound @@ -13,8 +13,8 @@ import net.minecraft.nbt.NBTTagCompound * Author: MachineMuse (Claire Semple) * Created: 10:16 AM, 01/05/13 */ -object MusePacketCosmeticInfo extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketCosmeticInfo extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val itemSlot = readInt(d) val tagName = readString(d) val tagData = readNBTTagCompound(d) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInstallModuleRequest.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInstallModuleRequest.scala index 9d49220..955dc71 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInstallModuleRequest.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInstallModuleRequest.scala @@ -7,7 +7,7 @@ import java.io.DataInputStream import java.util.{ArrayList, List} import net.machinemuse.api.{IPowerModule, ModuleManager} -import net.machinemuse.numina.network.{IMusePackager, MusePacket, PacketSender} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket, PacketSender} import net.machinemuse.utils.{ElectricItemUtils, MuseItemUtils} import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP, InventoryPlayer} import net.minecraft.item.ItemStack @@ -21,8 +21,8 @@ import net.minecraft.util.ChatComponentText * Created: 10:16 AM, 01/05/13 */ -object MusePacketInstallModuleRequest extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketInstallModuleRequest extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val itemSlot = readInt(d) val moduleName = readString(d) new MusePacketInstallModuleRequest(p, itemSlot, moduleName) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInventoryRefresh.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInventoryRefresh.scala index f0754b9..cafc276 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInventoryRefresh.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketInventoryRefresh.scala @@ -7,7 +7,7 @@ import java.io.DataInputStream import cpw.mods.fml.relauncher.{Side, SideOnly} import net.machinemuse.general.gui.MuseGui -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.numina.scala.OptionCast import net.minecraft.client.Minecraft import net.minecraft.client.entity.EntityClientPlayerMP @@ -20,8 +20,8 @@ import net.minecraft.item.ItemStack * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketInventoryRefresh extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketInventoryRefresh extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val itemSlot = readInt(d) val stack = readItemStack(d) new MusePacketInventoryRefresh(p, itemSlot, stack) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlasmaBolt.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlasmaBolt.scala index 3b40e7e..36c8507 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlasmaBolt.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlasmaBolt.scala @@ -3,7 +3,7 @@ package net.machinemuse.powersuits.network.packets import java.io.DataInputStream import cpw.mods.fml.relauncher.{Side, SideOnly} -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.powersuits.entity.EntityPlasmaBolt import net.minecraft.client.Minecraft import net.minecraft.client.entity.EntityClientPlayerMP @@ -13,8 +13,8 @@ import net.minecraft.entity.player.EntityPlayer * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketPlasmaBolt extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketPlasmaBolt extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val entityID = readInt(d) val size = readDouble(d) new MusePacketPlasmaBolt(p, entityID, size) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlayerUpdate.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlayerUpdate.scala index 868165a..b86323f 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlayerUpdate.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPlayerUpdate.scala @@ -2,7 +2,7 @@ package net.machinemuse.powersuits.network.packets import java.io.DataInputStream -import net.machinemuse.numina.network.{IMusePackager, MusePacket, PacketSender} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket, PacketSender} import net.machinemuse.powersuits.control.PlayerInputMap import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} @@ -11,8 +11,8 @@ import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketPlayerUpdate extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketPlayerUpdate extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val username = readString(d) val inputMap: PlayerInputMap = PlayerInputMap.getInputMapFor(username) inputMap.readFromStream(d) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPropertyModifierConfig.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPropertyModifierConfig.scala index 6d775d0..15ca8e7 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPropertyModifierConfig.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketPropertyModifierConfig.scala @@ -4,7 +4,7 @@ import java.io.DataInputStream import cpw.mods.fml.relauncher.{Side, SideOnly} import net.machinemuse.api.ModuleManager -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.powersuits.powermodule.{PowerModuleBase, PropertyModifierFlatAdditive, PropertyModifierLinearAdditive} import net.minecraft.client.entity.EntityClientPlayerMP import net.minecraft.entity.player.EntityPlayer @@ -13,8 +13,8 @@ import net.minecraft.entity.player.EntityPlayer * Author: MachineMuse (Claire Semple) * Created: 7:23 PM, 12/05/13 */ -object MusePacketPropertyModifierConfig extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketPropertyModifierConfig extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { new MusePacketPropertyModifierConfig(p, d) } } diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketSalvageModuleRequest.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketSalvageModuleRequest.scala index 42dc037..3a87ab4 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketSalvageModuleRequest.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketSalvageModuleRequest.scala @@ -7,7 +7,7 @@ import java.io.DataInputStream import java.util.{HashSet, List} import net.machinemuse.api.{IPowerModule, ModuleManager} -import net.machinemuse.numina.network.{IMusePackager, MusePacket, PacketSender} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket, PacketSender} import net.machinemuse.powersuits.common.Config import net.machinemuse.utils.MuseItemUtils import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP, InventoryPlayer} @@ -21,8 +21,8 @@ import net.minecraft.item.ItemStack * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketSalvageModuleRequest extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketSalvageModuleRequest extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val itemSlot = readInt(d) val moduleName = readString(d) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketToggleRequest.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketToggleRequest.scala index eac5e4e..1b40248 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketToggleRequest.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketToggleRequest.scala @@ -2,7 +2,7 @@ package net.machinemuse.powersuits.network.packets import java.io.DataInputStream -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.utils.MuseItemUtils import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} @@ -11,8 +11,8 @@ import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketToggleRequest extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketToggleRequest extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val module = readString(d) val value = readBoolean(d) diff --git a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketTweakRequest.scala b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketTweakRequest.scala index 3df52f5..86d95db 100644 --- a/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketTweakRequest.scala +++ b/src/main/scala/net/machinemuse/powersuits/network/packets/MusePacketTweakRequest.scala @@ -7,7 +7,7 @@ import java.io.DataInputStream import net.machinemuse.api.ModuleManager import net.machinemuse.numina.general.MuseMathUtils -import net.machinemuse.numina.network.{IMusePackager, MusePacket} +import net.machinemuse.numina.network.{IMusePackager, MusePackager, MusePacket} import net.machinemuse.utils.MuseItemUtils import net.minecraft.entity.player.{EntityPlayer, EntityPlayerMP} import net.minecraft.nbt.NBTTagCompound @@ -20,8 +20,8 @@ import net.minecraft.nbt.NBTTagCompound * Author: MachineMuse (Claire Semple) * Created: 12:28 PM, 5/6/13 */ -object MusePacketTweakRequest extends IMusePackager { - def read(d: DataInputStream, p: EntityPlayer) = { +object MusePacketTweakRequest extends MusePackager { + override def read(d: DataInputStream, p: EntityPlayer) = { val itemSlot = readInt(d) val moduleName = readString(d) val tweakName = readString(d)