Skip to content

Commit 43d0fc9

Browse files
committed
reconstruct processors
1 parent 499c169 commit 43d0fc9

File tree

9 files changed

+49
-36
lines changed

9 files changed

+49
-36
lines changed

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/InfMachine/FinalIngotGenerator.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ public int[] getOutputSlots() {
5656
return new int[]{10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25};
5757
}
5858
HashMap<ItemStack,ItemStack> recipeMap=new HashMap(){{
59-
put(SlimefunItems.ALUMINUM_DUST,SlimefunItems.ALUMINUM_INGOT);
60-
put(SlimefunItems.COPPER_DUST,SlimefunItems.COPPER_INGOT);
61-
put(SlimefunItems.TIN_DUST,SlimefunItems.TIN_INGOT);
62-
put(SlimefunItems.LEAD_DUST,SlimefunItems.LEAD_INGOT);
63-
put( SlimefunItems.GOLD_DUST,SlimefunItems.GOLD_4K);
64-
put(SlimefunItems.MAGNESIUM_DUST,SlimefunItems.MAGNESIUM_INGOT);
65-
put(SlimefunItems.SILVER_DUST,SlimefunItems.SILVER_INGOT);
59+
put(SlimefunItems.ALUMINUM_DUST,new ItemStack( SlimefunItems.ALUMINUM_INGOT));
60+
put(SlimefunItems.COPPER_DUST,new ItemStack(SlimefunItems.COPPER_INGOT));
61+
put(SlimefunItems.TIN_DUST,new ItemStack(SlimefunItems.TIN_INGOT));
62+
put(SlimefunItems.LEAD_DUST,new ItemStack(SlimefunItems.LEAD_INGOT));
63+
put( SlimefunItems.GOLD_DUST,new ItemStack(SlimefunItems.GOLD_4K));
64+
put(SlimefunItems.MAGNESIUM_DUST,new ItemStack(SlimefunItems.MAGNESIUM_INGOT));
65+
put(SlimefunItems.SILVER_DUST,new ItemStack(SlimefunItems.SILVER_INGOT));
6666
put(SlimefunItems.IRON_DUST,new ItemStack(Material.IRON_INGOT));
67-
put(SlimefunItems.ZINC_DUST,SlimefunItems.ZINC_INGOT);
67+
put(SlimefunItems.ZINC_DUST,new ItemStack(SlimefunItems.ZINC_INGOT));
6868
}};
6969
@Override
7070
protected void findNextRecipe(BlockMenu inv) {

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/InfMachine/ShineAndDarkConstructor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public int[] getOutputSlots() {
6969
public int threshold=1;
7070
public ItemStack outDark=new ItemStack(MomotechItem.dark);
7171
public ItemStack outShine=new ItemStack(MomotechItem.shine);
72-
public ItemStack outShell=new ItemStack(MomotechItem.shine);
72+
public ItemStack outShell=new ItemStack(MomotechItem.empty_shell);
7373
@Override
7474
protected boolean findNextRecipe(BlockMenu inv) {
7575
return MachineUtils.consumeAndPushSimple(inv,getInputSlots(),getOutputSlots(),(item)->{

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/Machine/DigitalConstructor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public int[] getOutputSlots() {
6868
}
6969
RandomizedItemStack digitals=new RandomizedItemStack(new ArrayList<ItemStack>(){{
7070
for(int i=0;i<=10;++i){
71-
add(MomotechItem.digital(i));
71+
add(new ItemStack(MomotechItem.digital(i)));
7272
}
7373
}}.stream().toArray(ItemStack[]::new));
7474
@Override

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/Machine/EmptyShellGenerator_I.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public int[] getInputSlots() {
5151
public int[] getOutputSlots() {
5252
return new int[]{0, 1, 2, 3, 4, 5, 6, 7};
5353
}
54-
ItemStack output= new SlimefunItemStack(MomotechItem.empty_shell, 64);
54+
ItemStack output= new CustomItemStack(MomotechItem.empty_shell, 64);
5555
@Override
5656
protected void findNextRecipe(BlockMenu inv) {
5757
//if (Utils.checkOutput(inv, getOutputSlots())) return;

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/Machine/Increment.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,23 @@ private ItemStack out(String b, String a) {
8989
}
9090

9191
protected void findNextRecipe(BlockMenu inv) {
92-
if (Utils.checkOutput(inv, getOutputSlots())) return;
93-
if (inv.getItemInSlot(getInputSlots()[0]) == null || inv.getItemInSlot(getInputSlots()[1]) == null) return;
94-
for (int i : getInputSlots()) {
95-
if (Utils.checkCombinator(inv.getItemInSlot(i))) return;
92+
if(inv.getItemInSlot(16)!=null){
93+
return;
9694
}
9795
ItemStack it1 = inv.getItemInSlot(getInputSlots()[0]),
9896
it2 = inv.getItemInSlot(getInputSlots()[1]);
99-
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it1).orElseGet(()->"")))
100-
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it2).orElseGet(()->""))) {
101-
for (int i : getInputSlots()) inv.consumeItem(i, 1);
97+
if(it1==null||it2==null){
98+
return;
99+
}
100+
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it1).orElseGet(()->null)))
101+
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it2).orElseGet(()->null))) {
102102
ItemMeta meta1 = it1.getItemMeta(), meta2 = it2.getItemMeta();
103103
List<String> lore1 = Utils.getLore(meta1);
104104
List<String> lore2 = Utils.getLore(meta2);
105105
ItemStack ans = out(lore1.get(0).substring(lore1.get(0).indexOf('f') + 1), lore2.get(0).substring(lore2.get(0).indexOf('f') + 1));
106-
inv.pushItem(ans.clone(), getOutputSlots());
106+
it1.setAmount(it1.getAmount() - 1);
107+
it2.setAmount(it2.getAmount() - 1);
108+
inv.replaceExistingItem(16,ans);
107109
}
108110
}
109111

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/Machine/NoneGenerator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ protected void findNextRecipe(BlockMenu inv) {
8585
}
8686
}
8787
}
88-
8988
if(pass){
9089
loop:
9190
for(int i=0;i<stacks.length;i++){

src/main/java/cn/qy/MomoTech/Items/Machines/BasicMachine/Machine/OrdinaryNumberCombinator.java

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public static String check1(ItemStack it) {
4040
if (SlimefunUtils.isItemSimilar(it, Items.MOMOTECH_SYMBOL_DIVISION, false, false)) return "/";
4141
if (SlimefunUtils.isItemSimilar(it, Items.MOMOTECH_SYMBOL_MULTIPLICATION, false, false)) return "*";
4242
if (SlimefunUtils.isItemSimilar(it, Items.MOMOTECH_SYMBOL_SUBTRACTION, false, false)) return "-";
43-
return "";
43+
return null;
4444
}
4545

4646
@NotNull
@@ -102,25 +102,30 @@ private ItemStack out(String a, String b, String c) {
102102
}
103103

104104
protected void findNextRecipe(BlockMenu inv) {
105-
if (Utils.checkOutput(inv, getOutputSlots())) return;
106-
for (int i : getInputSlots()) {
107-
if (inv.getItemInSlot(i) == null) return;
108-
if (Utils.checkCombinator(inv.getItemInSlot(i))) return;
105+
if(inv.getItemInSlot(16)!=null){
106+
return;
107+
}
108+
ItemStack it1 = inv.getItemInSlot(getInputSlots()[0]),
109+
it2 = inv.getItemInSlot(getInputSlots()[1]),
110+
it3 = inv.getItemInSlot(getInputSlots()[2]);
111+
if(it1==null||it2==null||it3==null){
112+
return;
109113
}
110-
ItemStack it1 = inv.getItemInSlot(getInputSlots()[0]).clone(),
111-
it2 = inv.getItemInSlot(getInputSlots()[1]).clone(),
112-
it3 = inv.getItemInSlot(getInputSlots()[2]).clone();
113114
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it1).orElseGet(()->"")))
114-
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it3).orElseGet(()->"")))
115-
if (check(it2)) {
116-
for (int i : getInputSlots()) inv.consumeItem(i, 1);
115+
if ("MOMOTECH_DIGITAL".equals(Slimefun.getItemDataService().getItemData(it3).orElseGet(()->""))){
116+
String symbol=check1(it2);
117+
if (symbol!=null) {
117118
ItemMeta meta1 = it1.getItemMeta(), meta2 = it3.getItemMeta();
118119
List<String> lore1 = Utils.getLore(meta1);
119120
List<String> lore2 = Utils.getLore(meta2);
120-
ItemStack ans = out(lore1.get(0).substring(lore1.get(0).indexOf('f') + 1), lore2.get(0).substring(lore2.get(0).indexOf('f') + 1), check1(it2));
121-
122-
inv.pushItem(ans.clone(), 16);
121+
ItemStack ans = out(lore1.get(0).substring(lore1.get(0).indexOf('f') + 1), lore2.get(0).substring(lore2.get(0).indexOf('f') + 1),symbol);
122+
it1.setAmount(it1.getAmount()-1);
123+
it2.setAmount(it2.getAmount()-1);
124+
it3.setAmount(it3.getAmount()-1);
125+
inv.replaceExistingItem(16,ans);
126+
//inv.pushItem(ans.clone(), 16);
123127
}
128+
}
124129
}
125130

