Skip to content

Commit

Permalink
Move the classes and key registration as well.
Browse files Browse the repository at this point in the history
  • Loading branch information
me4502 committed Apr 22, 2017
1 parent 38e8b0c commit a5b3b09
Show file tree
Hide file tree
Showing 13 changed files with 62 additions and 60 deletions.
Expand Up @@ -28,7 +28,7 @@
import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.MultiBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.BlockFilter;
import com.sk89q.craftbook.sponge.util.BlockUtil;
import com.sk89q.craftbook.sponge.util.SignUtil;
Expand Down
Expand Up @@ -28,7 +28,7 @@
import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.MultiBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.BlockFilter;
import com.sk89q.craftbook.sponge.util.BlockUtil;
import com.sk89q.craftbook.sponge.util.SignUtil;
Expand Down
Expand Up @@ -29,7 +29,7 @@
import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.MultiBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.BlockFilter;
import com.sk89q.craftbook.sponge.util.BlockUtil;
import com.sk89q.craftbook.sponge.util.SignUtil;
Expand Down
Expand Up @@ -26,8 +26,8 @@
import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.IdentifiableBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.BlockBagData;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.mutable.BlockBagData;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.mechanics.types.SpongeSignMechanic;
import com.sk89q.craftbook.sponge.util.BlockFilter;
import com.sk89q.craftbook.sponge.util.BlockUtil;
Expand Down Expand Up @@ -155,15 +155,15 @@ public BlockBag getBlockBag(Location<World> location) {
Optional<ModuleWrapper> moduleWrapper = CraftBookPlugin.spongeInst().moduleController.getModule("blockbag");
if (moduleWrapper.isPresent() && moduleWrapper.get().isEnabled()) {
BlockBagManager manager = ((BlockBagManager) moduleWrapper.get().getModule().get());
Optional<Long> blockBag = location.get(BlockBagManager.BLOCK_BAG);
Optional<Long> blockBag = location.get(CraftBookKeys.BLOCK_BAG);
if (blockBag.isPresent()) {
Optional<IdentifiableBlockBag> foundBlockBag = blockBag.map(manager::getBlockBag);
if (foundBlockBag.isPresent()) {
return foundBlockBag.get();
}
}

Optional<EmbeddedBlockBag> embeddedBlockBag = location.get(BlockBagManager.EMBEDDED_BLOCK_BAG);
Optional<EmbeddedBlockBag> embeddedBlockBag = location.get(CraftBookKeys.EMBEDDED_BLOCK_BAG);
if (embeddedBlockBag.isPresent()) {
return embeddedBlockBag.get();
}
Expand Down
Expand Up @@ -16,10 +16,6 @@
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags;

import static org.spongepowered.api.data.DataQuery.of;
import static org.spongepowered.api.data.key.KeyFactory.makeSingleKey;

import com.google.common.reflect.TypeToken;
import com.google.inject.Inject;
import com.me4502.modularframework.module.Module;
import com.me4502.modularframework.module.guice.ModuleConfiguration;
Expand All @@ -28,10 +24,7 @@
import com.sk89q.craftbook.core.util.documentation.DocumentationProvider;
import com.sk89q.craftbook.sponge.mechanics.types.SpongeMechanic;
import com.sk89q.craftbook.sponge.util.SpongePermissionNode;
import com.sk89q.craftbook.sponge.util.type.TypeTokens;
import ninja.leaping.configurate.ConfigurationNode;
import org.spongepowered.api.data.key.Key;
import org.spongepowered.api.data.value.mutable.Value;
import org.spongepowered.api.service.permission.PermissionDescription;

import java.util.HashSet;
Expand All @@ -41,13 +34,6 @@
@Module(id = "blockbag", name = "BlockBag", onEnable="onInitialize", onDisable="onDisable")
public class BlockBagManager extends SpongeMechanic implements DocumentationProvider {

public static Key<Value<EmbeddedBlockBag>> EMBEDDED_BLOCK_BAG = makeSingleKey(new TypeToken<EmbeddedBlockBag>() {},
new TypeToken<Value<EmbeddedBlockBag>>() {}, of("EmbeddedBlockBag"), "craftbook:embeddedblockbag",
"EmbeddedBlockBag");

public static Key<Value<Long>> BLOCK_BAG = makeSingleKey(new TypeTokens.LongTypeToken(),
new TypeTokens.LongValueTypeToken(), of("BlockBag"), "craftbook:blockbag", "BlockBag");

public SpongePermissionNode adminPermissions = new SpongePermissionNode("craftbook.blockbag.admin",
"Allows usage of admin block bags.", PermissionDescription.ROLE_ADMIN);

Expand Down
Expand Up @@ -18,12 +18,12 @@

import com.sk89q.craftbook.sponge.CraftBookPlugin;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.BlockBagData;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.BlockBagDataManipulatorBuilder;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.EmbeddedBlockBagDataBuilder;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.ImmutableBlockBagData;
import com.sk89q.craftbook.sponge.mechanics.blockbags.data.ImmutableEmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.mutable.BlockBagData;
import com.sk89q.craftbook.sponge.util.data.builder.BlockBagDataManipulatorBuilder;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.builder.EmbeddedBlockBagDataBuilder;
import com.sk89q.craftbook.sponge.util.data.immutable.ImmutableBlockBagData;
import com.sk89q.craftbook.sponge.util.data.immutable.ImmutableEmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.builder.ICDataManipulatorBuilder;
import com.sk89q.craftbook.sponge.util.data.builder.LastPowerDataManipulatorBuilder;
import com.sk89q.craftbook.sponge.util.data.builder.NamespaceDataBuilder;
Expand Down
Expand Up @@ -20,6 +20,7 @@
import static org.spongepowered.api.data.key.KeyFactory.makeSingleKey;

import com.google.common.reflect.TypeToken;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.mechanics.ics.SerializedICData;
import com.sk89q.craftbook.sponge.util.type.TypeTokens;
import org.spongepowered.api.data.key.Key;
Expand All @@ -36,4 +37,11 @@ public class CraftBookKeys {

public static Key<Value<String>> NAMESPACE = makeSingleKey(TypeToken.of(String.class),
new TypeToken<Value<String>>(){}, of("Namespace"), "craftbook:namespace", "Namespace");

public static Key<Value<Long>> BLOCK_BAG = makeSingleKey(new TypeTokens.LongTypeToken(),
new TypeTokens.LongValueTypeToken(), of("BlockBag"), "craftbook:blockbag", "BlockBag");

public static Key<Value<EmbeddedBlockBag>> EMBEDDED_BLOCK_BAG = makeSingleKey(new TypeToken<EmbeddedBlockBag>() {},
new TypeToken<Value<EmbeddedBlockBag>>() {}, of("EmbeddedBlockBag"), "craftbook:embeddedblockbag",
"EmbeddedBlockBag");
}
Expand Up @@ -14,9 +14,11 @@
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags.data;
package com.sk89q.craftbook.sponge.util.data.builder;

import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.util.data.immutable.ImmutableBlockBagData;
import com.sk89q.craftbook.sponge.util.data.CraftBookKeys;
import com.sk89q.craftbook.sponge.util.data.mutable.BlockBagData;
import org.spongepowered.api.data.DataHolder;
import org.spongepowered.api.data.DataView;
import org.spongepowered.api.data.manipulator.DataManipulatorBuilder;
Expand Down Expand Up @@ -45,8 +47,8 @@ public Optional<BlockBagData> createFrom(DataHolder dataHolder) {

@Override
protected Optional<BlockBagData> buildContent(DataView container) throws InvalidDataException {
if (container.contains(BlockBagManager.BLOCK_BAG.getQuery())) {
return Optional.of(new BlockBagData(container.getLong(BlockBagManager.BLOCK_BAG.getQuery()).get()));
if (container.contains(CraftBookKeys.BLOCK_BAG.getQuery())) {
return Optional.of(new BlockBagData(container.getLong(CraftBookKeys.BLOCK_BAG.getQuery()).get()));
}

return Optional.empty();
Expand Down
Expand Up @@ -14,10 +14,12 @@
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags.data;
package com.sk89q.craftbook.sponge.util.data.builder;

import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.util.data.immutable.ImmutableEmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.CraftBookKeys;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import org.spongepowered.api.data.DataHolder;
import org.spongepowered.api.data.DataView;
import org.spongepowered.api.data.manipulator.DataManipulatorBuilder;
Expand Down Expand Up @@ -45,8 +47,8 @@ public Optional<EmbeddedBlockBagData> createFrom(DataHolder dataHolder) {

@Override
protected Optional<EmbeddedBlockBagData> buildContent(DataView container) throws InvalidDataException {
if (container.contains(BlockBagManager.EMBEDDED_BLOCK_BAG.getQuery())) {
return Optional.of(new EmbeddedBlockBagData(container.getSerializable(BlockBagManager.EMBEDDED_BLOCK_BAG.getQuery(),
if (container.contains(CraftBookKeys.EMBEDDED_BLOCK_BAG.getQuery())) {
return Optional.of(new EmbeddedBlockBagData(container.getSerializable(CraftBookKeys.EMBEDDED_BLOCK_BAG.getQuery(),
EmbeddedBlockBag.class).get()));
}

Expand Down
Expand Up @@ -14,9 +14,10 @@
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags.data;
package com.sk89q.craftbook.sponge.util.data.immutable;

import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.util.data.CraftBookKeys;
import com.sk89q.craftbook.sponge.util.data.mutable.BlockBagData;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.data.DataContainer;
import org.spongepowered.api.data.manipulator.immutable.common.AbstractImmutableSingleData;
Expand All @@ -27,13 +28,13 @@
public class ImmutableBlockBagData extends AbstractImmutableSingleData<Long, ImmutableBlockBagData, BlockBagData> {

public ImmutableBlockBagData(Long value) {
super(value, BlockBagManager.BLOCK_BAG);
super(value, CraftBookKeys.BLOCK_BAG);
}

@Override
protected ImmutableValue<Long> getValueGetter() {
return Sponge.getRegistry().getValueFactory()
.createValue(BlockBagManager.BLOCK_BAG, getValue())
.createValue(CraftBookKeys.BLOCK_BAG, getValue())
.asImmutable();
}

Expand All @@ -45,7 +46,7 @@ public BlockBagData asMutable() {
@Override
public DataContainer toContainer() {
return super.toContainer()
.set(BlockBagManager.BLOCK_BAG, this.getValue());
.set(CraftBookKeys.BLOCK_BAG, this.getValue());
}

@Override
Expand Down
Expand Up @@ -14,28 +14,29 @@
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags.data;
package com.sk89q.craftbook.sponge.util.data.immutable;

import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.util.data.CraftBookKeys;
import com.sk89q.craftbook.sponge.util.data.mutable.EmbeddedBlockBagData;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.data.manipulator.immutable.common.AbstractImmutableSingleData;
import org.spongepowered.api.data.value.immutable.ImmutableValue;

public class ImmutableEmbeddedBlockBagData extends AbstractImmutableSingleData<EmbeddedBlockBag, ImmutableEmbeddedBlockBagData, EmbeddedBlockBagData> {

protected ImmutableEmbeddedBlockBagData() {
public ImmutableEmbeddedBlockBagData() {
this(null);
}

protected ImmutableEmbeddedBlockBagData(EmbeddedBlockBag value) {
super(value, BlockBagManager.EMBEDDED_BLOCK_BAG);
public ImmutableEmbeddedBlockBagData(EmbeddedBlockBag value) {
super(value, CraftBookKeys.EMBEDDED_BLOCK_BAG);
}

@Override
protected ImmutableValue<EmbeddedBlockBag> getValueGetter() {
return Sponge.getRegistry().getValueFactory()
.createValue(BlockBagManager.EMBEDDED_BLOCK_BAG, getValue())
.createValue(CraftBookKeys.EMBEDDED_BLOCK_BAG, getValue())
.asImmutable();
}

Expand Down
Expand Up @@ -14,9 +14,10 @@
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags.data;
package com.sk89q.craftbook.sponge.util.data.mutable;

import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.util.data.immutable.ImmutableBlockBagData;
import com.sk89q.craftbook.sponge.util.data.CraftBookKeys;
import com.sk89q.craftbook.sponge.util.data.util.AbstractLongData;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.data.DataContainer;
Expand All @@ -35,12 +36,12 @@ public BlockBagData() {
}

public BlockBagData(long value) {
super(value, BlockBagManager.BLOCK_BAG);
super(value, CraftBookKeys.BLOCK_BAG);
}

public Value<Long> blockBag() {
return Sponge.getRegistry().getValueFactory()
.createValue(BlockBagManager.BLOCK_BAG, getValue());
.createValue(CraftBookKeys.BLOCK_BAG, getValue());
}

@Override
Expand All @@ -59,8 +60,8 @@ public Optional<BlockBagData> fill(DataHolder dataHolder, MergeFunction overlap)

@Override
public Optional<BlockBagData> from(DataContainer container) {
if (container.contains(BlockBagManager.BLOCK_BAG.getQuery())) {
return Optional.of(new BlockBagData(container.getLong(BlockBagManager.BLOCK_BAG.getQuery()).get()));
if (container.contains(CraftBookKeys.BLOCK_BAG.getQuery())) {
return Optional.of(new BlockBagData(container.getLong(CraftBookKeys.BLOCK_BAG.getQuery()).get()));
}

return Optional.empty();
Expand All @@ -79,7 +80,7 @@ public ImmutableBlockBagData asImmutable() {
@Override
public DataContainer toContainer() {
return super.toContainer()
.set(BlockBagManager.BLOCK_BAG, this.getValue());
.set(CraftBookKeys.BLOCK_BAG, this.getValue());
}

@Override
Expand Down
Expand Up @@ -14,10 +14,11 @@
* You should have received a copy of the GNU General Public License along with this program. If not,
* see <http://www.gnu.org/licenses/>.
*/
package com.sk89q.craftbook.sponge.mechanics.blockbags.data;
package com.sk89q.craftbook.sponge.util.data.mutable;

import com.sk89q.craftbook.sponge.mechanics.blockbags.BlockBagManager;
import com.sk89q.craftbook.sponge.mechanics.blockbags.EmbeddedBlockBag;
import com.sk89q.craftbook.sponge.util.data.immutable.ImmutableEmbeddedBlockBagData;
import com.sk89q.craftbook.sponge.util.data.CraftBookKeys;
import org.spongepowered.api.Sponge;
import org.spongepowered.api.data.DataContainer;
import org.spongepowered.api.data.DataHolder;
Expand All @@ -34,12 +35,12 @@ public EmbeddedBlockBagData() {
}

public EmbeddedBlockBagData(EmbeddedBlockBag value) {
super(value, BlockBagManager.EMBEDDED_BLOCK_BAG);
super(value, CraftBookKeys.EMBEDDED_BLOCK_BAG);
}

public Value<EmbeddedBlockBag> embeddedBlockBag() {
return Sponge.getRegistry().getValueFactory()
.createValue(BlockBagManager.EMBEDDED_BLOCK_BAG, getValue());
.createValue(CraftBookKeys.EMBEDDED_BLOCK_BAG, getValue());
}

@Override
Expand All @@ -58,8 +59,8 @@ public Optional<EmbeddedBlockBagData> fill(DataHolder dataHolder, MergeFunction

@Override
public Optional<EmbeddedBlockBagData> from(DataContainer container) {
if (container.contains(BlockBagManager.EMBEDDED_BLOCK_BAG.getQuery())) {
return Optional.of(new EmbeddedBlockBagData(container.getSerializable(BlockBagManager.EMBEDDED_BLOCK_BAG.getQuery(),
if (container.contains(CraftBookKeys.EMBEDDED_BLOCK_BAG.getQuery())) {
return Optional.of(new EmbeddedBlockBagData(container.getSerializable(CraftBookKeys.EMBEDDED_BLOCK_BAG.getQuery(),
EmbeddedBlockBag.class).get()));
}

Expand All @@ -79,7 +80,7 @@ public ImmutableEmbeddedBlockBagData asImmutable() {
@Override
public DataContainer toContainer() {
return super.toContainer()
.set(BlockBagManager.EMBEDDED_BLOCK_BAG, getValue());
.set(CraftBookKeys.EMBEDDED_BLOCK_BAG, getValue());
}

@Override
Expand Down

10 comments on commit a5b3b09

@mibby
Copy link

@mibby mibby commented on a5b3b09 Apr 26, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@me4502 Can't seem to submit an issue on the issue tracker (says field can only be changed by developers despite not changing any fields), so I'll just post the NPE here. :)

[20:39:38] [Server thread/INFO]: player issued server command: /sign edit 0 &1-&4-&1-&4&1-&4-&1-&4&1-&4-&1-&4&1-&4-&1-&4&1-&4-&1-&4
[20:39:38] [Server thread/WARN]: com.sk89q.minecraft.util.commands.WrappedCommandException: java.lang.ArrayIndexOutOfBoundsException: -1
[20:39:38] [Server thread/WARN]: 	at com.sk89q.minecraft.util.commands.CommandsManager.invokeMethod(CommandsManager.java:538)
[20:39:38] [Server thread/WARN]: 	at com.sk89q.minecraft.util.commands.CommandsManager.executeMethod(CommandsManager.java:516)
[20:39:38] [Server thread/WARN]: 	at com.sk89q.minecraft.util.commands.CommandsManager.executeMethod(CommandsManager.java:471)
[20:39:38] [Server thread/WARN]: 	at com.sk89q.minecraft.util.commands.CommandsManager.execute(CommandsManager.java:409)
[20:39:38] [Server thread/WARN]: 	at com.sk89q.craftbook.bukkit.CraftBookPlugin.onCommand(CraftBookPlugin.java:689)
[20:39:38] [Server thread/WARN]: 	at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:54)
[20:39:38] [Server thread/WARN]: 	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:151)
[20:39:38] [Server thread/WARN]: 	at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:675)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.PlayerConnection.handleCommand(PlayerConnection.java:1393)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1198)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.java:45)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.PacketPlayInChat.a(PacketPlayInChat.java:5)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14)
[20:39:38] [Server thread/WARN]: 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[20:39:38] [Server thread/WARN]: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:830)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:403)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:754)
[20:39:38] [Server thread/WARN]: 	at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:652)
[20:39:38] [Server thread/WARN]: 	at java.lang.Thread.run(Thread.java:748)
[20:39:38] [Server thread/WARN]: Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
[20:39:38] [Server thread/WARN]: 	at com.sk89q.craftbook.mechanics.signcopier.SignEditCommands.editSign(SignEditCommands.java:37)
[20:39:38] [Server thread/WARN]: 	at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
[20:39:38] [Server thread/WARN]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[20:39:38] [Server thread/WARN]: 	at java.lang.reflect.Method.invoke(Method.java:498)
[20:39:38] [Server thread/WARN]: 	at com.sk89q.minecraft.util.commands.CommandsManager.invokeMethod(CommandsManager.java:528)
[20:39:38] [Server thread/WARN]: 	... 20 more

@me4502
Copy link
Member Author

@me4502 me4502 commented on a5b3b09 Apr 26, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mibby Thanks, just fixed. I'll ping wizjany to see why you can't make them.

@me4502
Copy link
Member Author

@me4502 me4502 commented on a5b3b09 Apr 26, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mibby Had you selected a project before making the issue? That's required.

@mibby
Copy link

@mibby mibby commented on a5b3b09 Apr 28, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@me4502 Yeah, I was under the CraftBook section when creating the issue, thus it auto filled the project to craftbook when clicking the button.

Thanks for the fix!

@mibby
Copy link

@mibby mibby commented on a5b3b09 May 21, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@me4502 Issue tracker still seems to be locked or something. Trying to create a new ticket in CraftBook section reports Only developers can change that field, sorry..


CraftBook dev 154
NoCheatPlus dev 111

Using the SignCopier mechanic, players throw out NoCheatPlus block place auto sign violations. Is there any way to prevent this or add compatibility through cncp?

    autosign:
      active: true
      skipempty: false
      actions: cancel vl>10 log:autosign:0:12:i cancel

@DarkArc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@me4502 I wrote a thing back when I worked on Bukkit code:
https://github.com/Skelril/Aurora/blob/master/src/main/java/com/skelril/aurora/anticheat/AntiCheatCompatibilityComponent.java

Not sure if craftbook has anything like it or any reason to not just use the exemption manager directly (assuming the APIs haven't changed that much). However, figured I'd mention it.

@me4502
Copy link
Member Author

@me4502 me4502 commented on a5b3b09 May 21, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CraftBook does have a compatibility layer.

What are you doing to make the issues? Others seem to have been able to, so just trying to work out what's been changed to cause it to give that message.

I'll have a look at adding SignCopier to the anticheat layer when I get a chance.

@wizjany
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i've been reassigning some issues from other categories. i'm not sure people can actually make them in the craftbook project atm.

@me4502
Copy link
Member Author

@me4502 me4502 commented on a5b3b09 May 21, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mibby Could you please try creating an issue again?

@mibby
Copy link

@mibby mibby commented on a5b3b09 May 22, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.