Skip to content

Commit 120de45

Browse files
committed
Update to 1.18
1 parent 53c300a commit 120de45

17 files changed

+59
-57
lines changed

build.gradle

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
plugins {
2-
id 'fabric-loom' version '0.8-SNAPSHOT'
2+
id 'fabric-loom' version '0.10-SNAPSHOT'
33
id 'maven-publish'
44
}
55

6-
sourceCompatibility = JavaVersion.VERSION_16
7-
targetCompatibility = JavaVersion.VERSION_16
6+
sourceCompatibility = JavaVersion.VERSION_17
7+
targetCompatibility = JavaVersion.VERSION_17
88

99
archivesBaseName = project.archives_base_name
1010
version = project.mod_version
@@ -27,10 +27,9 @@ dependencies {
2727
modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config_version}") {
2828
exclude(group: "net.fabricmc.fabric-api")
2929
}
30-
3130
modApi("com.terraformersmc:modmenu:${project.modmenu_version}")
3231

33-
modImplementation('net.kyrptonaught:quickshulker:1.2.2-1.17')
32+
//modImplementation('net.kyrptonaught:quickshulker:1.2.2-1.17')
3433
}
3534

3635
processResources {
@@ -46,7 +45,7 @@ processResources {
4645
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
4746
tasks.withType(JavaCompile) {
4847
options.encoding = "UTF-8"
49-
it.options.release = 16
48+
it.options.release = 17
5049
}
5150

5251
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task

gradle.properties

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
org.gradle.jvmargs=-Xmx2G
33

44
# Fabric Properties
5-
minecraft_version=1.17.1
6-
yarn_mappings=1.17.1+build.64
7-
loader_version=0.12.5
5+
minecraft_version=1.18
6+
yarn_mappings=1.18+build.1
7+
loader_version=0.12.6
88

99
# Mod Properties
10-
mod_version=2.3.0
10+
mod_version=2.4.0-1.18.0
1111
maven_group=de.dafuqs.lootcrates
1212
archives_base_name=ModularLootcrates
1313

1414
# Dependencies
15-
fabric_version=0.42.1+1.17
15+
fabric_version=0.43.1+1.18
1616
cloth_config_version=5.0.34
1717
modmenu_version=2.0.2
+5-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip
4+
zipStoreBase=GRADLE_USER_HOME
5+
zipStorePath=wrapper/dists

src/main/java/de/dafuqs/lootcrates/LootCrateDefinition.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import net.fabricmc.api.Environment;
77
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
88
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
9-
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
109
import net.minecraft.block.MapColor;
1110
import net.minecraft.block.Material;
1211
import net.minecraft.client.util.SpriteIdentifier;
@@ -91,7 +90,7 @@ public FabricItemSettings getBlockItemSettings() {
9190
}
9291

9392
public FabricBlockSettings getChestBlockSettings() {
94-
FabricBlockSettings blockSettings = FabricBlockSettings.of(Material.METAL, mapColor).luminance(luminance).breakByTool(FabricToolTags.PICKAXES);
93+
FabricBlockSettings blockSettings = FabricBlockSettings.of(Material.METAL, mapColor).luminance(luminance);
9594

9695
if(LootCrates.CONFIG.ChestCrateHardness < 0) {
9796
blockSettings = blockSettings.strength(-1.0F, 3600000.0F).dropsNothing();
@@ -110,7 +109,7 @@ public FabricBlockSettings getChestBlockSettings() {
110109
}
111110

112111
public FabricBlockSettings getShulkerBlockSettings() {
113-
FabricBlockSettings blockSettings = FabricBlockSettings.of(Material.SHULKER_BOX, mapColor).luminance(luminance).breakByTool(FabricToolTags.PICKAXES);
112+
FabricBlockSettings blockSettings = FabricBlockSettings.of(Material.SHULKER_BOX, mapColor).luminance(luminance);
114113

115114
if(LootCrates.CONFIG.ShulkerCrateHardness < 0) {
116115
blockSettings = blockSettings.strength(-1.0F, 3600000.0F).dropsNothing();
@@ -126,7 +125,7 @@ public FabricBlockSettings getShulkerBlockSettings() {
126125
}
127126

128127
public FabricBlockSettings getLootBarrelBlockSettings() {
129-
FabricBlockSettings blockSettings = FabricBlockSettings.of(Material.WOOD, mapColor).luminance(luminance).breakByTool(FabricToolTags.PICKAXES);
128+
FabricBlockSettings blockSettings = FabricBlockSettings.of(Material.WOOD, mapColor).luminance(luminance);
130129

131130
if(LootCrates.CONFIG.LootBarrelHardness < 0) {
132131
blockSettings = blockSettings.strength(-1.0F, 3600000.0F).dropsNothing();

src/main/java/de/dafuqs/lootcrates/LootCrates.java

+14-12
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import net.minecraft.util.math.Position;
3131
import net.minecraft.util.math.Vec3d;
3232
import net.minecraft.util.registry.Registry;
33+
import org.apache.logging.log4j.Level;
3334
import org.apache.logging.log4j.LogManager;
3435
import org.apache.logging.log4j.Logger;
3536

@@ -38,7 +39,7 @@
3839
public class LootCrates implements ModInitializer {
3940

4041
public static final String MOD_ID = "lootcrates";
41-
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
42+
private static final Logger LOGGER = LogManager.getLogger(MOD_ID);
4243
public static LootCratesConfig CONFIG;
4344

4445
public static final ItemGroup ITEM_GROUP = FabricItemGroupBuilder.build(
@@ -86,12 +87,12 @@ public class LootCrates implements ModInitializer {
8687
public void onInitialize() {
8788

8889
// Config
89-
LOGGER.info("[LootCrates] Loading config...");
90+
log(Level.INFO, "Loading config...");
9091
AutoConfig.register(LootCratesConfig.class, JanksonConfigSerializer::new);
9192
CONFIG = AutoConfig.getConfigHolder(LootCratesConfig.class).getConfig();
9293

9394
// All the different types of crates
94-
LOGGER.info("[LootCrates] Loading crate definitions...");
95+
log(Level.INFO, "Loading crate definitions...");
9596
LootCrateDefinition commonLootCrate = new LootCrateDefinition(LootCrateRarity.COMMON, Rarity.COMMON, MapColor.DIRT_BROWN, 0, false, false);
9697
LootCrateDefinition uncommonLootCrate = new LootCrateDefinition(LootCrateRarity.UNCOMMON, Rarity.UNCOMMON, MapColor.YELLOW, 0, false, false);
9798
LootCrateDefinition rareLootCrate = new LootCrateDefinition(LootCrateRarity.RARE, Rarity.RARE, MapColor.BLUE, 0, false, false);
@@ -113,22 +114,23 @@ public void onInitialize() {
113114

114115
// The block entity type
115116
LootCratesBlockEntityType.register();
116-
117-
LOGGER.info("[LootCrates] Registering sounds...");
117+
118+
log(Level.INFO, "Registering sounds...");
118119
Registry.register(Registry.SOUND_EVENT, CHEST_UNLOCKS_SOUND_ID, CHEST_UNLOCKS_SOUND_EVENT);
119-
120-
LOGGER.info("[LootCrates] Loading LootCratesWorldgenSettings.json...");
121-
120+
121+
log(Level.INFO, "Loading LootCratesWorldgenSettings.json and registering the replacer");
122122
LootCratesWorldgenReplacer.initialize();
123-
124-
LOGGER.info("[LootCrates] Finished LootCratesWorldgenSettings.json...");
125-
126123
if(CONFIG.ReplaceVanillaWorldgenChests) {
127124
ServerTickEvents.END_SERVER_TICK.register(server -> {
128125
LootCratesWorldgenReplacer.tick(server);
129126
});
130127
}
131128

132-
LOGGER.info("[LootCrates] Finished!");
129+
log(Level.INFO, "Finished!");
130+
}
131+
132+
public static void log(Level logLevel, String message) {
133+
LOGGER.log(logLevel, "[LootCrates] " + message);
133134
}
135+
134136
}

src/main/java/de/dafuqs/lootcrates/blocks/LootCrateBlock.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable Livi
145145

146146
@Override
147147
public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) {
148-
world.getBlockTickScheduler().schedule(pos, this, getRandomTickTime(world.random));
148+
world.createAndScheduleBlockTick(pos, this, getRandomTickTime(world.random));
149149

150150
BlockEntity blockEntity = world.getBlockEntity(pos);
151151
if (blockEntity instanceof LootCrateBlockEntity) {
@@ -175,7 +175,7 @@ public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState
175175
ScheduledTickEvent scheduledTickEvent = ((LootCrateBlockEntity) blockEntity).getRandomTickEvent();
176176

177177
if(scheduledTickEvent != ScheduledTickEvent.NONE) {
178-
world.getBlockTickScheduler().schedule(pos, this, getRandomTickTime(world.random));
178+
world.createAndScheduleBlockTick(pos, this, getRandomTickTime(world.random));
179179
}
180180
}
181181
}

src/main/java/de/dafuqs/lootcrates/blocks/LootCrateBlockEntity.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,11 @@ protected LootCrateBlockEntity(BlockEntityType<?> blockEntityType, BlockPos bloc
6868
}
6969

7070
@Override
71-
public NbtCompound writeNbt(NbtCompound tag) {
71+
public void writeNbt(NbtCompound tag) {
7272
super.writeNbt(tag);
7373

7474
Inventories.writeNbt(tag, this.inventory, false);
75-
tag = addLootCrateBlockTags(tag);
76-
77-
return tag;
75+
addLootCrateBlockTags(tag);
7876
}
7977

8078
@Override

src/main/java/de/dafuqs/lootcrates/blocks/shulker/ShulkerLootCrateBlock.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ private static boolean canOpen(BlockState state, World world, BlockPos pos, Shul
9696
if (entity.getAnimationStage() != ShulkerBoxBlockEntity.AnimationStage.CLOSED) {
9797
return true;
9898
} else {
99-
Box box = ShulkerEntity.method_33347(state.get(FACING), 0.0F, 0.5F).offset(pos).contract(1.0E-6D);
99+
Box box = ShulkerEntity.calculateBoundingBox(state.get(FACING), 0.0F, 0.5F).offset(pos).contract(1.0E-6D);
100100
return world.isSpaceEmpty(box);
101101
}
102102
}

src/main/java/de/dafuqs/lootcrates/blocks/shulker/ShulkerLootCrateBlockEntity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ private void updateAnimation(World world, BlockPos pos, BlockState state) {
9999
private void pushEntities(World world, BlockPos pos, BlockState state) {
100100
if (state.getBlock() instanceof ShulkerLootCrateBlock) {
101101
Direction direction = state.get(ShulkerBoxBlock.FACING);
102-
Box box = ShulkerEntity.method_33347(direction, this.prevAnimationProgress, this.animationProgress).offset(pos);
102+
Box box = ShulkerEntity.calculateBoundingBox(direction, this.prevAnimationProgress, this.animationProgress).offset(pos);
103103
List<Entity> list = world.getOtherEntities(null, box);
104104
if (!list.isEmpty()) {
105105
for (Entity entity : list) {

src/main/java/de/dafuqs/lootcrates/compat/QuickShulkerCompat.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package de.dafuqs.lootcrates.compat;
1+
/*package de.dafuqs.lootcrates.compat;
22
33
import de.dafuqs.lootcrates.LootCrateAtlas;
44
import de.dafuqs.lootcrates.LootCrates;
@@ -237,4 +237,4 @@ public void saveNbtToStack(ItemStack stack, long lastReplenishTimeTick, boolean
237237
}
238238
}
239239
}
240-
}
240+
}*/

src/main/java/de/dafuqs/lootcrates/items/LootBagItem.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,9 @@ public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand han
9191
public List<ItemStack> getLootTableContents(ServerPlayerEntity player, ItemStack lootBagItemStack) {
9292
Identifier lootTableId = getLootTableIdentifier(lootBagItemStack);
9393
if(lootTableId != null) {
94-
LootTable lootTable = player.getServerWorld().getServer().getLootManager().getTable(lootTableId);
94+
LootTable lootTable = player.getWorld().getServer().getLootManager().getTable(lootTableId);
9595
if(lootTable != null) {
96-
LootContext.Builder builder = (new LootContext.Builder(player.getServerWorld()).parameter(LootContextParameters.ORIGIN, player.getPos())).random(getLootTableSeed(lootBagItemStack));
96+
LootContext.Builder builder = (new LootContext.Builder(player.getWorld()).parameter(LootContextParameters.ORIGIN, player.getPos())).random(getLootTableSeed(lootBagItemStack));
9797
builder.luck(player.getLuck()).parameter(LootContextParameters.THIS_ENTITY, player);
9898
return lootTable.generateLoot(builder.build(LootContextTypes.CHEST));
9999
}
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package de.dafuqs.lootcrates.mixin;
22

33
import net.minecraft.world.HeightLimitView;
4-
import net.minecraft.world.chunk.ProtoChunk;
4+
import net.minecraft.world.chunk.Chunk;
55
import org.spongepowered.asm.mixin.Mixin;
66
import org.spongepowered.asm.mixin.gen.Accessor;
77

8-
@Mixin(ProtoChunk.class)
9-
public interface ProtoChunkAccessor {
8+
@Mixin(Chunk.class)
9+
public interface ChunkAccessor {
1010

11-
@Accessor("world")
11+
@Accessor("heightLimitView")
1212
HeightLimitView getWorld();
1313

1414
}

src/main/java/de/dafuqs/lootcrates/mixin/LootableContainerBlockEntityMixin.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import net.minecraft.world.HeightLimitView;
1717
import net.minecraft.world.World;
1818
import net.minecraft.world.chunk.ProtoChunk;
19-
import org.apache.logging.log4j.core.jmx.Server;
2019
import org.spongepowered.asm.mixin.Mixin;
2120
import org.spongepowered.asm.mixin.injection.At;
2221
import org.spongepowered.asm.mixin.injection.Inject;
@@ -32,7 +31,7 @@ private static void noteChestForLootCrateConversion(BlockView world, Random rand
3231
if(LootCrates.CONFIG.ReplaceVanillaWorldgenChests) {
3332
RegistryKey<World> worldRegistryKey;
3433
if(world instanceof ProtoChunk protoChunk) {
35-
ProtoChunkAccessor protoChunkAccessor = ((ProtoChunkAccessor) protoChunk);
34+
ChunkAccessor protoChunkAccessor = ((ChunkAccessor) protoChunk);
3635
HeightLimitView heightLimitView = protoChunkAccessor.getWorld();
3736
if(heightLimitView instanceof ChunkRegion chunkRegion) {
3837
worldRegistryKey = chunkRegion.toServerWorld().getRegistryKey();

src/main/java/de/dafuqs/lootcrates/worldgen/LootCrateReplacementEntry.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package de.dafuqs.lootcrates.worldgen;
22

3-
import blue.endless.jankson.annotation.Nullable;
43
import de.dafuqs.lootcrates.enums.LootCrateRarity;
54
import net.minecraft.util.Identifier;
5+
import org.jetbrains.annotations.Nullable;
66

77
public class LootCrateReplacementEntry {
88

@@ -23,4 +23,5 @@ public LootCrateReplacementEntry(@Nullable LootCrateRarity lootCrateRarity, @Nul
2323
this.lockType = lockType;
2424
this.weight = weight;
2525
}
26+
2627
}

src/main/java/de/dafuqs/lootcrates/worldgen/LootCratesWorldgenReplacer.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ public static void initialize() {
203203

204204
configReader = new FileReader(configFile);
205205
} catch (IOException ioException) {
206-
LootCrates.LOGGER.log(Level.ERROR, "[LootCrates] Could not generate config file under " + configFile.getAbsolutePath() + ".\n" + ioException.getLocalizedMessage());
206+
LootCrates.log(Level.ERROR, "Could not generate config file under " + configFile.getAbsolutePath() + ".\n" + ioException.getLocalizedMessage());
207207
return;
208208
}
209209
}
@@ -212,7 +212,7 @@ public static void initialize() {
212212
try {
213213
jsonElement = (JsonElement) JsonHelper.deserialize(GSON, configReader, (Class) JsonElement.class);
214214
} catch (Exception e) {
215-
LootCrates.LOGGER.error("[LootCrates] Could not parse the LootCratesWorldgenSettings.json5: " + e.getLocalizedMessage());
215+
LootCrates.log(Level.ERROR, "Could not parse the LootCratesWorldgenSettings.json5: " + e.getLocalizedMessage());
216216
return;
217217
}
218218

@@ -291,7 +291,7 @@ public static void tick(MinecraftServer server) {
291291
try {
292292
blockEntity = serverWorld.getBlockEntity(replacementPosition.blockPos);
293293
} catch (Exception e) {
294-
LootCrates.LOGGER.error("[LootCrates] Error while replacing a container with loot table '" + replacementPosition.lootTable + "' in the world '" + replacementPosition.worldKey + "' at '" + replacementPosition.blockPos + "' ) + " + e.getLocalizedMessage());
294+
LootCrates.log(Level.ERROR, "Error while replacing a container with loot table '" + replacementPosition.lootTable + "' in the world '" + replacementPosition.worldKey + "' at '" + replacementPosition.blockPos + "' ) + " + e.getLocalizedMessage());
295295
continue;
296296
}
297297
if(blockEntity != null && !(blockEntity instanceof LootCrateBlockEntity)) {
@@ -344,7 +344,7 @@ public static void tick(MinecraftServer server) {
344344
}
345345
}
346346
} catch (Exception e) {
347-
LootCrates.LOGGER.error("[LootCrates] Error while replacing a container with loot table '" + replacementPosition.lootTable + "' in the world '" + replacementPosition.worldKey + "' at '" + replacementPosition.blockPos + "') + " + e.getLocalizedMessage());
347+
LootCrates.log(Level.ERROR, "Error while replacing a container with loot table '" + replacementPosition.lootTable + "' in the world '" + replacementPosition.worldKey + "' at '" + replacementPosition.blockPos + "') + " + e.getLocalizedMessage());
348348
}
349349
}
350350
}

src/main/resources/fabric.mod.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
"lootcrates.mixins.json"
3333
],
3434
"depends": {
35-
"fabricloader": ">=0.11.3",
36-
"minecraft": ">=1.17.0",
37-
"fabric": ">=0.36.0",
35+
"minecraft": ">=1.18.0",
36+
"fabricloader": ">=0.12.6",
37+
"fabric": "*",
3838
"cloth-config2": ">=5.0.34"
3939
},
4040
"suggests": {

src/main/resources/lootcrates.mixins.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
"required": true,
33
"minVersion": "0.8",
44
"package": "de.dafuqs.lootcrates.mixin",
5-
"compatibilityLevel": "JAVA_16",
5+
"compatibilityLevel": "JAVA_17",
66
"mixins": [
77
"BlockEntityMixin",
8+
"ChunkAccessor",
89
"LootableContainerBlockEntityMixin",
9-
"LootTableAccessor",
10-
"ProtoChunkAccessor"
10+
"LootTableAccessor"
1111
],
1212
"client": [
1313
],

0 commit comments

Comments
 (0)