Refactoring
This commit is contained in:
@@ -22,7 +22,7 @@ public class MinionMixinConfigPlugin implements IMixinConfigPlugin {
|
||||
@Override
|
||||
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
|
||||
if(mixinClassName.startsWith("io.github.skippyall.mixins.compat.universal_graves.")) {
|
||||
return FabricLoader.getInstance().isModLoaded("universal-universal_graves");
|
||||
return FabricLoader.getInstance().isModLoaded("universal-graves");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2,21 +2,9 @@ package io.github.skippyall.minions;
|
||||
|
||||
import eu.pb4.polymer.resourcepack.api.PolymerResourcePackUtils;
|
||||
import io.github.skippyall.minions.command.MinionsCommand;
|
||||
import io.github.skippyall.minions.gui.GuiDisplay;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.minion.MinionData;
|
||||
import io.github.skippyall.minions.minion.MinionPersistentState;
|
||||
import io.github.skippyall.minions.minion.skin.SkinProviders;
|
||||
import io.github.skippyall.minions.module.MinionModule;
|
||||
import io.github.skippyall.minions.program.instruction.Instructions;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSuppliers;
|
||||
import io.github.skippyall.minions.program.value.ValueTypes;
|
||||
import io.github.skippyall.minions.reference.Reference;
|
||||
import io.github.skippyall.minions.registration.MinionBlocks;
|
||||
import io.github.skippyall.minions.registration.MinionCreativeTab;
|
||||
import io.github.skippyall.minions.registration.MinionItems;
|
||||
import io.github.skippyall.minions.registration.MinionRegistration;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.util.PolymerUtil;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
||||
@@ -31,21 +19,6 @@ public class Minions implements ModInitializer {
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
MinionRegistries.register();
|
||||
|
||||
Instructions.register();
|
||||
ValueSuppliers.register();
|
||||
ValueTypes.register();
|
||||
SkinProviders.register();
|
||||
GuiDisplay.register();
|
||||
|
||||
MinionData.register();
|
||||
MinionModule.register();
|
||||
Reference.register();
|
||||
|
||||
MinionBlocks.register();
|
||||
MinionItems.register();
|
||||
MinionCreativeTab.registerGroup();
|
||||
MinionRegistration.register();
|
||||
|
||||
PolymerUtil.register();
|
||||
|
||||
+4
-5
@@ -11,14 +11,13 @@ import eu.pb4.polymer.virtualentity.api.elements.ItemDisplayElement;
|
||||
import io.github.skippyall.minions.registration.MinionBlocks;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.minion.MinionPersistentState;
|
||||
import io.github.skippyall.minions.reference.InstructionReference;
|
||||
import io.github.skippyall.minions.reference.Reference;
|
||||
import io.github.skippyall.minions.clipboard.InstructionClipboard;
|
||||
import io.github.skippyall.minions.registration.MinionComponentTypes;
|
||||
import io.github.skippyall.minions.util.PolymerUtil;
|
||||
import net.minecraft.block.AbstractRedstoneGateBlock;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.BlockWithEntity;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.ShapeContext;
|
||||
import net.minecraft.block.SideShapeType;
|
||||
import net.minecraft.block.entity.BlockEntity;
|
||||
@@ -86,7 +85,7 @@ public class MinionTriggerBlock extends BlockWithEntity implements PolymerBlock,
|
||||
|
||||
@Override
|
||||
protected ActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
|
||||
if(stack.get(Reference.COMPONENT_TYPE) instanceof InstructionReference instruction) {
|
||||
if(stack.get(MinionComponentTypes.REFERENCE) instanceof InstructionClipboard instruction) {
|
||||
world.getBlockEntity(pos, MinionBlocks.MINION_TRIGGER_BE_TYPE).ifPresent(be -> {
|
||||
be.setInstruction(instruction.selectedMinion(), instruction.selectedInstruction());
|
||||
player.playSoundToPlayer(SoundEvents.BLOCK_NOTE_BLOCK_CHIME.value(), SoundCategory.BLOCKS, 1, 1);
|
||||
@@ -148,7 +147,7 @@ public class MinionTriggerBlock extends BlockWithEntity implements PolymerBlock,
|
||||
|
||||
@Override
|
||||
public BlockState getPolymerBlockState(BlockState state, PacketContext context) {
|
||||
return PolymerUtil.isOnClient(context) ? state : Blocks.COMPARATOR.getDefaultState().with(AbstractRedstoneGateBlock.POWERED, state.get(POWERED));
|
||||
return PolymerUtil.isOnClient(context) ? state : net.minecraft.block.Blocks.COMPARATOR.getDefaultState().with(AbstractRedstoneGateBlock.POWERED, state.get(POWERED));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
package io.github.skippyall.minions.block.miniontrigger;
|
||||
|
||||
import io.github.skippyall.minions.block.BlockEntityMinionListener;
|
||||
import io.github.skippyall.minions.listener.BlockEntityMinionListener;
|
||||
import io.github.skippyall.minions.registration.MinionBlocks;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package io.github.skippyall.minions.block.miniontrigger;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.block.BlockEntityMinionInstructionListener;
|
||||
import io.github.skippyall.minions.listener.BlockEntityMinionInstructionListener;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.registration.MinionBlocks;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package io.github.skippyall.minions.clipboard;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import net.minecraft.item.tooltip.TooltipAppender;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
public interface Clipboard extends TooltipAppender {
|
||||
Codec<Clipboard> CODEC = MinionRegistries.CLIPBOARD_TYPES.getCodec().dispatch(Clipboard::getCodec, Function.identity());
|
||||
|
||||
MapCodec<? extends Clipboard> getCodec();
|
||||
}
|
||||
+5
-4
@@ -1,6 +1,7 @@
|
||||
package io.github.skippyall.minions.reference;
|
||||
package io.github.skippyall.minions.clipboard;
|
||||
|
||||
import eu.pb4.polymer.core.api.item.PolymerItem;
|
||||
import io.github.skippyall.minions.registration.MinionComponentTypes;
|
||||
import io.github.skippyall.minions.registration.MinionItems;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
@@ -12,8 +13,8 @@ import net.minecraft.util.Identifier;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import xyz.nucleoid.packettweaker.PacketContext;
|
||||
|
||||
public class ReferenceItem extends Item implements PolymerItem {
|
||||
public ReferenceItem(Settings settings) {
|
||||
public class ClipboardItem extends Item implements PolymerItem {
|
||||
public ClipboardItem(Settings settings) {
|
||||
super(settings);
|
||||
}
|
||||
|
||||
@@ -36,7 +37,7 @@ public class ReferenceItem extends Item implements PolymerItem {
|
||||
|
||||
public static ItemStack createInstructionReference(MinionFakePlayer minion, String instructionName) {
|
||||
ItemStack stack = new ItemStack(MinionItems.REFERENCE_ITEM);
|
||||
stack.set(Reference.COMPONENT_TYPE, new InstructionReference(minion.getUuid(), instructionName, minion.getGameProfile().getName()));
|
||||
stack.set(MinionComponentTypes.REFERENCE, new InstructionClipboard(minion.getUuid(), instructionName, minion.getGameProfile().getName()));
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.reference;
|
||||
package io.github.skippyall.minions.clipboard;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
@@ -12,16 +12,16 @@ import net.minecraft.util.Uuids;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public record InstructionReference(UUID selectedMinion, String selectedInstruction, String visualMinionName) implements Reference {
|
||||
public static final MapCodec<InstructionReference> CODEC = RecordCodecBuilder.mapCodec(instance ->
|
||||
public record InstructionClipboard(UUID selectedMinion, String selectedInstruction, String visualMinionName) implements Clipboard {
|
||||
public static final MapCodec<InstructionClipboard> CODEC = RecordCodecBuilder.mapCodec(instance ->
|
||||
instance.group(
|
||||
Uuids.CODEC.fieldOf("selectedMinion").forGetter(InstructionReference::selectedMinion),
|
||||
Codec.STRING.fieldOf("selectedInstruction").forGetter(InstructionReference::selectedInstruction),
|
||||
Codec.STRING.fieldOf("visualMinionName").forGetter(InstructionReference::visualMinionName)
|
||||
).apply(instance, InstructionReference::new));
|
||||
Uuids.CODEC.fieldOf("selectedMinion").forGetter(InstructionClipboard::selectedMinion),
|
||||
Codec.STRING.fieldOf("selectedInstruction").forGetter(InstructionClipboard::selectedInstruction),
|
||||
Codec.STRING.fieldOf("visualMinionName").forGetter(InstructionClipboard::visualMinionName)
|
||||
).apply(instance, InstructionClipboard::new));
|
||||
|
||||
@Override
|
||||
public MapCodec<? extends Reference> getCodec() {
|
||||
public MapCodec<? extends Clipboard> getCodec() {
|
||||
return CODEC;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.program.instruction.ConfiguredInstruction;
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import io.github.skippyall.minions.reference.ReferenceItem;
|
||||
import io.github.skippyall.minions.clipboard.ClipboardItem;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.screen.ScreenHandlerType;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
@@ -61,7 +61,7 @@ public class ConfigureInstructionGui extends InstructionBoundSimpleGui {
|
||||
.setName(Text.translatable("minions.gui.instruction.configure.copy"))
|
||||
.addLoreLine(Text.translatable("minions.gui.instruction.configure.copy.description"))
|
||||
.setCallback(() -> {
|
||||
player.getInventory().offer(ReferenceItem.createInstructionReference(minion, name), true);
|
||||
player.getInventory().offer(ClipboardItem.createInstructionReference(minion, name), true);
|
||||
player.playSoundToPlayer(SoundEvents.BLOCK_NOTE_BLOCK_CHIME.value(), SoundCategory.BLOCKS, 1, 1);
|
||||
})
|
||||
);
|
||||
|
||||
@@ -3,7 +3,6 @@ package io.github.skippyall.minions.gui;
|
||||
import com.mojang.authlib.properties.PropertyMap;
|
||||
import com.mojang.serialization.Codec;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.util.TranslationUtil;
|
||||
import it.unimi.dsi.fastutil.objects.ReferenceSortedSets;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
@@ -141,11 +140,4 @@ public interface GuiDisplay {
|
||||
return CODEC;
|
||||
}
|
||||
}
|
||||
|
||||
static void register() {
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "item"), ItemBased.CODEC);
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "model"), ModelBased.CODEC);
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "head"), HeadBased.CODEC);
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "stack"), StackBased.CODEC);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package io.github.skippyall.minions.gui;
|
||||
|
||||
import eu.pb4.sgui.api.elements.GuiElementBuilder;
|
||||
import eu.pb4.sgui.api.gui.SimpleGui;
|
||||
import io.github.skippyall.minions.registration.MinionComponentTypes;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.gui.input.Result;
|
||||
import io.github.skippyall.minions.gui.input.TextInput;
|
||||
@@ -171,7 +172,7 @@ public class InstructionGui {
|
||||
|
||||
for (int i = 0; i < minion.getModuleInventory().size(); i++) {
|
||||
ItemStack moduleItem = minion.getModuleInventory().getStack(i);
|
||||
MinionModule module = moduleItem.get(MinionModule.COMPONENT_TYPE);
|
||||
MinionModule module = moduleItem.get(MinionComponentTypes.MODULE);
|
||||
if (module != null && !module.instructions().isEmpty()) {
|
||||
gui.addSlot(new GuiElementBuilder(moduleItem)
|
||||
.setCallback(() -> selectInstructionMenu(module, minion, player)
|
||||
|
||||
@@ -8,7 +8,7 @@ import io.github.skippyall.minions.minion.MinionData;
|
||||
import io.github.skippyall.minions.minion.MinionItem;
|
||||
import io.github.skippyall.minions.minion.MinionProfileUtils;
|
||||
import io.github.skippyall.minions.minion.skin.SkinProvider;
|
||||
import io.github.skippyall.minions.minion.skin.SkinProviders;
|
||||
import io.github.skippyall.minions.registration.SkinProviders;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.ProfileComponent;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
+2
-1
@@ -1,8 +1,9 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution;
|
||||
package io.github.skippyall.minions.instruction;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
|
||||
import io.github.skippyall.minions.program.consumer.ValueConsumerList;
|
||||
import io.github.skippyall.minions.program.instruction.execution.ContinuousInstructionExecution;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSupplierList;
|
||||
import net.minecraft.storage.ReadView;
|
||||
import net.minecraft.storage.WriteView;
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
//partially code from https://github.com/gnembon/fabric-carpet (EntityPlayerActionPack)
|
||||
package io.github.skippyall.minions.program.instruction.execution;
|
||||
package io.github.skippyall.minions.instruction;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.inventory;
|
||||
package io.github.skippyall.minions.instruction.inventory;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.move;
|
||||
package io.github.skippyall.minions.instruction.move;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionExecution;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.move;
|
||||
package io.github.skippyall.minions.instruction.move;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionExecution;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.move;
|
||||
package io.github.skippyall.minions.instruction.move;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import io.github.skippyall.minions.gui.Displayable;
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.move;
|
||||
package io.github.skippyall.minions.instruction.move;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSupplierList;
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import io.github.skippyall.minions.program.value.ValueTypes;
|
||||
import io.github.skippyall.minions.registration.ValueTypes;
|
||||
|
||||
public class TurnExecution extends AbstractTurnExecution {
|
||||
public static final Parameter<Double> ANGLE = new Parameter<>("maxAngle", ValueTypes.DOUBLE);
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.move;
|
||||
package io.github.skippyall.minions.instruction.move;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSupplierList;
|
||||
import io.github.skippyall.minions.program.value.ValueTypes;
|
||||
import io.github.skippyall.minions.registration.ValueTypes;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.util.math.Vec2f;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package io.github.skippyall.minions.program.instruction.execution.move;
|
||||
package io.github.skippyall.minions.instruction.move;
|
||||
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionExecution;
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSupplierList;
|
||||
import io.github.skippyall.minions.program.value.ValueTypes;
|
||||
import io.github.skippyall.minions.registration.ValueTypes;
|
||||
import net.minecraft.entity.MovementType;
|
||||
import net.minecraft.storage.ReadView;
|
||||
import net.minecraft.storage.WriteView;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.block;
|
||||
package io.github.skippyall.minions.listener;
|
||||
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.program.instruction.ConfiguredInstructionListener;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.block;
|
||||
package io.github.skippyall.minions.listener;
|
||||
|
||||
import com.mojang.datafixers.util.Function3;
|
||||
import com.mojang.serialization.Codec;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.util;
|
||||
package io.github.skippyall.minions.listener;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package io.github.skippyall.minions.util;
|
||||
package io.github.skippyall.minions.listener;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import net.minecraft.registry.Registry;
|
||||
@@ -3,15 +3,9 @@ package io.github.skippyall.minions.minion;
|
||||
import com.mojang.authlib.properties.PropertyMap;
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import eu.pb4.polymer.core.api.other.PolymerComponent;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.util.SerializableListenerManager;
|
||||
import net.minecraft.component.ComponentType;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import io.github.skippyall.minions.listener.SerializableListenerManager;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Uuids;
|
||||
import net.minecraft.util.dynamic.Codecs;
|
||||
|
||||
@@ -32,8 +26,6 @@ public record MinionData(UUID uuid, String name, Optional<PropertyMap> skin, boo
|
||||
).apply(instance, MinionData::new)
|
||||
);
|
||||
|
||||
public static final ComponentType<UUID> COMPONENT = Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of(Minions.MOD_ID, "minion_data"), ComponentType.<UUID>builder().codec(Uuids.CODEC).build());
|
||||
|
||||
public static MinionData createDefault(MinecraftServer server) {
|
||||
return new MinionData(UUID.randomUUID(), MinionProfileUtils.newDefaultMinionName(server), Optional.empty(), false, new SerializableListenerManager<>(MinionRegistries.MINION_LISTENER_CODECS));
|
||||
}
|
||||
@@ -49,8 +41,4 @@ public record MinionData(UUID uuid, String name, Optional<PropertyMap> skin, boo
|
||||
public MinionData withSpawned(boolean isSpawned) {
|
||||
return new MinionData(uuid, name, skin, isSpawned, listeners);
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
PolymerComponent.registerDataComponent(COMPONENT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import eu.pb4.polymer.core.api.item.PolymerItem;
|
||||
import eu.pb4.polymer.core.api.item.PolymerItemUtils;
|
||||
import io.github.skippyall.minions.gui.MinionLookGui;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.registration.MinionComponentTypes;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.TooltipDisplayComponent;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
@@ -78,14 +79,14 @@ public class MinionItem extends Item implements PolymerItem {
|
||||
}
|
||||
|
||||
public static void setData(MinecraftServer server, MinionData data, ItemStack item) {
|
||||
item.set(MinionData.COMPONENT, data.uuid());
|
||||
item.set(MinionComponentTypes.MINION_DATA, data.uuid());
|
||||
MinionPersistentState.get(server).updateMinionData(data);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static MinionData getData(MinecraftServer server, ItemStack item) {
|
||||
if(item.contains(MinionData.COMPONENT)) {
|
||||
return MinionPersistentState.get(server).getMinionData(item.get(MinionData.COMPONENT));
|
||||
if(item.contains(MinionComponentTypes.MINION_DATA)) {
|
||||
return MinionPersistentState.get(server).getMinionData(item.get(MinionComponentTypes.MINION_DATA));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -100,6 +101,6 @@ public class MinionItem extends Item implements PolymerItem {
|
||||
}
|
||||
|
||||
public static boolean containsData(ItemStack item) {
|
||||
return item.contains(MinionData.COMPONENT);
|
||||
return item.contains(MinionComponentTypes.MINION_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.github.skippyall.minions.minion;
|
||||
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.program.instruction.ConfiguredInstruction;
|
||||
import io.github.skippyall.minions.util.SerializableListenerManager;
|
||||
import io.github.skippyall.minions.listener.SerializableListenerManager;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface MinionListener extends SerializableListenerManager.SerializableListener {
|
||||
|
||||
@@ -12,8 +12,8 @@ import io.github.skippyall.minions.minion.MinionItem;
|
||||
import io.github.skippyall.minions.minion.MinionPersistentState;
|
||||
import io.github.skippyall.minions.minion.MinionProfileUtils;
|
||||
import io.github.skippyall.minions.module.ModuleInventory;
|
||||
import io.github.skippyall.minions.module.SpecialAbilities;
|
||||
import io.github.skippyall.minions.util.SerializableListenerManager;
|
||||
import io.github.skippyall.minions.registration.SpecialAbilities;
|
||||
import io.github.skippyall.minions.listener.SerializableListenerManager;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
|
||||
@@ -2,15 +2,9 @@ package io.github.skippyall.minions.module;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder;
|
||||
import eu.pb4.polymer.core.api.other.PolymerComponent;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionType;
|
||||
import net.minecraft.component.ComponentType;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -22,8 +16,6 @@ public record MinionModule(List<InstructionType<MinionRuntime>> instructions, Li
|
||||
).apply(instance, MinionModule::new)
|
||||
);
|
||||
|
||||
public static final ComponentType<MinionModule> COMPONENT_TYPE = ComponentType.<MinionModule>builder().codec(CODEC).build();
|
||||
|
||||
public static final MinionModule EMPTY = new MinionModule(List.of());
|
||||
|
||||
public MinionModule(List<InstructionType<MinionRuntime>> instructions) {
|
||||
@@ -34,9 +26,4 @@ public record MinionModule(List<InstructionType<MinionRuntime>> instructions, Li
|
||||
this.instructions = List.copyOf(instructions);
|
||||
this.specialAbilities = List.copyOf(specialAbilities);
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of(Minions.MOD_ID, "minion_module"), COMPONENT_TYPE);
|
||||
PolymerComponent.registerDataComponent(COMPONENT_TYPE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.github.skippyall.minions.module;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.MinionFakePlayer;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionType;
|
||||
import io.github.skippyall.minions.registration.MinionComponentTypes;
|
||||
import net.minecraft.inventory.Inventories;
|
||||
import net.minecraft.inventory.SimpleInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -41,7 +42,7 @@ public class ModuleInventory extends SimpleInventory {
|
||||
|
||||
@Override
|
||||
public boolean isValid(int slot, ItemStack stack) {
|
||||
return (stack.getCount() <= getMaxCountPerStack()) && stack.contains(MinionModule.COMPONENT_TYPE);
|
||||
return (stack.getCount() <= getMaxCountPerStack()) && stack.contains(MinionComponentTypes.MODULE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,7 +60,7 @@ public class ModuleInventory extends SimpleInventory {
|
||||
instructions.clear();
|
||||
specialAbilities.clear();
|
||||
for (ItemStack heldStack : heldStacks) {
|
||||
MinionModule module = heldStack.get(MinionModule.COMPONENT_TYPE);
|
||||
MinionModule module = heldStack.get(MinionComponentTypes.MODULE);
|
||||
if(module != null) {
|
||||
modules.add(module);
|
||||
instructions.addAll(module.instructions());
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package io.github.skippyall.minions.module;
|
||||
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class SpecialAbilities {
|
||||
public static final MobSpawningAbility MOB_SPAWNING = Registry.register(MinionRegistries.SPECIAL_ABILITIES, Identifier.of(Minions.MOD_ID, "mob_spawning"), new MobSpawningAbility());
|
||||
}
|
||||
+1
-1
@@ -6,7 +6,7 @@ import io.github.skippyall.minions.program.InstructionRuntime;
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSupplierList;
|
||||
import io.github.skippyall.minions.program.consumer.ValueConsumerList;
|
||||
import io.github.skippyall.minions.util.SerializableListenerManager;
|
||||
import io.github.skippyall.minions.listener.SerializableListenerManager;
|
||||
import net.minecraft.storage.ReadView;
|
||||
import net.minecraft.storage.WriteView;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package io.github.skippyall.minions.program.instruction;
|
||||
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import io.github.skippyall.minions.util.SerializableListenerManager;
|
||||
import io.github.skippyall.minions.listener.SerializableListenerManager;
|
||||
|
||||
public interface ConfiguredInstructionListener extends SerializableListenerManager.SerializableListener {
|
||||
default void onRun(ConfiguredInstruction<?> instruction) {}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
package io.github.skippyall.minions.reference;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import eu.pb4.polymer.core.api.other.PolymerComponent;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import net.fabricmc.fabric.api.item.v1.ComponentTooltipAppenderRegistry;
|
||||
import net.minecraft.component.ComponentType;
|
||||
import net.minecraft.item.tooltip.TooltipAppender;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.function.Function;
|
||||
|
||||
public interface Reference extends TooltipAppender {
|
||||
Codec<Reference> CODEC = MinionRegistries.REFERENCE_CODEC.getCodec().dispatch(Reference::getCodec, Function.identity());
|
||||
ComponentType<Reference> COMPONENT_TYPE = ComponentType.<Reference>builder().codec(CODEC).build();
|
||||
|
||||
MapCodec<? extends Reference> getCodec();
|
||||
|
||||
static void register() {
|
||||
Registry.register(MinionRegistries.REFERENCE_CODEC, Identifier.of(Minions.MOD_ID, "instruction"), InstructionReference.CODEC);
|
||||
|
||||
Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of(Minions.MOD_ID, "reference"), COMPONENT_TYPE);
|
||||
PolymerComponent.registerDataComponent(COMPONENT_TYPE);
|
||||
|
||||
ComponentTooltipAppenderRegistry.addFirst(COMPONENT_TYPE);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import com.mojang.serialization.MapCodec;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.clipboard.InstructionClipboard;
|
||||
import io.github.skippyall.minions.clipboard.Clipboard;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class ClipboardTypes {
|
||||
private static void register(String id, MapCodec<? extends Clipboard> codec) {
|
||||
Registry.register(MinionRegistries.CLIPBOARD_TYPES, Identifier.of(Minions.MOD_ID, id), codec);
|
||||
}
|
||||
|
||||
static void register() {
|
||||
register("instruction", InstructionClipboard.CODEC);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.gui.GuiDisplay;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class GuiDisplayTypes {
|
||||
static void register() {
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "item"), GuiDisplay.ItemBased.CODEC);
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "model"), GuiDisplay.ModelBased.CODEC);
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "head"), GuiDisplay.HeadBased.CODEC);
|
||||
Registry.register(MinionRegistries.GUI_DISPLAY_TYPE, Identifier.of(Minions.MOD_ID, "stack"), GuiDisplay.StackBased.CODEC);
|
||||
}
|
||||
}
|
||||
+9
-8
@@ -1,15 +1,16 @@
|
||||
package io.github.skippyall.minions.program.instruction;
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionExecution;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionType;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.minion.fakeplayer.EntityPlayerActionPack;
|
||||
import io.github.skippyall.minions.program.instruction.execution.ActionExecution;
|
||||
import io.github.skippyall.minions.program.instruction.execution.MineBlockExecution;
|
||||
import io.github.skippyall.minions.program.instruction.execution.move.ContinuousWalkExecution;
|
||||
import io.github.skippyall.minions.program.instruction.execution.move.TurnExecution;
|
||||
import io.github.skippyall.minions.program.instruction.execution.move.TurnVectorExecution;
|
||||
import io.github.skippyall.minions.program.instruction.execution.move.WalkExecution;
|
||||
import io.github.skippyall.minions.instruction.ActionExecution;
|
||||
import io.github.skippyall.minions.instruction.MineBlockExecution;
|
||||
import io.github.skippyall.minions.instruction.move.ContinuousWalkExecution;
|
||||
import io.github.skippyall.minions.instruction.move.TurnExecution;
|
||||
import io.github.skippyall.minions.instruction.move.TurnVectorExecution;
|
||||
import io.github.skippyall.minions.instruction.move.WalkExecution;
|
||||
import io.github.skippyall.minions.program.supplier.Parameter;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
@@ -0,0 +1,30 @@
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import eu.pb4.polymer.core.api.other.PolymerComponent;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.module.MinionModule;
|
||||
import io.github.skippyall.minions.clipboard.Clipboard;
|
||||
import net.fabricmc.fabric.api.item.v1.ComponentTooltipAppenderRegistry;
|
||||
import net.minecraft.component.ComponentType;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Uuids;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class MinionComponentTypes {
|
||||
public static final ComponentType<UUID> MINION_DATA = register("minion_data", ComponentType.<UUID>builder().codec(Uuids.CODEC).build());
|
||||
public static final ComponentType<MinionModule> MODULE = register("minion_module", ComponentType.<MinionModule>builder().codec(MinionModule.CODEC).build());
|
||||
public static final ComponentType<Clipboard> REFERENCE = ComponentType.<Clipboard>builder().codec(Clipboard.CODEC).build();
|
||||
|
||||
private static <T extends ComponentType<?>> T register(String name, T type) {
|
||||
Registry.register(Registries.DATA_COMPONENT_TYPE, Identifier.of(Minions.MOD_ID, name), type);
|
||||
PolymerComponent.registerDataComponent(type);
|
||||
return type;
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
ComponentTooltipAppenderRegistry.addFirst(MinionComponentTypes.REFERENCE);
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,9 @@ import io.github.skippyall.minions.block.miniontrigger.MinionTriggerBlockItem;
|
||||
import io.github.skippyall.minions.minion.MinionItem;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import io.github.skippyall.minions.module.MinionModule;
|
||||
import io.github.skippyall.minions.module.SpecialAbilities;
|
||||
import io.github.skippyall.minions.module.SpecialAbility;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionType;
|
||||
import io.github.skippyall.minions.program.instruction.Instructions;
|
||||
import io.github.skippyall.minions.reference.ReferenceItem;
|
||||
import io.github.skippyall.minions.clipboard.ClipboardItem;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.DamageResistantComponent;
|
||||
import net.minecraft.entity.damage.DamageType;
|
||||
@@ -78,7 +76,7 @@ public class MinionItems {
|
||||
new Item.Settings().useBlockPrefixedTranslationKey()
|
||||
);
|
||||
|
||||
public static final ReferenceItem REFERENCE_ITEM = registerItem(Identifier.of(MOD_ID, "reference"), ReferenceItem::new);
|
||||
public static final ClipboardItem REFERENCE_ITEM = registerItem(Identifier.of(MOD_ID, "clipboard"), ClipboardItem::new);
|
||||
|
||||
public static <T extends Item> T registerItem(Identifier identifier, Function<Item.Settings, T> constructor, Item.Settings settings) {
|
||||
T item = constructor.apply(settings.registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)));
|
||||
@@ -96,7 +94,7 @@ public class MinionItems {
|
||||
return registerItem(
|
||||
identifier,
|
||||
settings -> new SimplePolymerItem(settings, vanillaItem),
|
||||
new Item.Settings().component(MinionModule.COMPONENT_TYPE, new MinionModule(instructionTypes, specialAbilities))
|
||||
new Item.Settings().component(MinionComponentTypes.MODULE, new MinionModule(instructionTypes, specialAbilities))
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.block.miniontrigger.MinionTriggerMinionListener;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class MinionListeners {
|
||||
public static void register() {
|
||||
Registry.register(MinionRegistries.MINION_LISTENER_CODECS, Identifier.of(Minions.MOD_ID, "minion_trigger"), MinionTriggerMinionListener.CODEC);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,21 @@
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.block.miniontrigger.MinionTriggerMinionListener;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class MinionRegistration {
|
||||
|
||||
public static void register() {
|
||||
Registry.register(MinionRegistries.MINION_LISTENER_CODECS, Identifier.of(Minions.MOD_ID, "minion_trigger"), MinionTriggerMinionListener.CODEC);
|
||||
MinionRegistries.register();
|
||||
|
||||
ClipboardTypes.register();
|
||||
GuiDisplayTypes.register();
|
||||
Instructions.register();
|
||||
MinionBlocks.register();
|
||||
MinionComponentTypes.register();
|
||||
MinionItems.register();
|
||||
MinionListeners.register();
|
||||
SkinProviders.register();
|
||||
SpecialAbilities.register();
|
||||
ValueSuppliers.register();
|
||||
ValueTypes.register();
|
||||
|
||||
MinionCreativeTab.registerGroup();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import io.github.skippyall.minions.program.supplier.ValueSupplierType;
|
||||
import io.github.skippyall.minions.program.instruction.InstructionType;
|
||||
import io.github.skippyall.minions.program.consumer.ValueConsumerType;
|
||||
import io.github.skippyall.minions.program.value.ValueType;
|
||||
import io.github.skippyall.minions.reference.Reference;
|
||||
import io.github.skippyall.minions.clipboard.Clipboard;
|
||||
import net.fabricmc.fabric.api.event.registry.DynamicRegistries;
|
||||
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
|
||||
import net.fabricmc.fabric.api.event.registry.RegistryAttribute;
|
||||
@@ -31,7 +31,7 @@ public class MinionRegistries {
|
||||
public static final Registry<Codec<? extends GuiDisplay>> GUI_DISPLAY_TYPE = registry("gui_display_type");
|
||||
public static final Registry<Codec<? extends ConfiguredInstructionListener>> INSTRUCTION_LISTENER_CODECS = registry("instruction_listener_codec");
|
||||
public static final Registry<Codec<? extends MinionListener>> MINION_LISTENER_CODECS = registry("minion_listener_codec");
|
||||
public static final Registry<MapCodec<? extends Reference>> REFERENCE_CODEC = registry("reference_codec");
|
||||
public static final Registry<MapCodec<? extends Clipboard>> CLIPBOARD_TYPES = registry("clipboard_type");
|
||||
public static final Registry<SpecialAbility> SPECIAL_ABILITIES = registry("special_ability");
|
||||
|
||||
public static final RegistryKey<Registry<GuiDisplay>> GUI_DISPLAY = key("gui_display");
|
||||
|
||||
+5
-2
@@ -1,6 +1,9 @@
|
||||
package io.github.skippyall.minions.minion.skin;
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.minion.skin.Base64SkinProvider;
|
||||
import io.github.skippyall.minions.minion.skin.NameSkinProvider;
|
||||
import io.github.skippyall.minions.minion.skin.SkinProvider;
|
||||
import io.github.skippyall.minions.minion.skin.UUIDSkinProvider;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
@@ -0,0 +1,18 @@
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.module.MobSpawningAbility;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.module.SpecialAbility;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class SpecialAbilities {
|
||||
public static final MobSpawningAbility MOB_SPAWNING = register("mob_spawning", new MobSpawningAbility());
|
||||
|
||||
private static <T extends SpecialAbility> T register(String name, T type) {
|
||||
Registry.register(MinionRegistries.SPECIAL_ABILITIES, Identifier.of(Minions.MOD_ID, name), type);
|
||||
return type;
|
||||
}
|
||||
|
||||
public static void register() {}
|
||||
}
|
||||
+3
-2
@@ -1,6 +1,7 @@
|
||||
package io.github.skippyall.minions.program.supplier;
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.program.supplier.FixedValueSupplierType;
|
||||
import io.github.skippyall.minions.program.supplier.ValueSupplierType;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.minion.MinionRuntime;
|
||||
import net.minecraft.registry.Registry;
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package io.github.skippyall.minions.program.value;
|
||||
package io.github.skippyall.minions.registration;
|
||||
|
||||
import com.mojang.serialization.Codec;
|
||||
import io.github.skippyall.minions.registration.MinionRegistries;
|
||||
import io.github.skippyall.minions.program.value.ValueType;
|
||||
import io.github.skippyall.minions.Minions;
|
||||
import io.github.skippyall.minions.gui.input.ChoiceInput;
|
||||
import io.github.skippyall.minions.gui.input.TextInput;
|
||||
import io.github.skippyall.minions.program.instruction.execution.move.TurnDirection;
|
||||
import io.github.skippyall.minions.instruction.move.TurnDirection;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.Text;
|
||||
Reference in New Issue
Block a user