|
9 | 9 | import dev.diamond.luafy.registry.ScriptObjects; |
10 | 10 | import dev.diamond.luafy.script.LuaScript; |
11 | 11 | import dev.diamond.luafy.lua.LuaTableBuilder; |
12 | | -import dev.diamond.luafy.lua.MetamethodImpl; |
13 | 12 | import dev.diamond.luafy.script.enumeration.Instrument; |
14 | 13 | import dev.diamond.luafy.script.enumeration.Note; |
15 | | -import dev.diamond.luafy.script.object.game.TextComponentScriptObject; |
16 | 14 | import net.minecraft.SharedConstants; |
17 | 15 | import net.minecraft.commands.CommandSourceStack; |
18 | 16 | import net.minecraft.commands.arguments.EntityArgument; |
|
26 | 24 | import net.minecraft.server.level.ServerPlayer; |
27 | 25 | import net.minecraft.sounds.SoundSource; |
28 | 26 | import net.minecraft.world.entity.Entity; |
| 27 | +import net.minecraft.world.entity.EntityType; |
29 | 28 | import net.minecraft.world.item.Item; |
30 | 29 | import net.minecraft.world.item.ItemStack; |
31 | 30 | import net.minecraft.world.level.block.Block; |
32 | 31 | import net.minecraft.world.phys.Vec3; |
33 | | -import org.luaj.vm2.LuaBoolean; |
34 | 32 | import org.luaj.vm2.LuaString; |
35 | | -import org.luaj.vm2.LuaTable; |
36 | 33 | import org.luaj.vm2.LuaValue; |
37 | 34 |
|
38 | 35 | import java.util.List; |
@@ -194,30 +191,38 @@ public void addFunctions(ScriptApiBuilder apiBuilder) { |
194 | 191 | builder.add("item", args -> { |
195 | 192 | Identifier id = Identifier.parse(args.nextString()); |
196 | 193 | Item item = BuiltInRegistries.ITEM.getValue(id); |
197 | | - return LuaTableBuilder.provide(ScriptObjects.ITEM, item, script); |
| 194 | + return LuaTableBuilder.provide(ScriptObjects.REGISTRY_ITEM, item, script); |
198 | 195 | }, "Fetches an item type from the registry.", args -> { |
199 | 196 | args.add("id", Argtypes.STRING, "Identifier of the item type."); |
200 | | - }, ScriptObjects.ITEM); |
| 197 | + }, ScriptObjects.REGISTRY_ITEM); |
201 | 198 |
|
202 | 199 | builder.add("block", args -> { |
203 | 200 | Identifier id = Identifier.parse(args.nextString()); |
204 | 201 | Block block = BuiltInRegistries.BLOCK.getValue(id); |
205 | | - return LuaTableBuilder.provide(ScriptObjects.BLOCK, block, script); |
| 202 | + return LuaTableBuilder.provide(ScriptObjects.REGISTRY_BLOCK, block, script); |
206 | 203 | }, "Fetches an block type from the registry.", args -> { |
207 | 204 | args.add("id", Argtypes.STRING, "Identifier of the block type."); |
208 | | - }, ScriptObjects.BLOCK); |
| 205 | + }, ScriptObjects.REGISTRY_BLOCK); |
| 206 | + |
| 207 | + builder.add("entity_type", args -> { |
| 208 | + Identifier id = Identifier.parse(args.nextString()); |
| 209 | + EntityType<?> e = BuiltInRegistries.ENTITY_TYPE.getValue(id); |
| 210 | + return LuaTableBuilder.provide(ScriptObjects.REGISTRY_ENTITY_TYPE, e, script); |
| 211 | + }, "Fetches an entity type from the registry.", args -> { |
| 212 | + args.add("id", Argtypes.STRING, "Identifier of the entity type."); |
| 213 | + }, ScriptObjects.REGISTRY_ENTITY_TYPE); |
209 | 214 |
|
210 | 215 | }); |
211 | 216 |
|
212 | 217 | apiBuilder.addGroup("object", builder -> { |
213 | 218 |
|
214 | 219 | builder.add("itemstack", args -> { |
215 | | - Item item = args.nextScriptObject(ScriptObjects.ITEM, script.getSource(), script); |
| 220 | + Item item = args.nextScriptObject(ScriptObjects.REGISTRY_ITEM, script.getSource(), script); |
216 | 221 | int count = args.nextInt(); |
217 | 222 | ItemStack stack = new ItemStack(item, count); |
218 | 223 | return LuaTableBuilder.provide(ScriptObjects.ITEM_STACK, stack, script); |
219 | 224 | }, "Creates an ItemStack from an item and count.", args -> { |
220 | | - args.add("item", ScriptObjects.ITEM, "Item type."); |
| 225 | + args.add("item", ScriptObjects.REGISTRY_ITEM, "Item type."); |
221 | 226 | args.add("count", Argtypes.INTEGER, "Count."); |
222 | 227 | }, ScriptObjects.ITEM_STACK); |
223 | 228 | }); |
|
0 commit comments