Jump to content

"Privatize/Hide/restrict access to" raw block place/break/replace methods


Recommended Posts

Posted

My idea is to Privatize/Hide/restrict access to raw block actions methods and create wrappers with REQUIRED(it is very important!!) REAL PLAYER NICKNAME(id?, maybe, normally PlayerEntity) parameter, who is responsible for this actions. And add block break/place/replace events in this wrappers with "cancelable" option.

Add required "OWNER" property to all TileEntities(maybe to all Entities) and to save it - real player nickname(id?).

 

It improves anti-griffing tools and world logging for admins. You will ALWAYS know all actions with every block(with logging mods).

 

Normally, need to create ONE master account for blocks and entities, which are generated by server(which are not affected by player) - npc villages, monsters, etc...

 

Usage examples:

  • ComputerCraft turtle will remember their owner and destroy/place blocks with owner's name.
  • RedPower, Applied Energetics (and other) block breakers/block deployers will break/place block with their owner's name.
  • IndustrialCraft 2 Miner...
  • IndustrialCraft 2 Laser... it generate small laser entities, which destroy blocks, with this modifications, this entity will have owner's nickname and affect blocks with this name.
  • RedPower, Redstone in Motion frame engines can save owner's nickname and generate block break/place events with this name...
  • GregTech,IC2,RP2 pumps...
  • IC2 nuclear reactor(on explosion), itnt, dynamite
  • TNT !!!
  • GraviSuite Vajra should be to add player's name parameter to its custom block breaking implementation on right mouse click...

 

Maybe, add new property to creepers/ender dragon(and other monsters, who can grif) which will be save nickname of player, who trigger mob action.

 

Nowadays, all modders create their custom implementations of this features. (block breaking/deploying actions, Forestry block privatization system)

 

P.S. Why do you always create modifications and hooks only(maybe I'm wrong) for single player? For me, multiplayer(10+ players) servers are very popular and, i think, forge developers could help admins of this servers...

P.S. I'm an admin of server with mods, who is tired of looking for reasons of griffing.

P.S. Sorry for my English :(

Posted

Modders should just save the name of the player who placed it in the tile entity.

THEN post the event in the name of said player.

Would make my life easier as well, as developer of a forge permissions mod.

Read the EAQ before posting! OR ELSE!

 

This isn't building better software, its trying to grab a place in the commit list of a highly visible github project.

 

www.forgeessentials.com

 

Don't PM me, I don't check this account unless I have to.

Posted

Modders should just save the name of the player who placed it in the tile entity.

THEN post the event in the name of said player.

Every modder need to code it in every mod, in every tileentity. I think, forge could do it automatically.

Posted

before LexManos replies to this, I'm going to assume he'll say something along the lines of

we won't do it because there's no guarantee people would do anything with it and it could cause problems if someone does things they shouldn't ...

personally I think just having a way to detect which player broke what block would be enough. maybe an event or method?

Posted

personally I think just having a way to detect which player broke what block would be enough. maybe an event or method?

And create environment, where modders cannot avoid "send event, check if is it cancelled -> cancel action"

Posted
Every modder need to code it in every mod, in every tileentity. I think, forge could do it automatically.

 

<sarcasm>

im the owner of a server for my mod, i really wanted to spend hours and hours trying to see if "sweetcat13" if friend with "monkeypower136" and did he/she had a good reason to break his block. that would be awesome!

</sarcasm>

 

if you look at forge repo theres 1-2 PR about block break/place method as well as at least 2 coremods that implement something like this (forge essentials and mine, probably more)

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • The game crashed whilst unexpected error Error: net.minecraftforge.fml.ModLoadingException: Advanced Mining Dimension (mining_dimension) encountered an error during the done event phase
    • Here is the end of the log. it was way too big to put in pastebin, but I started from when I was online and everything was fine. Error should be in here: https://pastebin.com/Sdhdq593
    • Update: I stand corrected as I was able to dig up a relevant log from my earlier testing which highlights the overall issue but does not explain how to solve it. See, Diagnostic Logs for pack.mcmeta not found: https://pastebin.com/LXS8Rtna
    • Which mod was this? What are all the mods that were in use? It will help if enough information to replicate the problem is available.
    • I have been attempting to create a supplementary resource pack with Patchouli in order to add back the guidebook for Better End but unfortunately in every prototype I have made pack.mcmeta and my resource pack are not recognized. I have tested both zipped and unzipped and either way curseforge does not recognize my resource pack as existing. For testing I stripped my pack down to just the pack.mcmeta file and two empty folders labelled data and assets and I know the data folder is not the problem as firstly my first attempts just had an assets folder following Patchouli instructions and data came later in my flailing attempts to make anything in my pack work. The mcmeta file is not recognized whether or not I use this:  { "pack": { "pack_format": 15, "description": "A replacement for the BetterEnd Guide Book." } "language": { "en_US": { "name": "English", "region": "United States" } } } ,or this:  { "pack": { "pack_format": 15, "description": "A replacement for the BetterEnd Guide Book." } } I have made sure to only use lowercase and the pack folder is named better-end-guide. Is this some magic nonsense from me doing this manually instead of using an IDE or similar tool? Could it be because my files are by default in UTF-8 even though ANSI gives the same results? Is there a specific community secret tool I am supposed to use for zipping or specific settings? I am pulling my hair in distress. Unfortunately as there are no errors involved I lack logs to offer, if that disqualifies this thread please do not be harsh and instead if you can then please direct me to a forum with different rules and sufficiently respectful but knowledgeable as to be of assistance. Most of my experience with the programming community has been poor and so naturally I find myself wary.
  • Topics

×
×
  • Create New...

Important Information

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