Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MyRedAlien43

Members
  • Joined

  • Last visited

  1. Okay, I added 2 more breakpoints, and the only one that triggered was the "executes" line. I will now edit the post to mark where I put the breakpoints
  2. Yes I did press debug mode... Let me just use another breakpoint somewhere..
  3. An IScreenFactory basically requires a reference to the screen class constructor (e.g. ScreenClass::new), and you can look in ContainerType to see how you make one
  4. Its registerFactory
  5. You need to link the container and the screen (aka Gui) Using a method in ScreenManager using a method that i cant remember
  6. NetworkHooks.openGui
  7. I'm pretty sure you need to register the class itself, not an instance of it.... Correct me if I'm wrong
  8. So I want to create a command to teleport between dimensions, for testing, but when I try to run it, the game says "Unknown Command" "...dimension_name_here <--[HERE]" And I also tried using breakpoints but they didn't trigger whatsoever?? Command Class: public class TeleportDimensionCommand { public static void register(CommandDispatcher<CommandSource> dispatcher) { LiteralArgumentBuilder<CommandSource> builder = Commands.literal("teleport_dimension").requires(source -> source.hasPermissionLevel(2)); builder.then(Commands.argument("dimension", DimensionArgument.getDimension())); builder.executes(TeleportDimensionCommand::teleport); //Only breakpoint which triggered LiteralCommandNode<CommandSource> teleport_dimension = dispatcher.register(builder); dispatcher.register(Commands.literal("tp_dim").requires(source -> source.hasPermissionLevel(2)).redirect(teleport_dimension)); } private static int teleport(CommandContext<CommandSource> context) { ServerPlayerEntity player; try { player = context.getSource().asPlayer(); //Put a breakpoint here.. player.sendMessage(new StringTextComponent("Attempting teleport...")); //When I didn't put any arguments, this popped up in chat } catch (CommandSyntaxException e) { Main.getLogger().error(Markers.ERROR, "Could not get player from source"); e.printStackTrace(); return 0; //Also tried a breakpoint here } if(player.changeDimension(DimensionArgument.getDimensionArgument(context, "dimension")) == null) { Main.getLogger().error(Markers.ERROR, "Could not teleport player"); //Put a breakpoint here player.sendMessage(new StringTextComponent("Could not teleport")); } else { player.sendMessage(new StringTextComponent("Teleported!")); //Put a breakpoint here } return 1; } } In my main class: package sdt.undergroundadditions; //Imports here... @Mod("undergroundadditions") public class Main { public Main() { //Some more code here.. IEventBus forge = MinecraftForge.EVENT_BUS; //Adding listeners here... forge.addListener(this::serverStarting); } //Some more methods in between here private void serverStarting(FMLServerStartingEvent event) { TeleportDimensionCommand.register(event.getCommandDispatcher()); logger.info(Markers.SERVER_STARTING, "Initialized server starting events"); } } And, there's no error in the logs too. What's wrong?
  9. like this? { "type": "minecraft:block", "pools": [ { "rolls": 1, "entries": [ { "type": "minecraft:item", "functions": [ { "function": "minecraft:set_count", "count": 4 }, { "function": "minecraft:explosion_decay" } ], "name": "undergroundadditions:dirt_chunk" }, { "type": "minecraft:item", "conditions": [ { "condition": "minecraft:random_chance", "chance": 0.125 } ], "name": "undergroundadditions:grass_seeds" } ] } ] }
  10. I want for it to always give dirt chunks when broken, but only grass seeds within a chance.

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.