Interact and Attack

This commit is contained in:
skippyall
2025-01-21 19:21:18 +01:00
parent fc70b2fe5a
commit 8007778c39
52 changed files with 249 additions and 234 deletions
@@ -3,8 +3,8 @@ package io.github.skippyall.minions.module;
import eu.pb4.sgui.api.elements.GuiElementBuilder;
import eu.pb4.sgui.api.gui.SimpleGui;
import io.github.skippyall.minions.command.CommandExecutor;
import io.github.skippyall.minions.fakeplayer.EntityPlayerActionPack;
import io.github.skippyall.minions.fakeplayer.MinionFakePlayer;
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
import io.github.skippyall.minions.input.TextInput;
import net.minecraft.item.Items;
import net.minecraft.screen.ScreenHandlerType;
@@ -51,11 +51,12 @@ public class ActionModules {
.setName(Text.translatable("minions.command.action.interval", actionName))
.setCallback(() -> executeInterval(actionType, player, minion))
);
gui.setSlot(3, new GuiElementBuilder()
gui.setSlot(4, new GuiElementBuilder()
.setItem(Items.BARRIER)
.setName(Text.translatable("minions.command.action.stop", actionName))
.setCallback(() -> executeStop(actionType, player, minion))
);
gui.open();
};
}
}
@@ -0,0 +1,33 @@
package io.github.skippyall.minions.module;
import io.github.skippyall.minions.Minions;
import io.github.skippyall.minions.command.SimpleCommand;
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
import net.minecraft.item.Items;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import java.util.List;
import static io.github.skippyall.minions.module.Modules.register;
public class AttackModule {
public static final SimpleCommand ATTACK_COMMAND = new SimpleCommand(
Text.translatable("minions.command.attack.name"),
Text.translatable("minions.command.attack.description"),
Items.DIAMOND_PICKAXE,
ActionModules.detailSelectionExecutor(EntityPlayerActionPack.ActionType.ATTACK, Text.translatable("minions.command.attack.name"))
);
public static final SimpleModuleItem ATTACK_MODULE = register(
Identifier.of(Minions.MOD_ID, "attack_module"),
List.of(),
List.of(ATTACK_COMMAND),
Items.DIAMOND_PICKAXE
);
public static void registerMe() {
}
}
@@ -2,6 +2,7 @@ package io.github.skippyall.minions.module;
import io.github.skippyall.minions.Minions;
import io.github.skippyall.minions.command.SimpleCommand;
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
import net.minecraft.item.Items;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
@@ -11,18 +12,22 @@ import java.util.List;
import static io.github.skippyall.minions.module.Modules.register;
public class InteractModule {
/*public static final SimpleCommand INTERACT_COMMAND =
new SimpleCommand(
Text.translatable()
)
public static final SimpleCommand INTERACT_COMMAND = new SimpleCommand(
Text.translatable("minions.command.interact.name"),
Text.translatable("minions.command.interact.description"),
Items.LEVER,
ActionModules.detailSelectionExecutor(EntityPlayerActionPack.ActionType.USE, Text.translatable("minions.command.interact.name"))
);
public static final SimpleModuleItem INTERACT_MODULE = register(
Identifier.of(Minions.MOD_ID, "interact_module"),
new SimpleModuleItem(
List.of(),
List.of(),
Items.LEVER
)
);*/
List.of(),
List.of(INTERACT_COMMAND),
Items.LEVER
);
public static void registerMe() {
}
}
@@ -1,7 +1,7 @@
package io.github.skippyall.minions.module;
import io.github.skippyall.minions.Minions;
import io.github.skippyall.minions.fakeplayer.MinionFakePlayer;
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
import net.minecraft.item.Items;
import net.minecraft.util.Identifier;
@@ -17,6 +17,8 @@ public class Modules {
MountModule.registerMe();
MoveModule.registerMe();
MobSpawningModule.registerMe();
InteractModule.registerMe();
AttackModule.registerMe();
}
public static <T extends Item & ModuleItem> T register(Identifier id, T item) {
@@ -1,24 +1,20 @@
package io.github.skippyall.minions.module;
import eu.pb4.polymer.core.api.item.PolymerItem;
import eu.pb4.polymer.core.api.item.SimplePolymerItem;
import io.github.skippyall.minions.command.Command;
import io.github.skippyall.minions.program.block.CodeBlock;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import xyz.nucleoid.packettweaker.PacketContext;
import java.util.List;
public class SimpleModuleItem extends Item implements PolymerItem, ModuleItem {
public class SimpleModuleItem extends SimplePolymerItem implements ModuleItem {
private final List<CodeBlock<?,?>> codeBlocks;
private final List<Command> commands;
private final Item vanillaItem;
public SimpleModuleItem(List<CodeBlock<?,?>> codeBlocks, List<Command> commands, Settings settings, Item vanillaItem) {
super(settings.maxCount(1));
super(settings.maxCount(1), vanillaItem);
this.codeBlocks = codeBlocks;
this.commands = commands;
this.vanillaItem = vanillaItem;
}
@Override
@@ -30,9 +26,4 @@ public class SimpleModuleItem extends Item implements PolymerItem, ModuleItem {
public List<Command> getCommands() {
return commands;
}
@Override
public Item getPolymerItem(ItemStack itemStack, PacketContext context) {
return vanillaItem;
}
}