classpublicPriority 3
ConnectedBlocksModule
com.hypixel.hytale.server.core.universe.world.connectedblocks.ConnectedBlocksModule
extends JavaPlugin
0
Methods
0
Public Methods
1
Fields
1
Constructors
Constants
PluginManifestMANIFEST= PluginManifest.corePlugin(ConnectedBlocksModule.class)
.depends(EntityModule.class)
....
Constructors
public
ConnectedBlocksModule(JavaPluginInit init)Fields
Private/Package Fields (1)
private
ConnectedBlocksModule instanceInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Related Classes
Source Code
package com.hypixel.hytale.server.core.universe.world.connectedblocks;
import com.hypixel.hytale.assetstore.AssetRegistry;
import com.hypixel.hytale.assetstore.event.LoadedAssetsEvent;
import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
import com.hypixel.hytale.common.plugin.PluginManifest;
import com.hypixel.hytale.server.core.asset.HytaleAssetStore;
import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
import com.hypixel.hytale.server.core.modules.entity.EntityModule;
import com.hypixel.hytale.server.core.modules.interaction.InteractionModule;
import com.hypixel.hytale.server.core.plugin.JavaPlugin;
import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
import javax.annotation.Nonnull;
public class ConnectedBlocksModule extends JavaPlugin {
public static final PluginManifest MANIFEST = PluginManifest.corePlugin(ConnectedBlocksModule.class)
.depends(EntityModule.class)
.depends(InteractionModule.class)
.build();
private static ConnectedBlocksModule instance;
public static ConnectedBlocksModule get() {
return instance;
}
public ConnectedBlocksModule(@Nonnull JavaPluginInit init) {
super(init);
instance = this;
}
@Override
protected void setup() {
// $VF: Couldn't be decompiled
// Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
// java.lang.StackOverflowError
// at java.base/java.lang.ThreadLocal$ThreadLocalMap.getEntry(ThreadLocal.java:491)
// at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:186)
// at java.base/java.lang.ThreadLocal.get(ThreadLocal.java:171)
// at org.jetbrains.java.decompiler.main.DecompilerContext.getCurrentContext(DecompilerContext.java:67)
// at org.jetbrains.java.decompiler.main.DecompilerContext.getStructContext(DecompilerContext.java:137)
// at org.jetbrains.java.decompiler.struct.gen.generics.GenericType.getGenericSuperType(GenericType.java:667)
// at org.jetbrains.java.decompiler.modules.decompiler.exps.InvocationExprent.lambda$isMappingInBounds$18(InvocationExprent.java:1608)
// at org.jetbrains.java.decompiler.modules.decompiler.exps.InvocationExprent.lambda$isMappingInBounds$19(InvocationExprent.java:1648)
//
// Bytecode:
// 00: ldc com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomConnectedBlockTemplateAsset
// 02: new com/hypixel/hytale/assetstore/map/DefaultAssetMap
// 05: dup
// 06: invokespecial com/hypixel/hytale/assetstore/map/DefaultAssetMap.<init> ()V
// 09: invokestatic com/hypixel/hytale/server/core/asset/HytaleAssetStore.builder (Ljava/lang/Class;Lcom/hypixel/hytale/assetstore/AssetMap;)Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder;
// 0c: ldc "Item/CustomConnectedBlockTemplates"
// 0e: invokevirtual com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setPath (Ljava/lang/String;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
// 11: checkcast com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder
// 14: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomConnectedBlockTemplateAsset.getId ()Ljava/lang/String;, (Lcom/hypixel/hytale/server/core/universe/world/connectedblocks/CustomConnectedBlockTemplateAsset;)Ljava/lang/String; ]
// 19: invokevirtual com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setKeyFunction (Ljava/util/function/Function;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
// 1c: checkcast com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder
// 1f: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomConnectedBlockTemplateAsset.CODEC Lcom/hypixel/hytale/assetstore/codec/AssetBuilderCodec;
// 22: invokevirtual com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.setCodec (Lcom/hypixel/hytale/assetstore/codec/AssetCodec;)Lcom/hypixel/hytale/assetstore/AssetStore$Builder;
// 25: checkcast com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder
// 28: invokevirtual com/hypixel/hytale/server/core/asset/HytaleAssetStore$Builder.build ()Lcom/hypixel/hytale/server/core/asset/HytaleAssetStore;
// 2b: invokestatic com/hypixel/hytale/assetstore/AssetRegistry.register (Lcom/hypixel/hytale/assetstore/AssetStore;)Lcom/hypixel/hytale/assetstore/AssetStore;
// 2e: pop
// 2f: aload 0
// 30: invokevirtual com/hypixel/hytale/server/core/universe/world/connectedblocks/ConnectedBlocksModule.getEventRegistry ()Lcom/hypixel/hytale/event/EventRegistry;
// 33: ldc com/hypixel/hytale/assetstore/event/LoadedAssetsEvent
// 35: ldc com/hypixel/hytale/server/core/asset/type/blocktype/config/BlockType
// 37: invokedynamic accept ()Ljava/util/function/Consumer; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)V, com/hypixel/hytale/server/core/universe/world/connectedblocks/ConnectedBlocksModule.onBlockTypesChanged (Lcom/hypixel/hytale/assetstore/event/LoadedAssetsEvent;)V, (Lcom/hypixel/hytale/assetstore/event/LoadedAssetsEvent;)V ]
// 3c: invokevirtual com/hypixel/hytale/event/EventRegistry.register (Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/Consumer;)Lcom/hypixel/hytale/event/EventRegistration;
// 3f: pop
// 40: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomTemplateConnectedBlockPattern.CODEC Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 43: ldc "Custom"
// 45: ldc com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomConnectedBlockPattern
// 47: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomConnectedBlockPattern.CODEC Lcom/hypixel/hytale/codec/builder/BuilderCodec;
// 4a: invokevirtual com/hypixel/hytale/codec/lookup/CodecMapCodec.register (Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 4d: pop
// 4e: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/ConnectedBlockRuleSet.CODEC Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 51: ldc "CustomTemplate"
// 53: ldc com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomTemplateConnectedBlockRuleSet
// 55: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/CustomTemplateConnectedBlockRuleSet.CODEC Lcom/hypixel/hytale/codec/builder/BuilderCodec;
// 58: invokevirtual com/hypixel/hytale/codec/lookup/CodecMapCodec.register (Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 5b: pop
// 5c: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/ConnectedBlockRuleSet.CODEC Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 5f: ldc "Stair"
// 61: ldc com/hypixel/hytale/server/core/universe/world/connectedblocks/builtin/StairConnectedBlockRuleSet
// 63: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/builtin/StairConnectedBlockRuleSet.CODEC Lcom/hypixel/hytale/codec/builder/BuilderCodec;
// 66: invokevirtual com/hypixel/hytale/codec/lookup/CodecMapCodec.register (Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 69: pop
// 6a: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/ConnectedBlockRuleSet.CODEC Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 6d: ldc "Roof"
// 6f: ldc com/hypixel/hytale/server/core/universe/world/connectedblocks/builtin/RoofConnectedBlockRuleSet
// 71: getstatic com/hypixel/hytale/server/core/universe/world/connectedblocks/builtin/RoofConnectedBlockRuleSet.CODEC Lcom/hypixel/hytale/codec/builder/BuilderCodec;
// 74: invokevirtual com/hypixel/hytale/codec/lookup/CodecMapCodec.register (Ljava/lang/String;Ljava/lang/Class;Lcom/hypixel/hytale/codec/Codec;)Lcom/hypixel/hytale/codec/lookup/CodecMapCodec;
// 77: pop
// 78: return
}
private static void onBlockTypesChanged(@Nonnull LoadedAssetsEvent<String, BlockType, BlockTypeAssetMap<String, BlockType>> event) {
for (BlockType blockType : event.getLoadedAssets().values()) {
ConnectedBlockRuleSet ruleSet = blockType.getConnectedBlockRuleSet();
if (ruleSet != null) {
ruleSet.updateCachedBlockTypes(blockType, event.getAssetMap());
}
}
}
}