diff --git a/examples/javascript/gradle.properties b/examples/javascript/gradle.properties index b04b320..32b51b5 100644 --- a/examples/javascript/gradle.properties +++ b/examples/javascript/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs = -Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version = 1.15.2 - yarn_build = 15 - fabric_loader_version = 0.8.2+build.194 + minecraft_version = 1.16-pre3 + yarn_build = 1 + fabric_loader_version = 0.8.7+build.201 # Mod Properties mod_version = 1.0.0 diff --git a/examples/javascript/src/main/resources/fabric.mod.json b/examples/javascript/src/main/resources/fabric.mod.json index f84f72b..23a9e80 100644 --- a/examples/javascript/src/main/resources/fabric.mod.json +++ b/examples/javascript/src/main/resources/fabric.mod.json @@ -21,7 +21,7 @@ }, "depends": { "fabricloader": ">=0.7.4", - "minecraft": "1.15.x", + "minecraft": "1.16.x", "scriptcraft": "*" } } diff --git a/examples/typescript/gradle.properties b/examples/typescript/gradle.properties index 7fe1471..8688c00 100644 --- a/examples/typescript/gradle.properties +++ b/examples/typescript/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs = -Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version = 1.15.2 - yarn_build = 15 - fabric_loader_version = 0.8.2+build.194 + minecraft_version = 1.16-pre3 + yarn_build = 1 + fabric_loader_version = 0.8.7+build.201 # Mod Properties mod_version = 1.0.0 diff --git a/examples/typescript/src/main/resources/fabric.mod.json b/examples/typescript/src/main/resources/fabric.mod.json index 96e6663..28e16f1 100644 --- a/examples/typescript/src/main/resources/fabric.mod.json +++ b/examples/typescript/src/main/resources/fabric.mod.json @@ -21,7 +21,7 @@ }, "depends": { "fabricloader": ">=0.7.4", - "minecraft": "1.15.x", + "minecraft": "1.16.x", "scriptcraft": "*" } } diff --git a/scriptcraft/gradle.properties b/scriptcraft/gradle.properties index 66ffe51..c6780e9 100644 --- a/scriptcraft/gradle.properties +++ b/scriptcraft/gradle.properties @@ -3,9 +3,9 @@ org.gradle.jvmargs = -Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version = 1.15.2 - yarn_build = 15 - fabric_loader_version = 0.8.2+build.194 + minecraft_version = 1.16-pre2 + yarn_build = 1 + fabric_loader_version = 0.8.7+build.201 # Mod Properties maven_group = com.thebrokenrail @@ -13,4 +13,4 @@ org.gradle.jvmargs = -Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_api_version = 0.5.12+build.296-1.15 + fabric_api_version = 0.11.8+build.357-1.16 diff --git a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/block/CustomBlockEntity.java b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/block/CustomBlockEntity.java index e710420..1c36c88 100644 --- a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/block/CustomBlockEntity.java +++ b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/block/CustomBlockEntity.java @@ -2,6 +2,8 @@ package com.thebrokenrail.scriptcraft.api.block; import com.thebrokenrail.scriptcraft.core.ScriptCraftCore; import net.fabricmc.fabric.api.block.entity.BlockEntityClientSerializable; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.nbt.CompoundTag; @@ -25,14 +27,14 @@ public class CustomBlockEntity extends BlockEntity implements BlockEntityClientS } @Override - public void fromTag(CompoundTag tag) { - super.fromTag(tag); + public void fromTag(BlockState state, CompoundTag tag) { + super.fromTag(state, tag); ScriptCraftCore.useBridge("CustomBlockEntity.fromTag", objID, tag); } @Override public void fromClientTag(CompoundTag compoundTag) { - fromTag(compoundTag); + fromTag(Blocks.AIR.getDefaultState(), compoundTag); } @Override diff --git a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/BlockSettingsBridges.java b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/BlockSettingsBridges.java index 7e08dc9..be22882 100644 --- a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/BlockSettingsBridges.java +++ b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/BlockSettingsBridges.java @@ -1,7 +1,7 @@ package com.thebrokenrail.scriptcraft.api.bridge; import com.thebrokenrail.scriptcraft.core.ScriptCraftCore; -import net.fabricmc.fabric.api.block.FabricBlockSettings; +import net.minecraft.block.AbstractBlock; import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; @@ -22,12 +22,11 @@ class BlockSettingsBridges { materialColor = material.getColor(); } - FabricBlockSettings settings = FabricBlockSettings.of(material, materialColor); + AbstractBlock.Settings settings = AbstractBlock.Settings.of(material, materialColor); - settings.hardness(((Double) args[2]).floatValue()); - settings.resistance(((Double) args[3]).floatValue()); + settings.strength(((Double) args[2]).floatValue(), ((Double) args[3]).floatValue()); - return settings.build(); + return settings; } catch (NoSuchFieldException | IllegalAccessException e) { throw new RuntimeException(e); } diff --git a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/InventoryBridges.java b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/InventoryBridges.java index c2a88ec..9bb09e2 100644 --- a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/InventoryBridges.java +++ b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/bridge/InventoryBridges.java @@ -7,14 +7,14 @@ import net.minecraft.item.ItemStack; class InventoryBridges { static void register() { - ScriptCraftCore.addBridge("Inventory.get", args -> ((Inventory) args[0]).getInvStack((int) ValueUtil.toDouble(args[1], 0))); - ScriptCraftCore.addBridge("Inventory.take", args -> ((Inventory) args[0]).takeInvStack((int) ValueUtil.toDouble(args[1], 0), (int) ValueUtil.toDouble(args[2], 0))); + ScriptCraftCore.addBridge("Inventory.get", args -> ((Inventory) args[0]).getStack((int) ValueUtil.toDouble(args[1], 0))); + ScriptCraftCore.addBridge("Inventory.take", args -> ((Inventory) args[0]).removeStack((int) ValueUtil.toDouble(args[1], 0), (int) ValueUtil.toDouble(args[2], 0))); ScriptCraftCore.addBridge("Inventory.set", args -> { - ((Inventory) args[0]).setInvStack((int) ValueUtil.toDouble(args[1], 0), (ItemStack) args[2]); + ((Inventory) args[0]).setStack((int) ValueUtil.toDouble(args[1], 0), (ItemStack) args[2]); return null; }); - ScriptCraftCore.addBridge("Inventory.size", args -> ((Inventory) args[0]).getInvSize()); - ScriptCraftCore.addBridge("Inventory.getMaxStackSize", args -> ((Inventory) args[0]).getInvMaxStackAmount()); + ScriptCraftCore.addBridge("Inventory.size", args -> ((Inventory) args[0]).size()); + ScriptCraftCore.addBridge("Inventory.getMaxStackSize", args -> ((Inventory) args[0]).getMaxCountPerStack()); ScriptCraftCore.addBridge("Inventory.isValid", args -> args[0] instanceof Inventory); } diff --git a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/item/CustomItem.java b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/item/CustomItem.java index b243c96..37a296b 100644 --- a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/item/CustomItem.java +++ b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/item/CustomItem.java @@ -34,7 +34,7 @@ public class CustomItem extends Item { } @Override - public boolean useOnEntity(ItemStack stack, PlayerEntity user, LivingEntity entity, Hand hand) { - return ValueUtil.toBoolean(ScriptCraftCore.useBridge("CustomItem.onUseOnEntity", id.toString(), user, entity, hand.name()), false); + public ActionResult useOnEntity(ItemStack stack, PlayerEntity user, LivingEntity entity, Hand hand) { + return ValueUtil.getEnumValue(ActionResult.class, (String) ScriptCraftCore.useBridge("CustomItem.onUseOnEntity", id.toString(), user, entity, hand.name()), ActionResult.PASS); } } diff --git a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/util/ValueUtil.java b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/util/ValueUtil.java index 72af2aa..2f659a2 100644 --- a/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/util/ValueUtil.java +++ b/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/api/util/ValueUtil.java @@ -19,12 +19,4 @@ public class ValueUtil { return defaultValue; } } - - public static boolean toBoolean(Object value, boolean defaultValue) { - try { - return ((Boolean) value).booleanValue(); - } catch (NullPointerException e) { - return defaultValue; - } - } } diff --git a/scriptcraft/src/main/resources/fabric.mod.json b/scriptcraft/src/main/resources/fabric.mod.json index 89ad9d0..ff5c648 100644 --- a/scriptcraft/src/main/resources/fabric.mod.json +++ b/scriptcraft/src/main/resources/fabric.mod.json @@ -26,6 +26,6 @@ "depends": { "fabricloader": ">=0.7.4", "fabric": "*", - "minecraft": "1.15.x" + "minecraft": "1.16.x" } } diff --git a/scriptcraft/src/main/ts/src/minecraft/item.ts b/scriptcraft/src/main/ts/src/minecraft/item.ts index 45e8bc0..b69e7be 100644 --- a/scriptcraft/src/main/ts/src/minecraft/item.ts +++ b/scriptcraft/src/main/ts/src/minecraft/item.ts @@ -353,6 +353,6 @@ addBridge('CustomItem.onUseOnBlock', (id: string, world: JavaObject, x: number, return ItemRegistry.INSTANCE.get(new Identifier(id)).onUseOnBlock(new World(world), new Pos(x, y, z), Direction[side], new PlayerEntity(player), Hand[hand]); }); -addBridge('CustomItem.onUseOnEntity', (id: string, player: JavaObject, target: JavaObject, hand: keyof typeof Hand): boolean => { - return ItemRegistry.INSTANCE.get(new Identifier(id)).onUseOnEntity(new PlayerEntity(player), new LivingEntity(target), Hand[hand]) === ActionResult.SUCCESS; +addBridge('CustomItem.onUseOnEntity', (id: string, player: JavaObject, target: JavaObject, hand: keyof typeof Hand): string => { + return ItemRegistry.INSTANCE.get(new Identifier(id)).onUseOnEntity(new PlayerEntity(player), new LivingEntity(target), Hand[hand]); });