diff options
Diffstat (limited to 'src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit')
12 files changed, 0 insertions, 1583 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditBreakableWall.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditBreakableWall.java deleted file mode 100755 index 04ae7643..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditBreakableWall.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonBreakableWall; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.init.Blocks; - -import java.awt.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Collections; - -public class ValueEditBreakableWall extends MPanel implements ValueEdit<DungeonBreakableWall> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonBreakableWall dungeonBreakableWall; - - private final MLabel label; - private final MValue<OffsetPointSet> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - private final MButton updateOnlyAir; - - public ValueEditBreakableWall(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonBreakableWall = (DungeonBreakableWall) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Wall Points"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonBreakableWall.getSecretPoint(), Collections.emptyList()); - add(value); - - updateOnlyAir = new MButton(); - updateOnlyAir.setText("Update Air"); - updateOnlyAir.setBackgroundColor(Color.green); - updateOnlyAir.setForeground(Color.black); - updateOnlyAir.setBounds(new Rectangle(0,40,getBounds().width, 20)); - add(updateOnlyAir); - updateOnlyAir.setOnActionPerformed(new Runnable() { - @Override - public void run() { - OffsetPointSet ofs = dungeonBreakableWall.getSecretPoint(); - List<OffsetPoint> filtered = new ArrayList<OffsetPoint>(); - for (OffsetPoint offsetPoint : ofs.getOffsetPointList()) { - if (offsetPoint.getBlock(EditingContext.getEditingContext().getRoom()) != Blocks.air) continue; - filtered.add(offsetPoint); - } - dungeonBreakableWall.getSecretPoint().setOffsetPointList(filtered); - } - }); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonBreakableWall.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonBreakableWall.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - updateOnlyAir.setBounds(new Rectangle(0,40,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,60,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonBreakableWall.highlight(new Color(0,255,255,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditBreakableWall> { - - @Override - public ValueEditBreakableWall createValueEdit(Parameter parameter) { - return new ValueEditBreakableWall(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonBreakableWall(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonBreakableWall)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditDoor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditDoor.java deleted file mode 100755 index 0fc7de4c..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditDoor.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonDoor; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.init.Blocks; - -import java.awt.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -public class ValueEditDoor extends MPanel implements ValueEdit<DungeonDoor> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonDoor dungeonDoor; - - private final MLabel label; - private final MValue<OffsetPointSet> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite_par; - private final MTextField preRequisite2; - private final MLabelAndElement preRequisite2_par; - private final MButton updateOnlyAir; - - public ValueEditDoor(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonDoor = (DungeonDoor) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Wall Points"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonDoor.getSecretPoint(), Collections.emptyList()); - add(value); - - updateOnlyAir = new MButton(); - updateOnlyAir.setText("Update Air"); - updateOnlyAir.setBackgroundColor(Color.green); - updateOnlyAir.setForeground(Color.black); - updateOnlyAir.setBounds(new Rectangle(0,40,getBounds().width, 20)); - add(updateOnlyAir); - updateOnlyAir.setOnActionPerformed(new Runnable() { - @Override - public void run() { - OffsetPointSet ofs = dungeonDoor.getSecretPoint(); - List<OffsetPoint> filtered = new ArrayList<OffsetPoint>(); - for (OffsetPoint offsetPoint : ofs.getOffsetPointList()) { - if (offsetPoint.getBlock(EditingContext.getEditingContext().getRoom()) != Blocks.air) continue; - filtered.add(offsetPoint); - } - dungeonDoor.getSecretPoint().setOffsetPointList(filtered); - } - }); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonDoor.setOpenPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonDoor.getOpenPreRequisite(), ",")); - preRequisite_par = new MLabelAndElement("Open Req.",preRequisite); - preRequisite_par.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(preRequisite_par); - - preRequisite2 = new MTextField() { - @Override - public void edit(String str) { - dungeonDoor.setClosePreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite2.setText(TextUtils.join(dungeonDoor.getClosePreRequisite(), ",")); - preRequisite2_par = new MLabelAndElement("Close Req.",preRequisite2); - preRequisite2_par.setBounds(new Rectangle(0,80,getBounds().width,20)); - add(preRequisite2_par); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - updateOnlyAir.setBounds(new Rectangle(0,40,getBounds().width, 20)); - preRequisite_par.setBounds(new Rectangle(0,60,getBounds().width,20)); - preRequisite2_par.setBounds(new Rectangle(0,80,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonDoor.highlight(new Color(0,255,255,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditDoor> { - - @Override - public ValueEditDoor createValueEdit(Parameter parameter) { - return new ValueEditDoor(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonDoor(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonDoor)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditDummy.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditDummy.java deleted file mode 100755 index 7c211b52..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditDummy.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonDummy; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonNPC; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabelAndElement; -import kr.syeyoung.dungeonsguide.gui.elements.MTextField; -import kr.syeyoung.dungeonsguide.gui.elements.MValue; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditDummy extends MPanel implements ValueEdit<DungeonDummy> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonDummy dungeonSecret; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - - public ValueEditDummy(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonSecret = (DungeonDummy) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Dummy Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonSecret.getSecretPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonSecret.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonSecret.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonSecret.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditDummy> { - - @Override - public ValueEditDummy createValueEdit(Parameter parameter) { - return new ValueEditDummy(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonDummy(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonDummy)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditFairySoul.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditFairySoul.java deleted file mode 100755 index 7ac9ac1a..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditFairySoul.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonFairySoul; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonSecret; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditFairySoul extends MPanel implements ValueEdit<DungeonFairySoul> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonFairySoul dungeonSecret; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - - public ValueEditFairySoul(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonSecret = (DungeonFairySoul) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("FairySoul Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonSecret.getSecretPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonSecret.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonSecret.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonSecret.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditFairySoul> { - - @Override - public ValueEditFairySoul createValueEdit(Parameter parameter) { - return new ValueEditFairySoul(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonFairySoul(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonFairySoul)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditJournal.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditJournal.java deleted file mode 100755 index f56b1630..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditJournal.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonFairySoul; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonJournal; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabelAndElement; -import kr.syeyoung.dungeonsguide.gui.elements.MTextField; -import kr.syeyoung.dungeonsguide.gui.elements.MValue; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - - -public class ValueEditJournal extends MPanel implements ValueEdit<DungeonJournal> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonJournal dungeonSecret; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - - public ValueEditJournal(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonSecret = (DungeonJournal) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Journal Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonSecret.getSecretPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonSecret.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonSecret.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonSecret.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditJournal> { - - @Override - public ValueEditJournal createValueEdit(Parameter parameter) { - return new ValueEditJournal(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonJournal(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonJournal)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditLever.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditLever.java deleted file mode 100755 index aaeb607f..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditLever.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonLever; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditLever extends MPanel implements ValueEdit<DungeonLever> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonLever dungeonLever; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - private final MTextField target; - private final MLabelAndElement target2; - - public ValueEditLever(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonLever = (DungeonLever) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Secret Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonLever.getLeverPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonLever.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonLever.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - - - target = new MTextField() { - @Override - public void edit(String str) { - dungeonLever.setTriggering(str); - } - }; - target.setText(dungeonLever.getTriggering()); - target2 = new MLabelAndElement("Target",target); - target2.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(target2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - target2.setBounds(new Rectangle(0,60,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonLever.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditLever> { - - @Override - public ValueEditLever createValueEdit(Parameter parameter) { - return new ValueEditLever(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonLever(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonLever)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditNPC.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditNPC.java deleted file mode 100755 index 4146b491..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditNPC.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonFairySoul; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonNPC; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonSecret; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabelAndElement; -import kr.syeyoung.dungeonsguide.gui.elements.MTextField; -import kr.syeyoung.dungeonsguide.gui.elements.MValue; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditNPC extends MPanel implements ValueEdit<DungeonNPC> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonNPC dungeonSecret; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - - public ValueEditNPC(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonSecret = (DungeonNPC) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("NPC Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonSecret.getSecretPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonSecret.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonSecret.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonSecret.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditNPC> { - - @Override - public ValueEditNPC createValueEdit(Parameter parameter) { - return new ValueEditNPC(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonNPC(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonNPC)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditOnewayDoor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditOnewayDoor.java deleted file mode 100755 index ede6ee43..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditOnewayDoor.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonOnewayDoor; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.init.Blocks; - -import java.awt.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -public class ValueEditOnewayDoor extends MPanel implements ValueEdit<DungeonOnewayDoor> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonOnewayDoor dungeonDoor; - - private final MLabel label; - private final MValue<OffsetPointSet> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - private final MButton updateOnlyAir; - - public ValueEditOnewayDoor(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonDoor = (DungeonOnewayDoor) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Wall Points"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonDoor.getSecretPoint(), Collections.emptyList()); - add(value); - - updateOnlyAir = new MButton(); - updateOnlyAir.setText("Update Air"); - updateOnlyAir.setBackgroundColor(Color.green); - updateOnlyAir.setForeground(Color.black); - updateOnlyAir.setBounds(new Rectangle(0,40,getBounds().width, 20)); - add(updateOnlyAir); - updateOnlyAir.setOnActionPerformed(new Runnable() { - @Override - public void run() { - OffsetPointSet ofs = dungeonDoor.getSecretPoint(); - List<OffsetPoint> filtered = new ArrayList<OffsetPoint>(); - for (OffsetPoint offsetPoint : ofs.getOffsetPointList()) { - if (offsetPoint.getBlock(EditingContext.getEditingContext().getRoom()) != Blocks.air) continue; - filtered.add(offsetPoint); - } - dungeonDoor.getSecretPoint().setOffsetPointList(filtered); - } - }); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonDoor.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonDoor.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - updateOnlyAir.setBounds(new Rectangle(0,40,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,60,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonDoor.highlight(new Color(0,255,255,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditOnewayDoor> { - - @Override - public ValueEditOnewayDoor createValueEdit(Parameter parameter) { - return new ValueEditOnewayDoor(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonOnewayDoor(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonOnewayDoor)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditOnewayLever.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditOnewayLever.java deleted file mode 100755 index 2a15adad..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditOnewayLever.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonOnewayLever; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.MLabel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabelAndElement; -import kr.syeyoung.dungeonsguide.gui.elements.MTextField; -import kr.syeyoung.dungeonsguide.gui.elements.MValue; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditOnewayLever extends MPanel implements ValueEdit<DungeonOnewayLever> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonOnewayLever dungeonLever; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - private final MTextField target; - private final MLabelAndElement target2; - - - public ValueEditOnewayLever(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonLever = (DungeonOnewayLever) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Secret Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonLever.getLeverPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonLever.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonLever.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - - - target = new MTextField() { - @Override - public void edit(String str) { - dungeonLever.setTriggering(str); - } - }; - target.setText(dungeonLever.getTriggering()); - target2 = new MLabelAndElement("Target",target); - target2.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(target2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - target2.setBounds(new Rectangle(0,60,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonLever.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditOnewayLever> { - - @Override - public ValueEditOnewayLever createValueEdit(Parameter parameter) { - return new ValueEditOnewayLever(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonOnewayLever(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonOnewayLever)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditPressurePlate.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditPressurePlate.java deleted file mode 100755 index 99d60baa..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditPressurePlate.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonPressurePlate; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.MLabel; -import kr.syeyoung.dungeonsguide.gui.elements.MLabelAndElement; -import kr.syeyoung.dungeonsguide.gui.elements.MTextField; -import kr.syeyoung.dungeonsguide.gui.elements.MValue; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditPressurePlate extends MPanel implements ValueEdit<DungeonPressurePlate> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonPressurePlate dungeonPressureplate; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - private final MTextField target; - private final MLabelAndElement target2; - - - public ValueEditPressurePlate(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonPressureplate = (DungeonPressurePlate) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Secret Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonPressureplate.getPlatePoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonPressureplate.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonPressureplate.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - - - target = new MTextField() { - @Override - public void edit(String str) { - dungeonPressureplate.setTriggering(str); - } - }; - target.setText(dungeonPressureplate.getTriggering()); - target2 = new MLabelAndElement("Target",target); - target2.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(target2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - target2.setBounds(new Rectangle(0,60,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonPressureplate.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditPressurePlate> { - - @Override - public ValueEditPressurePlate createValueEdit(Parameter parameter) { - return new ValueEditPressurePlate(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonPressurePlate(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonPressurePlate)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditSecret.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditSecret.java deleted file mode 100755 index 72cb410b..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditSecret.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonSecret; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditSecret extends MPanel implements ValueEdit<DungeonSecret> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonSecret dungeonSecret; - - private final MLabel label; - private final MValue<OffsetPoint> value; - private final MStringSelectionButton selectionButton; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - - public ValueEditSecret(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonSecret = (DungeonSecret) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Secret Point"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonSecret.getSecretPoint(), Collections.emptyList()); - add(value); - - selectionButton = new MStringSelectionButton(Arrays.asList("CHEST", "BAT", "ITEM_DROP", "ESSENCE"), dungeonSecret.getSecretType().name()); - selectionButton.setOnUpdate(new Runnable() { - @Override - public void run() { - dungeonSecret.setSecretType(DungeonSecret.SecretType.valueOf(selectionButton.getSelected())); - } - }); - add(selectionButton); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonSecret.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonSecret.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,60,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - selectionButton.setBounds(new Rectangle(0,40,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,60,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonSecret.highlight(new Color(0,255,0,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditSecret> { - - @Override - public ValueEditSecret createValueEdit(Parameter parameter) { - return new ValueEditSecret(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonSecret(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonSecret)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditTomb.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditTomb.java deleted file mode 100755 index 042a8258..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/mechanicedit/ValueEditTomb.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.roomedit.mechanicedit; - -import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonTomb; -import kr.syeyoung.dungeonsguide.roomedit.EditingContext; -import kr.syeyoung.dungeonsguide.gui.MPanel; -import kr.syeyoung.dungeonsguide.roomedit.Parameter; -import kr.syeyoung.dungeonsguide.gui.elements.*; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEdit; -import kr.syeyoung.dungeonsguide.roomedit.valueedit.ValueEditCreator; -import kr.syeyoung.dungeonsguide.utils.TextUtils; - -import java.awt.*; -import java.util.Arrays; -import java.util.Collections; - -public class ValueEditTomb extends MPanel implements ValueEdit<DungeonTomb> { - private Parameter parameter; - - // scroll pane - // just create - // add set - private final DungeonTomb dungeonTomb; - - private final MLabel label; - private final MValue<OffsetPointSet> value; - private final MTextField preRequisite; - private final MLabelAndElement preRequisite2; - - public ValueEditTomb(final Parameter parameter2) { - this.parameter = parameter2; - this.dungeonTomb = (DungeonTomb) parameter2.getNewData(); - - - label = new MLabel(); - label.setText("Tomb Points"); - label.setAlignment(MLabel.Alignment.LEFT); - add(label); - - value = new MValue(dungeonTomb.getSecretPoint(), Collections.emptyList()); - add(value); - - preRequisite = new MTextField() { - @Override - public void edit(String str) { - dungeonTomb.setPreRequisite(Arrays.asList(str.split(","))); - } - }; - preRequisite.setText(TextUtils.join(dungeonTomb.getPreRequisite(), ",")); - preRequisite2 = new MLabelAndElement("Req.",preRequisite); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - add(preRequisite2); - } - - @Override - public void onBoundsUpdate() { - label.setBounds(new Rectangle(0,0,getBounds().width, 20)); - value.setBounds(new Rectangle(0,20,getBounds().width, 20)); - preRequisite2.setBounds(new Rectangle(0,40,getBounds().width,20)); - } - - @Override - public void setParameter(Parameter parameter) { - this.parameter = parameter; - } - - @Override - public void renderWorld(float partialTicks) { - dungeonTomb.highlight(new Color(0,255,255,50), parameter.getName(), EditingContext.getEditingContext().getRoom(), partialTicks); - } - - @Override - public void resize(int parentWidth, int parentHeight) { - this.setBounds(new Rectangle(0,0,parentWidth, parentHeight)); - } - - public static class Generator implements ValueEditCreator<ValueEditTomb> { - - @Override - public ValueEditTomb createValueEdit(Parameter parameter) { - return new ValueEditTomb(parameter); - } - - @Override - public Object createDefaultValue(Parameter parameter) { - return new DungeonTomb(); - } - - @Override - public Object cloneObj(Object object) { - try { - return ((DungeonTomb)object).clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - assert false; - return null; - } - } -} |