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.

Draco18s

Members
  • Joined

  • Last visited

Everything posted by Draco18s

  1. I currently make $47.50 an hour writing code as a full time permanent roll. For freelance I would charge $95 / hr. Do you want to pay me $90/hr (minimum 8 hours) to write it for you?
  2. You do not need BlockBase. If you don't need it, what do you do with it? (This is intentionally pedantic because the question you asked is self-answering)
  3. Oh in that case. BlockFirstBlock is not BlockBase. BlockFirstBlock is a literal "here's how you write your own block class." It is not the class you extend all your blocks from.
  4. Draco18s replied to OoDone's topic in Modder Support
    Do not make custom clients.
  5. Of course it does. Why would the server--the authoritative source for all things--not know about ticking entities. Your problem is that the function you're calling only exists on the client: /** * Updates the entity motion clientside, called by packets from the server */ @SideOnly(Side.CLIENT) public void setVelocity(double x, double y, double z) { this.motionX = x; this.motionY = y; this.motionZ = z; } If you want to modify motion on the server, just set the values directly. They're public.
  6. Considering that Forge, does in fact, fire the event in PlayerController, PlayerEntity, PlayerInteractionManager, ForgeHooks (getContainerItem) then the issue is in your code. I even tested it: [11:57:46.991] [Server thread/WARN] [co.dr.ha.HarderOres/]: PlayerDestroyItemEvent called So no, its not a bug in Forge. Its your code that's buggy.
  7. By whom? When? Where? Because you were not told to do that anywhere in this thread.
  8. You don't need this. Remove all references to it and nuke the file. It does nothing helpful. BlockBase already exists, its called Block. So you overrode a method to...return the same thing as base?
  9. https://github.com/FunAverage57/CustomWeaponsMod/blob/master/events/EventHandler#L194 What was wrong with sword.getItem() == ItemList.blue_rose_sword? You literally constructed a new item stack only to compare the contained items, and discard it. Good job wasting the GC's time. https://github.com/FunAverage57/CustomWeaponsMod/blob/master/events/EventHandler#L192 Why did you create this stack before checking if the broken item is the right thing? Good job wasting the GC's time. https://github.com/FunAverage57/CustomWeaponsMod/blob/master/events/EventHandler#L208 if(slotBlocket >= 0) ? Or for that matter: https://github.com/FunAverage57/CustomWeaponsMod/blob/master/events/EventHandler#L209 if(!player.inventory.removeStackFromSlot(slotBroken).isEmpty() { ... } But again: https://github.com/FunAverage57/CustomWeaponsMod/blob/master/events/EventHandler#L205 You create this stack before you're sure you need it.
  10. FYI this isn't a chat room, its a forum. You don't need to post every 30 seconds.
  11. Looks like a reference to EnumFacing. My guess at (regular, readable) Java for that whole line would be: switch(EnumFacing.VALUES[facing.ordinal()]) { ... }
  12. the eula is down inside the /run directory
  13. You need a _factories.json: https://github.com/Draco18s/ReasonableRealism/tree/1.12.1/src/main/resources/assets/hardlib/recipes
  14. To at least 1.12. At this point you may as well just skip straight to 1.14
  15. Also, make your mod ID longer. You have a limit of 64 characters. Use them.
  16. Ah I miscalculated things when I was looking at it. I missed this line here: https://github.com/drizzs/GrassWorld-1.14/blob/master/src/main/java/com/drizzs/grassworld/api/particle/types/EnchantedBlack.java#L22
  17. You need two with the current math.
  18. Hi! The line of code I pointed out references an array with the particle's currentFrame as an index value. That value is modified here. That math is guaranteed to return values other than 0. The array being referenced is here and contains only one value. Meaning that any index other than 0 is out of range.
  19. No. The client (ie the cheat mod in question) could simply not report itself entirely.
  20. Check the type hierarchy (that is, the existing vanilla classes that implement it). In 1.14 all the serializers extend IForgeRegistryEntry explicitly, rather than it being attached to the interface, so it probably is the same in 1.13 (which is weird, but whatever). F4 in Eclipse, or you can right click on it. (And if I'm wrong, I'm wrong. I updated to 1.14 pretty fast)
  21. addInformation is a method inside the Item class. It won't magically get called on your ItemInit class. You have to override it in your Item subclass. Secondly: This will always be false. Third: Don't use ItemBase. There's already a base item class, its called Item.
  22. Registering the class as an event subscriber requires that the event handler methods be static. I don't know how Kotlin defines that, but that's what the problem likely is.
  23. 1.13 doesn't use _factories any more. You need to register a serializer extends net.minecraftforge.registries.ForgeRegistryEntry<IRecipeSerializer<?>> implements IRecipeSerializer<R> (where R is your recipe class) within the appropriate registry event. https://github.com/Draco18s/ReasonableRealism/blob/1.14.4/src/main/java/com/draco18s/hardlib/api/recipe/RecipeTagOutput.java#L180 https://github.com/Draco18s/ReasonableRealism/blob/1.14.4/src/main/java/com/draco18s/hardlib/HardLib.java#L51 (my registry stuff is handled by my Easy Registry system, but its functionally the same as you'd expect).

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.