lots of code

This commit is contained in:
skippyall
2024-04-13 22:04:49 +02:00
commit 60fd7f0891
71 changed files with 3667 additions and 0 deletions
@@ -0,0 +1,12 @@
package io.github.skippyall.minions.program.block;
import io.github.skippyall.minions.program.variables.Type;
import java.util.List;
public abstract class CodeBlock {
public CodeBlock(String name, List<Type> arguments) {
}
public abstract Object execute(Object... args);
}
@@ -0,0 +1,5 @@
package io.github.skippyall.minions.program.block;
public class CodeBlocks {
public static final ForwardBlock FORWARD = new ForwardBlock();
}
@@ -0,0 +1,19 @@
package io.github.skippyall.minions.program.block;
import io.github.skippyall.minions.program.variables.IntegerType;
import io.github.skippyall.minions.program.variables.Type;
import io.github.skippyall.minions.program.variables.Types;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ForwardBlock extends CodeBlock{
public ForwardBlock() {
super("forward", Arrays.asList(Types.INTEGER));
}
public Object execute(Object... args) {
return null;
}
}
@@ -0,0 +1,15 @@
package io.github.skippyall.minions.program.module;
import eu.pb4.polymer.core.api.item.PolymerItem;
import io.github.skippyall.minions.program.block.CodeBlock;
import java.util.List;
public abstract class Modul implements PolymerItem {
private final String name;
Modul(String name) {
this.name = name;
}
public abstract List<CodeBlock> getCodeBlocks();
}
@@ -0,0 +1,5 @@
package io.github.skippyall.minions.program.module;
public class Modules {
MoveModul MOVE = new MoveModul();
}
@@ -0,0 +1,30 @@
package io.github.skippyall.minions.program.module;
import io.github.skippyall.minions.program.block.CodeBlock;
import io.github.skippyall.minions.program.block.CodeBlocks;
import io.github.skippyall.minions.program.block.ForwardBlock;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
public class MoveModul extends Modul{
MoveModul() {
super("Movement");
}
public List<CodeBlock> getCodeBlocks() {
List<CodeBlock> codeBlocks = new ArrayList<>();
codeBlocks.add(CodeBlocks.FORWARD);
return codeBlocks;
}
@Override
public Item getPolymerItem(ItemStack itemStack, @Nullable ServerPlayer player) {
return Items.PURPLE_GLAZED_TERRACOTTA;
}
}
@@ -0,0 +1,4 @@
package io.github.skippyall.minions.program.variables;
public class IntegerType extends Type{
}
@@ -0,0 +1,4 @@
package io.github.skippyall.minions.program.variables;
public abstract class Type {
}
@@ -0,0 +1,5 @@
package io.github.skippyall.minions.program.variables;
public class Types {
public static final IntegerType INTEGER = new IntegerType();
}