126131
@NotNull

src/main/java/cn/qy/MomoTech/MomoTech.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import cn.qy.MomoTech.tasks.ItemRegisterTask;
55
import cn.qy.MomoTech.tasks.MachineRegisterTask;
66
import io.github.thebusybiscuit.slimefun4.api.SlimefunAddon;
7+
import io.github.thebusybiscuit.slimefun4.libraries.dough.config.Config;
78
import org.bukkit.Server;
89
import org.bukkit.plugin.java.JavaPlugin;
910
import org.jetbrains.annotations.NotNull;
@@ -19,7 +20,9 @@ public class MomoTech extends JavaPlugin implements SlimefunAddon {
1920
public static int playerNumber;
2021
public static int seed;
2122
private static MomoTech instance;
22-
23+
public static Config config;
24+
public static boolean autoUpdate = false;
25+
public static boolean enableCopierWhitelist=false;
2326
public static MomoTech getInstance() {
2427
return instance;
2528
}
@@ -46,6 +49,9 @@ public void onEnable() {
4649
getLogger().info("----------------------------");
4750
getLogger().info("载入附属中...");
4851
instance = this;
52+
config=new Config(this);
53+
autoUpdate = config.getOrSetDefault("options.auto-update",true);
54+
enableCopierWhitelist = config.getOrSetDefault("options.enable-copier-whitelist",false);
4955
getLogger().info("开始注册监听器");
5056
getServer().getPluginManager().registerEvents(new Listeners(), this);
5157
getLogger().info("监听器注册成功");

src/main/resources/config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
options:
2-
auto-update: true
2+
auto-update: true
3+
enable-copier-whitelist: false

0 commit comments

Comments
 (0)