He/Him
Level 61
High Grandmaster Senpai
116

Forum Posts

521 - 540 of 1,045

    ShelLuser
    09/20/2018 11:19 pm
    He/Him • Level 61 : High Grandmaster Senpai
    I would actually strongly suggest against this idea and instead rely on an external hosting provider, simply because there are plenty of caveats which can be difficult to overcome. The most obvious problem: what if you get the wrong kind of player(s) onboard, you ban them and they retaliate with a DDoS attack? Now you'll be fully cut off from the Internet, won't even be able to read your e-mail or check up with online banking. That's a risk which I think isn't worth taking.

    Then there's also something as backups, the one thing most people completely overlook or ignore. How are you going to cope for redundancy? Are you familiar with RAID by any chance? It's the process where you use one (or more) harddisks together at the same time so that when one fails others will take over. It's essential for a server, even home based NAS devices currently use it (Network Accessible Storage).

    Considering the amounts of hosting providers out there I think you'll be better off switching to another. Because another aspect is your Internet connection; usually you get more download speed and less upload speed whereas an ISP will provide much higher and broader speed ranges. It's not merely about having a good upload speed; the balance is important too. If your server receives more information than it can sent out ("process") then that by itself could also cause problems, even lag. I don't see this happening with a smaller amount of players but it is something to keep in mind.

    But even so... what kind of lag are we talking about here? There are different kinds of lag and it seems to me as if you're mixing stuff up. "TPS problems and lag", what does this mean? Can you be more descriptive? So you got 9 Gb of RAM, how sure are you that Java is also actually using any of this? Did you change the way you start your server to specify that it should use more?

    You don't fight lag by merely changing a few gaming options (rendering distance) and optionally throwing some anti-lag plugins at it. Don't get me wrong: they will do their thing and help out a bit, but what if your problem isn't caused by the game itself? What is the speed of your harddisks, what is the speed of your memory?

    The first thing you do is configure and optimize your Java Virtual Machine ("JVM") and you do that by editing the command line parameter to start the server. Make sure that Java knows and actually uses all that memory, optimize the so called garbage collection (for example by telling Java that it should do parallel garbage collecting), increase the heap.. I can't help but think that this can be a major factor for your current problems.

    Here is a good guide on optimizing a Spigot server for better performance, and I'd like to explicitly point your attention to a JVM optimizing guide written by Aikar; considering your problems I'd say it's a must-read.

    Only if that fails then you might want to start looking around for different hosting. See: not having a dedicated CPU core doesn't mean anything. I'm running a small server myself in a FreeBSD jail (virtualization merely for security purposes; making sure to separate the Java process from my main host) and even without a dedicated core or CPU for that matter I don't experience too much lag.
    2
    ShelLuser
    09/20/2018 12:00 am
    He/Him • Level 61 : High Grandmaster Senpai
    First: your function is a bit of a mess. Don't leave initialization code in the same function you plan on constantly running because it'll be a waste of resources. Although constantly trying to create objectives which already exist may not immediately cause lag it will gobble up precious resources which over time could cause more problems. Especially if you use this design in other functions or datapacks.

    This is also why it's preferable not to blindly run commands to try and see if they work but instead set up a condition and test for that before running the actual command. It doesn't always work this way, but when it does it can save (some) resources.

    So... to make sure I got this right: you have 2 custom items and want one item to change into the other once the player drops it on the ground. Therefor the key is not to end up in an endless cycle of changing items (one into the other). Because of that I wouldn't go for an endless running check but instead make this event driven.

    You're using two different variants of a diamond hoe, that makes it easy because the only event we would need to check for is the player dropping a diamond hoe.
    • /scoreboard objectives add dropped_hoe minecraft.dropped:minecraft.diamond_hoe
    So far the preparation, this could be your function:


    execute if entity @a[scores={dropped_hoe=1}] as @p[scores={dropped_hoe=1}] run tag @s add reset_hoe
    execute at @p[tag=reset_hoe] as @e[type=minecraft:item,tag=!orig,distance=..4,nbt={Item:{id:"minecraft:diamond_hoe"}}] run tag @s add orig
    execute at @e[type=minecraft:item,tag=orig,nbt={Item:{tag:{display:{Name:"\"Test\""}}}}] run summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond_hoe",Count:1b,tag:{display:{Name:"\"Done\""}}}}
    execute at @e[type=minecraft:item,tag=orig,nbt={Item:{tag:{display:{Name:"\"Done\""}}}}] run summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:diamond_hoe",Count:1b,tag:{display:{Name:"\"Test\""}}}}
    execute at @p[tag=reset_hoe] run kill @e[tag=orig,distance=..5]
    scoreboard players reset @a[tag=reset_hoe] dropped_hoe
    tag @a[tag=reset_hoe] remove reset_hoe

    Note: this will insta-add the new item to the players inventory, I only focused on solving the "endless loop" problem and not so much any cosmetic details.

    So, the moment you give yourself a diamond hoe named "Test":
    • /give @p minecraft:diamond_hoe{display:{Name:"\"Test\""}}
    ... and then drop this on the ground you'll immediately get a hoe back which is named 'Done'. Drop that one on the ground and you'll get 'Test' back. All that's left to do is fill in the right nbt tags you want to test for and you should be home free.
    1
    ShelLuser
    09/19/2018 6:36 pm
    He/Him • Level 61 : High Grandmaster Senpai
    history
    Using a server is not the same as administrating it. You need to register with a hosting provider due to the administration process, but that doesn't mean that all other users of that server have to register as well.
    1
    ShelLuser
    09/19/2018 3:32 pm
    He/Him • Level 61 : High Grandmaster Senpai
    I didn't assume that what you're saying was false, all I said was that I doubt that it would work and I still do. Don't try to read between the lines please. See: I never insinuated that your commands were wrong; all I said was that you couldn't use variables in commands in order to generate the right summon command.

    And to get the proper effect which is least affected by things like lag and other possible hiccups you really want to summon the entity as you want it to be; so using the right Motion parameters from the get-go. Reason for that is two-fold: first possible glitching, but most of all the fact that a falling block is affected by gravity so the longer you wait to apply the right motion (even a few ticks) the more risk you'll take that you're going to have to compensate for that "out of the box" motion in some way. And then you're over complicating things.

    As for me being familiar with commands or not; well, you could do your own form of research on that as well :P
    1
    ShelLuser
    09/19/2018 3:19 pm
    He/Him • Level 61 : High Grandmaster Senpai
    history
    Can you show us exactly what you're doing? Because sure, you can use the new ^ coordinates without changing anything, you do that in the same way you use the ~ positioning.

    If I had to guess at what could be causing your issues is: /execute at vs. /execute positioned as. Both commands somewhat do the same with the major difference that 'positioned as' doesn't compensate for rotation while the first does; so if you use ^ then the actual position will always depend on rotation of the player. So if the player is looking at the ground then ^ ^ ^3 wouldn't merely mean "3 blocks in front of the player"; it would also compensate for rotation and therefor lower the y axis as well to compensate.

    You can resolve that by using positioned as.
    1
    ShelLuser
    09/19/2018 2:38 pm
    He/Him • Level 61 : High Grandmaster Senpai
    No. If you didn't have to use an ID then how would they know that it was you trying to (re)configure or administrate it instead of someone else?
    1
    ShelLuser
    09/19/2018 6:08 am
    He/Him • Level 61 : High Grandmaster Senpai
    history
    Sure, but those options are limited. You cannot use those results in unrelated commands, such as summon parameters. So values which you might be able to obtain using data get (which in itself is limited to entities and block entities) cannot be magically substituted in Motion parameters.

    (edit) And I'm sure you'd know what the problem is if you first summon an entity and then later on try to merge Motion data into it.
    1
    ShelLuser
    09/18/2018 11:35 pm
    He/Him • Level 61 : High Grandmaster Senpai
    Rotten flesh has a use: you can feed it to wolves and they'll breed. In 1.13 every item pretty much has a use, the only thing left I can come up with are poisonous potatoes.
    2
    ShelLuser
    09/18/2018 11:32 pm
    He/Him • Level 61 : High Grandmaster Senpai
    Now, I honestly dislike "RTFM" kind of answers but considering the complexity of the whole thing and the current availability of documentation my suggestion is still to read the fine manual. The Forge website has a complete manual on how to get started. Just follow their examples and you should be good.

    And the reason I still went for this route is because programming / developing consists of plenty of reading documentation, especially if you're going to use an API of some sorts in order to develop programs for it.
    1
    ShelLuser
    09/18/2018 11:25 pm
    He/Him • Level 61 : High Grandmaster Senpai
    I'm not exactly sure what you're asking. One moment you talk about the infinity of the world but the other you're talking about being able to load the full world into memory, leaving me confused. Is this about the world being infinite or about being able to have the full world active no matter where you are?

    Still either way, there isn't much to discuss I think because the world is pretty much infinite. But being infinite or not still leaves 0 impact on our gameplay. You said it yourself: when you move to another area then the area you left would get unloaded therefor becomes inactive; it won't "do" anything. Even if the world would be fully infinite (so without the world border) you'd still be playing with this mechanic so effectively nothing changes other than being able to move towards insanely high coordinates.

    But like I said: it wouldn't change the game. Because if you were to play the game normally, as intended, then even in the current situation you'd never reach the border "just like that".

    Then there's the concept of everything remaining active. Also something which wouldn't leave much of an impact because you wouldn't be the wiser anyway. The only situation where this could have impact is if you had one (or more) farms which collected resources for you. But you'd only notice that after you got back. And even better: there already is a way to achieve this impression by using the /chunk command; by forceloading one (or more) chunk(s) you're telling the game that it should remain active no matter what. Normally not something you'd notice but if you do this with chunks which contain a farm then you've just generated the same experience.

    Therefor I don't see how this would affect the game in any way.
    2
    ShelLuser
    09/18/2018 7:17 pm
    He/Him • Level 61 : High Grandmaster Senpai
    Good call, I totally overlooked the Time property, that's why it didn't work for me.
    1
    ShelLuser
    09/18/2018 7:16 pm
    He/Him • Level 61 : High Grandmaster Senpai
    It is doable but it's going to take quite a bit of scripting. The main problem, as mentioned by Pepijn, is that you cannot use relative directions within the summon command. Quite frankly I doubt that Pepijn's idea is going to work because Minecraft doesn't know the concept of variables. Ergo: you can't "just" grab a value from somewhere and then put that into a command of some sort.

    So the solution is to check in which direction a player is looking and then setting the motion value based on that. I'll demonstrate looking west and south.

    Looking west means that the y rotation sits between 80 and 100 (see the debug screen), so we get this:
    • /execute positioned as ShelLuser if entity @s[y_rotation=80..100] run summon minecraft:falling_block ^ ^1 ^1 {BlockState:{Name:"minecraft:bedrock"},Time:1,Motion:[-1.0,0.0,0.0]}
    So this would only run when I'm facing within a rotation of 80 to 100, which equals to facing west. Facing West means a negative x and therefor the motion is -1,0,0 (rounded up). Facing South would mean a y rotation of -30 to 30 and a positive z. Therefor we'd need this command:
    • /execute positioned as ShelLuser if entity @s[y_rotation=-30..30] run summon minecraft:falling_block ^ ^1 ^1 {BlockState:{Name:"minecraft:bedrock"},Time:1,Motion:[0.0,0.0,1.0]}

    So the key to your solution is to set up 5 different commands (checking for North will require 2; rotation sits roughly between 160..180 and -180..-160) which all check the direction the player is facing. And if that matches you execute a summon command with the appropriate motion (examples above).
    1
    ShelLuser
    09/18/2018 1:49 pm
    He/Him • Level 61 : High Grandmaster Senpai
    If you know the coordinates of the portal then you can use /fill to destroy the portal blocks. For example: /fill -270 57 271 -270 57 271 minecraft:air.
    1
    ShelLuser
    09/17/2018 3:05 pm
    He/Him • Level 61 : High Grandmaster Senpai
    Sure, although I'm not exactly sure what you mean (though I could be looking into this too much ;)). So, I think you want either of these:
    • You're playing in survival, you want to hop into creative mode but because you disabled cheat codes this no longer works.
    • You're playing in a creative world and everyone who joins your world will therefor also start in creative mode. But... you started a creative wold to build an adventure map. So how do you now get new players into adventure mode?
    If I got it wrong then please let me know. Either way: both problems can be solved.

    #1 From survival to creative, no cheat codes.

    It's actually really simple: pause your game, click "Open to LAN" and be sure to enable cheat codes. Now you can fully use cheat codes to do whatever you like. But only during this session; as soon as you quit your game and then start it again later the cheat codes will also be turned off again. BUT.. your gamemode obviously retains (stays the same).

    This is actually the best way (in my opinion) to set up an adventure world. Start in adventure mode, open to LAN, enable cheat codes and go into creative. But everyone else who eventually will try your world will start in adventure mode.

    #2 From creative to adventure

    This is also easily doable but you're going to need command blocks. Also: get yourself a compass because you're for this to work you need to place these command blocks in the so called spawn chunks, you can find these in the world spawn which is what the compass is always pointing to. The reason for this is because this area will always remain active, even if there are no players around whereas a normal section in the world will eventually get unloaded after players leave it.

    Place a repeating command block which is always active:
    • gamemode survival @a[gamemode=!survival,name=!TheBigerGamer]

    This would ensure that every player that starts your world will be placed into survival mode unless they're also playing in survival (this can reduce gamecycles). It also wouldn't affect you so that you can continue working on the world if you have to.

    Hope this can help!
    1
    ShelLuser
    09/17/2018 2:29 pm
    He/Him • Level 61 : High Grandmaster Senpai
    I'm not surprised to be honest. There versions are old and were also made with older Java editions in mind.

    My suggestion: rename your .minecraft folder to something else before starting the old version. This will also protect your current settings which otherwise would get messed up, but it will also make sure that the old version can actually run.

    Then try to start it.
    2
    ShelLuser
    09/17/2018 7:06 am
    He/Him • Level 61 : High Grandmaster Senpai
    The good news is that this should indeed work in theory. If you check the entity nbt data then you'll notice that it does indeed support the motion:[] property so you should be able to "shoot" it out. However, so far I haven't been able to get any falling block to work properly on 1.13.
    2
    ShelLuser
    09/16/2018 10:24 pm
    He/Him • Level 61 : High Grandmaster Senpai
    I like your thinking. Theoretically it should be doable since you can /summon moving targets and a falling block is (or was) just that. Haven't tried this for myself yet but I'll give it a try later on and share my findings.
    2
    ShelLuser
    09/17/2018 7:06 am
    He/Him • Level 61 : High Grandmaster Senpai
    The good news is that this should indeed work in theory. If you check the entity nbt data then you'll notice that it does indeed support the motion:[] property so you should be able to "shoot" it out. However, so far I haven't been able to get any falling block to work properly on 1.13.
    2
    ShelLuser
    09/16/2018 2:47 pm
    He/Him • Level 61 : High Grandmaster Senpai
    Is this for 1.12 or 1.13? Also: mob spawners with custom mobs in them are currently bugged on Minecraft, especially 1.12. Meaning that if you set up a custom spawner with a command then after spawning the mobs one time it'll default back to pigs.
    1
    ShelLuser
    09/15/2018 8:48 am
    He/Him • Level 61 : High Grandmaster Senpai
    Which stronghold did you find though? A Minecraft world spawns several, so it would help if you could share your coordinates to make sure we're checking the same one as you.

    Anyway, interesting seed it seems. I fired up 1.13 and located a stronghold at 280, 2184, it's right below a taiga biome. I have to say that the underground structures look very appealing to explore because I noticed that the Stronghold which I found lies directly next to an abandoned mineshaft, which creates some interesting mixtures (though small).

    But the End portal is there, right in the middle below the library. 260, 12, 2180.
    1

521 - 540 of 1,045

Welcome