Update
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
package io.github.skippyall.minions.module;
|
||||
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.module.command.SimpleCommand;
|
||||
import io.github.skippyall.minions.module.action.ActionModules;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
|
||||
import io.github.skippyall.minions.module.instruction.InstructionDisplay;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
@@ -12,7 +13,7 @@ import java.util.List;
|
||||
import static io.github.skippyall.minions.module.Modules.register;
|
||||
|
||||
public class AttackModule {
|
||||
public static final SimpleCommand ATTACK_COMMAND = new SimpleCommand(
|
||||
public static final InstructionDisplay ATTACK_COMMAND = new InstructionDisplay(
|
||||
Text.translatable("minions.command.attack.name"),
|
||||
Text.translatable("minions.command.attack.description"),
|
||||
Items.DIAMOND_PICKAXE,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.github.skippyall.minions.module;
|
||||
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.module.action.ActionModules;
|
||||
import io.github.skippyall.minions.module.command.SimpleCommand;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
package io.github.skippyall.minions.module;
|
||||
|
||||
import io.github.skippyall.minions.module.command.Command;
|
||||
import io.github.skippyall.minions.program.block.CodeBlock;
|
||||
import io.github.skippyall.minions.module.instruction.InstructionDisplay;
|
||||
import net.minecraft.item.ItemConvertible;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ModuleItem extends ItemConvertible {
|
||||
List<CodeBlock<?,?>> getCodeBlocks();
|
||||
|
||||
List<Command> getCommands();
|
||||
List<InstructionDisplay> getInstructions();
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package io.github.skippyall.minions.module;
|
||||
|
||||
import io.github.skippyall.minions.MinionItems;
|
||||
import io.github.skippyall.minions.module.command.Command;
|
||||
import io.github.skippyall.minions.module.instruction.InstructionDisplay;
|
||||
import io.github.skippyall.minions.new_program.instruction.Instruction;
|
||||
import io.github.skippyall.minions.program.block.CodeBlock;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.registry.Registries;
|
||||
@@ -22,7 +24,7 @@ public class Modules {
|
||||
AttackModule.registerMe();
|
||||
}
|
||||
|
||||
public static SimpleModuleItem register(Identifier id, List<CodeBlock<?,?>> codeBlocks, List<Command> commands, Item vanillaItem) {
|
||||
return MinionItems.registerItem(id, settings -> new SimpleModuleItem(codeBlocks, commands, settings, vanillaItem));
|
||||
public static SimpleModuleItem register(Identifier id, List<InstructionDisplay> instructions, Item vanillaItem) {
|
||||
return MinionItems.registerItem(id, settings -> new SimpleModuleItem(instructions, settings, vanillaItem));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,28 +2,23 @@ package io.github.skippyall.minions.module;
|
||||
|
||||
import eu.pb4.polymer.core.api.item.SimplePolymerItem;
|
||||
import io.github.skippyall.minions.module.command.Command;
|
||||
import io.github.skippyall.minions.module.instruction.InstructionDisplay;
|
||||
import io.github.skippyall.minions.new_program.instruction.Instruction;
|
||||
import io.github.skippyall.minions.program.block.CodeBlock;
|
||||
import net.minecraft.item.Item;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SimpleModuleItem extends SimplePolymerItem implements ModuleItem {
|
||||
private final List<CodeBlock<?,?>> codeBlocks;
|
||||
private final List<Command> commands;
|
||||
private final List<InstructionDisplay> instructions;
|
||||
|
||||
public SimpleModuleItem(List<CodeBlock<?,?>> codeBlocks, List<Command> commands, Settings settings, Item vanillaItem) {
|
||||
public SimpleModuleItem(List<InstructionDisplay> instructions, Settings settings, Item vanillaItem) {
|
||||
super(settings.maxCount(1), vanillaItem);
|
||||
this.codeBlocks = codeBlocks;
|
||||
this.commands = commands;
|
||||
this.instructions = instructions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CodeBlock<?, ?>> getCodeBlocks() {
|
||||
return codeBlocks;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Command> getCommands() {
|
||||
return commands;
|
||||
public List<InstructionDisplay> getInstructions() {
|
||||
return instructions;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-3
@@ -1,16 +1,18 @@
|
||||
package io.github.skippyall.minions.module;
|
||||
package io.github.skippyall.minions.module.action;
|
||||
|
||||
import eu.pb4.sgui.api.elements.GuiElementBuilder;
|
||||
import eu.pb4.sgui.api.gui.SimpleGui;
|
||||
import io.github.skippyall.minions.module.command.CommandExecutor;
|
||||
import io.github.skippyall.minions.input.TextInput;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.new_program.instruction.Instruction;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.screen.ScreenHandlerType;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ActionModules {
|
||||
public static void executeOnce(EntityPlayerActionPack.ActionType actionType, ServerPlayerEntity player, MinionFakePlayer minion) {
|
||||
minion.getMinionActionPack().start(actionType, EntityPlayerActionPack.Action.once());
|
||||
@@ -31,7 +33,11 @@ public class ActionModules {
|
||||
minion.getMinionActionPack().stop(actionType);
|
||||
}
|
||||
|
||||
public static CommandExecutor detailSelectionExecutor(EntityPlayerActionPack.ActionType actionType, Text actionName) {
|
||||
public static List<Instruction> actionInstruction(EntityPlayerActionPack.ActionType actionType, Text actionName) {
|
||||
return List.of(
|
||||
|
||||
)
|
||||
|
||||
return (player, minion) -> {
|
||||
SimpleGui gui = new SimpleGui(ScreenHandlerType.GENERIC_3X3, player, false);
|
||||
gui.setTitle(Text.translatable("minions.command.action.details", actionName));
|
||||
@@ -0,0 +1,9 @@
|
||||
package io.github.skippyall.minions.module.instruction;
|
||||
|
||||
import io.github.skippyall.minions.new_program.instruction.Instruction;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
public record InstructionDisplay(Text name, Text description, Item itemRepresentation, Instruction instruction) {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user