Files
CustomNPC-Plus/src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java
T

216 lines
6.9 KiB
Java
Raw Normal View History

2018-09-13 12:03:28 -04:00
package noppes.npcs.client.gui.model;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import noppes.npcs.ModelPartData;
import noppes.npcs.client.gui.util.GuiModelInterface;
import noppes.npcs.client.gui.util.GuiNpcButton;
import noppes.npcs.client.gui.util.GuiNpcLabel;
import noppes.npcs.entity.EntityCustomNpc;
public class GuiModelBody extends GuiModelInterface{
private GuiScreen parent;
2021-05-02 22:53:03 -04:00
private final String[] arrBodywear = new String[]{"gui.no","gui.yes"};
2021-04-27 11:56:36 -04:00
private final String[] arrWing = new String[]{"gui.no","Player","Type1","Type2","Type3","Type4","Type5","Type6","Type7","Type8","Type9",
"Type10","Type11","Type12","Type13"};
2018-09-13 12:03:28 -04:00
private final String[] arrBreasts = new String[]{"gui.no","Type1","Type2","Type3"};
private final String[] arrParticles = new String[]{"gui.no","Player","Type1","Type2", "Rainbow"};
2021-04-27 11:56:36 -04:00
private final String[] arrfins = new String[]{"gui.no","Player","Type1","Type2","Type3","Type4","Type5","Type6"};
private final String[] arrskirt = new String[]{"gui.no","Player","Type1"};
2018-09-13 12:03:28 -04:00
public GuiModelBody(GuiScreen parent, EntityCustomNpc npc){
super(npc);
this.parent = parent;
this.xOffset = 60;
}
@Override
public void initGui() {
super.initGui();
2021-05-02 22:53:03 -04:00
2018-09-13 12:03:28 -04:00
int y = guiTop + 20;
2021-05-02 22:53:03 -04:00
if (npc.display.modelType == 1 || npc.display.modelType == 2) {
addButton(new GuiNpcButton(8, guiLeft + 50, y += 22, 70, 20, arrBodywear, playerdata.bodywear));
addLabel(new GuiNpcLabel(8, "Bodywear", guiLeft, y + 5, 0xFFFFFF));
}
2018-09-13 12:03:28 -04:00
addButton(new GuiNpcButton(1, guiLeft + 50, y += 22, 70, 20, arrBreasts, playerdata.breasts));
addLabel(new GuiNpcLabel(1, "Breasts", guiLeft, y + 5, 0xFFFFFF));
ModelPartData wing = playerdata.getPartData("wings");
addButton(new GuiNpcButton(0, guiLeft + 50, y += 22, 70, 20, arrWing, wing == null?0:wing.type + 1));
addLabel(new GuiNpcLabel(0, "Wings", guiLeft, y + 5, 0xFFFFFF));
if(wing != null)
addButton(new GuiNpcButton(11, guiLeft + 122, y, 40, 20, wing.getColor()));
ModelPartData particles = playerdata.getPartData("particles");
addButton(new GuiNpcButton(2, guiLeft + 50, y += 22, 70, 20, arrParticles, getParticleIndex(particles)));
addLabel(new GuiNpcLabel(2, "Particles", guiLeft, y + 5, 0xFFFFFF));
if(particles != null && particles.type != 1)
addButton(new GuiNpcButton(12, guiLeft + 122, y, 40, 20, particles.getColor()));
ModelPartData fin = playerdata.getPartData("fin");
addButton(new GuiNpcButton(3, guiLeft + 50, y += 22, 70, 20, arrfins, getFinIndex(fin)));
addLabel(new GuiNpcLabel(3, "Fin", guiLeft, y + 5, 0xFFFFFF));
if(fin != null)
addButton(new GuiNpcButton(13, guiLeft + 122, y, 40, 20, fin.getColor()));
2021-04-27 11:56:36 -04:00
ModelPartData skirt = playerdata.getPartData("skirt");
addButton(new GuiNpcButton(4, guiLeft + 50, y += 22, 70, 20, arrskirt, getSkirtindex(skirt)));
addLabel(new GuiNpcLabel(4, "Skirt", guiLeft, y + 5, 0xFFFFFF));
if(skirt != null)
addButton(new GuiNpcButton(14, guiLeft + 122, y, 40, 20, skirt.getColor()));
2018-09-13 12:03:28 -04:00
}
private int getFinIndex(ModelPartData fin) {
2021-04-27 11:56:36 -04:00
if(fin == null)
return 0;
if(fin.type == 0){
if(fin.playerTexture)
return 1;
if(fin.texture.contains("1"))
return 2;
if(fin.texture.contains("2"))
return 3;
if(fin.texture.contains("3"))
return 4;
if(fin.texture.contains("4"))
return 5;
if(fin.texture.contains("5"))
return 6;
if(fin.texture.contains("6"))
return 7;
}
return 0;
2018-09-13 12:03:28 -04:00
}
2021-04-27 11:56:36 -04:00
private int getSkirtindex(ModelPartData skirt) {
if (skirt == null)
return 0;
if (skirt.type == 0) {
if (skirt.playerTexture)
return 1;
if (skirt.texture.contains("1"))
return 2;
}
return 0;
}
2018-09-13 12:03:28 -04:00
private int getParticleIndex(ModelPartData particles) {
if(particles == null)
return 0;
if(particles.type == 0){
if(particles.playerTexture)
return 1;
if(particles.texture.contains("1"))
return 2;
if(particles.texture.contains("2"))
return 3;
}
if(particles.type == 1){
return 4;
}
return 0;
}
@Override
protected void actionPerformed(GuiButton btn) {
super.actionPerformed(btn);
GuiNpcButton button = (GuiNpcButton) btn;
if(button.id == 0){
if(button.getValue() == 0)
playerdata.removePart("wings");
else{
ModelPartData data = playerdata.getOrCreatePart("wings");
if(button.getValue() > 1)
data.setTexture("wings/wing" + (button.getValue() - 1), button.getValue() - 1);
}
initGui();
}
if(button.id == 1){
playerdata.breasts = (byte) button.getValue();
}
if(button.id == 2){
int value = button.getValue();
if(value == 0)
playerdata.removePart("particles");
else{
ModelPartData particles = playerdata.getOrCreatePart("particles");
if(value == 1)
particles.setTexture("", 0);
if(value == 2)
particles.setTexture("particle/type1", 0);
if(value == 3)
particles.setTexture("particle/type2", 0);
if(value == 4)
particles.setTexture("", 1);
}
initGui();
}
if(button.id == 3){
2021-04-27 11:56:36 -04:00
int value = button.getValue();
if(value == 0)
playerdata.removePart("fin");
else{
ModelPartData particles = playerdata.getOrCreatePart("fin");
if(value == 1)
particles.setTexture("", 0);
if(value == 2)
particles.setTexture("fin/fin1", 0);
if(value == 3)
particles.setTexture("fin/fin2", 0);
if(value == 4)
particles.setTexture("fin/fin3", 0);
if(value == 5)
particles.setTexture("fin/fin4", 0);
if(value == 6)
particles.setTexture("fin/fin5", 0);
if(value == 7)
particles.setTexture("fin/fin6", 0);
}
initGui();
2018-09-13 12:03:28 -04:00
}
2021-04-27 11:56:36 -04:00
if(button.id == 4){
int value = button.getValue();
if(value == 0)
playerdata.removePart("skirt");
else{
ModelPartData particles = playerdata.getOrCreatePart("skirt");
if(value == 1)
particles.setTexture("", 0);
if(value == 2)
particles.setTexture("skirt/skirt1", 0);
}
initGui();
}
2021-05-02 22:53:03 -04:00
if(button.id == 8){
playerdata.bodywear = (byte) button.getValue();
}
2018-09-13 12:03:28 -04:00
if(button.id == 11){
this.mc.displayGuiScreen(new GuiModelColor(this, playerdata.getPartData("wings"), npc));
}
if(button.id == 12){
this.mc.displayGuiScreen(new GuiModelColor(this, playerdata.getPartData("particles"), npc));
}
if(button.id == 13){
this.mc.displayGuiScreen(new GuiModelColor(this, playerdata.getPartData("fin"), npc));
}
2021-04-27 11:56:36 -04:00
if(button.id == 14){
this.mc.displayGuiScreen(new GuiModelColor(this, playerdata.getPartData("skirt"), npc));
}
2018-09-13 12:03:28 -04:00
}
@Override
public void close(){
this.mc.displayGuiScreen(parent);
}
}